Compare commits

...

10 Commits

Author SHA1 Message Date
54f85c888d ABI changes for Quik.FreeType 2024-04-04 22:28:43 +03:00
Ben Wanger
f42ce25563 [colr] Ensure enough bytes for PaintColrLayers
* src/sfnt/ttcolr.c (read_paint): check that there are five additional
bytes to be read when reading PaintColrLayers.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66566
2024-03-08 14:55:12 -05:00
Ben Wagner
17545d4bf7 Avoid n^2 scanning for binary data.
When creating a CID parser the location of the 'StartData' or '/sfnts'
tokens needs to be known.  However, the token parser requires that the
entire document be in memory and flattening the entire stream into memory is
to be avoided.

To avoid forcing the entire stream into memory, previously this code would
scan through the stream looking for 'StartData' or '/sfnts' as strings.
However, these strings could have been in a comment or string token, so the
stream would be read into memory up to that point and the parser run to
check that these strings were actually tokens.  This forced a parser restart
from the beginning each time; as a result, data with many 'StartData'
non-tokens would take n^2 time to check.

* src/cid/cidparse.c (cid_parser_new): Change algorithm to make the initial
scan look for the last possible 'StartData' or '/sfnts' string in the
stream.  The stream is read forward instead of backward as a typical normal
CID font will have one 'StartData' toward the beginning of the data and it
it much faster to read the data from beginning to end instead of end to
beginning.  For memory-based fonts the limit is set to the end of the stream
since the stream is already in memory.  Then the parser is run once to look
for 'StartData' or '/sfnts' tokens.  If they are found the parser is re-set
to reflect this new information.

Reported as

  https://issues.chromium.org/issues/40201695
2024-03-08 17:47:43 +01:00
Alexei Podtelezhnikov
660a7017fa * CMakeLists.txt: Bump required version to 3.5.
Fixes #1267.
2024-03-06 20:08:04 +00:00
Jordan Williams
2cc589043e
meson: Use the standard dependency mechanism to find bzip2
This follows standard conventions in Meson by using the pkg-config file.
This change allows Conan to switch to the Meson build system.
2024-03-04 12:46:19 -06:00
Ben Wanger
2a790a9f49 [cff, truetype] Always set up default variable instance.
For default variable instances `cff_face_init` did not set the blend.  This
mostly worked as later use of the unset blend produced the default
variation.  However, if a user called `TT_Get_MM_Var` the blend would be
partially set up, but not fully.  In particular the number of axes, the axis
definitions, and the instance locations would be set up, but not the current
instance location (`coords` and `normalizedcoords`).  This could lead to the
default instances of CFF2 fonts erroring on any use of `blend`.

Ensure the default variable instance is fully set up by always calling
`FT_Set_Named_Instance` on a variable face.

* src/cff/cffobjs.c (cff_face_init): Call `FT_Set_Named_Instance` on
default instances.
* src/truetype/ttobjs.c (tt_face_init): Ditto.

Fixes #1268.
2024-02-29 07:06:46 +01:00
Werner Lemberg
546237e1bb * src/truetype/ttgxvar.c (ft_var_to_normalized): Integer overflow.
Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66543
2024-02-23 11:55:53 +01:00
Alexei Podtelezhnikov
47574f7ea4 Update all copyright notices. 2024-01-27 11:11:22 -05:00
Alexei Podtelezhnikov
4f0256c13f * src/sfnt/ttgpos.c (tt_gpos_get_glyph_class): Fix warning C4018. 2024-01-27 10:47:10 -05:00
David Saltzman
8f286c86ef Add support for kerning from 'GPOS' tables.
This commit adds support for kerning from 'GPOS' tables, while maintaining
support for basic 'kern' tables.  `FT_HAS_KERNING` will be true for a font
with either available and `FT_Get_Kerning` will still use the basic 'kern'
table data if avilable, otherwise check the GPOS 'kern' feature.

This feature is disabled by default; it can be enabled with the
`TT_CONFIG_OPTION_GPOS_KERNING` flag.

Only basic kerning (pair positioning with just an x advance) is supported
from the GPOS layout features; support for that was added to make the
existing `FT_Get_Kerning` API more consistently functional.  FreeType does
not intend to extend itself to further GPOS functionality though; a
higher-level library like HarfBuzz can be used instead for that.

* include/freetype/config/ftoption.h, include/devel/ftoption.h
(TT_CONFIG_OPTION_GPOS_KERNING): New configuration option.

* include/freetype/internal/fttrace.h: Add `ttgpos` trace handler.

* include/freetype/internal/sfnt.h (SFNT_Interface): Add `load_gpos` and
`get_gpos_kerning` fields.
(FT_DEFINE_SFNT_INTERFACE): Updated.

* include/freetype/internal/tttypes.h: Include `fttypes.h`.
(TT_FaceRec) [TT_CONFIG_OPTION_GPOS_KERNING]: Add `gpos_table` and
`gpos_kerning_available` fields.

* src/sfnt/ttgpos.c, src/sfnt/ttgpos.h: New files.

* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_GPOS_KERNING]: Include `ttgpos.h`.
(sfnt_interface): Updated.

* src/sfnt/sfnt.c: Include `ttgpos.c`.

* src/sfnt/sfobjs.c [TT_CONFIG_OPTION_GPOS_KERNING]: Include `ttgpos.h`.
(sfnt_load_face) [TT_CONFIG_OPTION_GPOS_KERNING]: Load and free GPOS kerning
data; check GPOS kerning availability.

* src/truetype/ttdriver.c (tt_get_kerning): Use GPOS kerning if there's no
'kern' table.
2024-01-27 10:55:04 +01:00
582 changed files with 1433 additions and 623 deletions

@ -1,6 +1,6 @@
# CMakeLists.txt
#
# Copyright (C) 2013-2023 by
# Copyright (C) 2013-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written originally by John Cary <cary@txcorp.com>
@ -110,7 +110,7 @@
# To minimize the number of cmake_policy() workarounds,
# CMake >= 3 is requested.
cmake_minimum_required(VERSION 3.0)
cmake_minimum_required(VERSION 3.0...3.5)
if (NOT CMAKE_VERSION VERSION_LESS 3.3)
# Allow symbol visibility settings also on static libraries. CMake < 3.3

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

2
README

@ -94,7 +94,7 @@ Enjoy!
----------------------------------------------------------------------
Copyright (C) 2006-2023 by
Copyright (C) 2006-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -89,7 +89,7 @@ address:
----------------------------------------------------------------------
Copyright (C) 2005-2023 by
Copyright (C) 2005-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (C) 2005-2023 by
# Copyright (C) 2005-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,7 +1,7 @@
README for the builds/amiga subdirectory.
Copyright (C) 2005-2023 by
Copyright (C) 2005-2024 by
Werner Lemberg and Detlef Würkner.
This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
/* */
/* Amiga-specific configuration file (specification only). */
/* */
/* Copyright (C) 2005-2023 by */
/* Copyright (C) 2005-2024 by */
/* Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */

@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType module selection. */
/* */
/* Copyright (C) 2005-2023 by */
/* Copyright (C) 2005-2024 by */
/* Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */

@ -5,7 +5,7 @@
#
# Copyright (C) 2005-2023 by
# Copyright (C) 2005-2024 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
#
# Copyright (C) 2005-2023 by
# Copyright (C) 2005-2024 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 2005-2023 by
# Copyright (C) 2005-2024 by
# Werner Lemberg and Detlef Würkner.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
*
* Debugging and logging component for amiga (body).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner.
*
* This file is part of the FreeType project, and may only be used,

@ -4,7 +4,7 @@
/* */
/* Amiga-specific FreeType low-level system interface (body). */
/* */
/* Copyright (C) 1996-2023 by */
/* Copyright (C) 1996-2024 by */
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
/* */
/* This file is part of the FreeType project, and may only be used, */

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -5,7 +5,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -2,7 +2,7 @@
# FreeType 2 configuration rules for a BeOS system
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
# FindBrotliDec.cmake
#
# Copyright (C) 2019-2023 by
# Copyright (C) 2019-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written by Werner Lemberg <wl@gnu.org>

@ -1,6 +1,6 @@
# iOS.cmake
#
# Copyright (C) 2014-2023 by
# Copyright (C) 2014-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# Written by David Wimsey <david@wimsey.us>

@ -1,6 +1,6 @@
#!/bin/sh -e
# Copyright (C) 2015-2023 by
# Copyright (C) 2015-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 2003-2023 by
# Copyright (C) 2003-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 2003-2023 by
# Copyright (C) 2003-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 2003-2023 by
# Copyright (C) 2003-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 2005-2023 by
# Copyright (C) 2005-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -5,7 +5,7 @@
/* Mac FOND support. Written by just@letterror.com. */
/* Heavily Fixed by mpsuzuki, George Williams and Sean McBride */
/* */
/* Copyright (C) 1996-2023 by */
/* Copyright (C) 1996-2024 by */
/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */

@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2020-2023 by
# Copyright (C) 2020-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2020-2023 by
# Copyright (C) 2020-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2020-2023 by
# Copyright (C) 2020-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2020-2023 by
# Copyright (C) 2020-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright (C) 2020-2023 by
# Copyright (C) 2020-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -5,7 +5,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -2,7 +2,7 @@
// FreeType 2 project for the symbian platform
//
// Copyright (C) 2008-2023 by
// Copyright (C) 2008-2024 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,

@ -2,7 +2,7 @@
// FreeType 2 makefile for the symbian platform
//
// Copyright (C) 2008-2023 by
// Copyright (C) 2008-2024 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -2,7 +2,7 @@
#
# Process this file with autoconf to produce a configure script.
#
# Copyright (C) 2001-2023 by
# Copyright (C) 2001-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
#! /bin/sh
#
# Copyright (C) 2000-2023 by
# Copyright (C) 2000-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,7 +1,7 @@
# Configure paths for FreeType2
# Marcelo Magallon 2001-10-26, based on `gtk.m4` by Owen Taylor
#
# Copyright (C) 2001-2023 by
# Copyright (C) 2001-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -1,6 +1,6 @@
## FreeType specific autoconf tests
#
# Copyright (C) 2002-2023 by
# Copyright (C) 2002-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
*
* UNIX-specific configuration file (specification only).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -4,7 +4,7 @@
*
* Unix-specific FreeType low-level system interface (body).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -2,7 +2,7 @@
# FreeType 2 template for Unix-specific compiler definitions
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -6,7 +6,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -6,7 +6,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
*
* VMS-specific configuration file (specification only).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -4,7 +4,7 @@
/* */
/* VMS-specific FreeType low-level system interface (body). */
/* */
/* Copyright (C) 1996-2023 by */
/* Copyright (C) 1996-2024 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */

@ -4,7 +4,7 @@
*
* Debugging and logging component for WinCE (body).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
*
* Debugging and logging component for Win32 (body).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -4,7 +4,7 @@
*
* Windows-specific FreeType low-level system interface (body).
*
* Copyright (C) 2021-2023 by
* Copyright (C) 2021-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -5,7 +5,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -3,7 +3,7 @@
#
# Copyright (C) 1996-2023 by
# Copyright (C) 1996-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

2
configure vendored

@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2002-2023 by
# Copyright (C) 2002-2024 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,

@ -4,7 +4,7 @@
*
* FreeType 2 build and setup macros (development version).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,

@ -4,7 +4,7 @@
*
* User-selectable configuration macros (specification only).
*
* Copyright (C) 1996-2023 by
* Copyright (C) 1996-2024 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used,
@ -757,6 +757,22 @@ FT_BEGIN_HEADER
#endif
/**************************************************************************
*
* Option `TT_CONFIG_OPTION_GPOS_KERNING` enables a basic GPOS kerning
* implementation (for TrueType fonts only). With this defined, FreeType
* is able to get kerning pair data from the GPOS 'kern' feature as well as
* legacy 'kern' tables; without this defined, FreeType will only be able
* to use legacy 'kern' tables.
*
* Note that FreeType does not support more advanced GPOS layout features;
* even the 'kern' feature implemented here doesn't handle more
* sophisticated kerning variants. Use a higher-level library like
* HarfBuzz instead for that.
*/
#define TT_CONFIG_OPTION_GPOS_KERNING
/*************************************************************************/
/*************************************************************************/
/**** ****/

@ -11,6 +11,16 @@ CHANGES BETWEEN 2.13.2 and 2.13.3 (202Y-Mmm-DD)
large performance improvement. The rendering speed has increased
and even doubled for very complex glyphs.
- If the new configuration option `TT_CONFIG_OPTION_GPOS_KERNING` is
defined, `FT_Get_Kerning` understands rudimentary GPOS kerning
(for TrueType fonts only). This is not enabled by default since
its usage is very limited, mainly for legacy applications that
have to support TrueType fonts automatically converted from 'kern'
tables to GPOS kerning. If you need proper (GPOS) kerning support
please use a higher-level library like HarfBuzz.
Code contributed by David Saltzman <davidbsaltzman@gmail.com>.
======================================================================
@ -5684,7 +5694,7 @@ Extensions support:
------------------------------------------------------------------------
Copyright (C) 2000-2023 by
Copyright (C) 2000-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -139,7 +139,7 @@ IV. Overriding default configuration and module headers
----------------------------------------------------------------------
Copyright (C) 2003-2023 by
Copyright (C) 2003-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -297,7 +297,7 @@ to access them.
------------------------------------------------------------------------
Copyright (C) 2002-2023 by
Copyright (C) 2002-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -285,7 +285,7 @@ is converted to
----------------------------------------------------------------------
Copyright (C) 2018-2023 by
Copyright (C) 2018-2024 by
Nikhil Ramakrishnan, David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -101,7 +101,7 @@ III. Custom builds of the library
----------------------------------------------------------------------
Copyright (C) 2000-2023 by
Copyright (C) 2000-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -144,7 +144,7 @@ II. Support for flat-directory compilation
----------------------------------------------------------------------
Copyright (C) 2003-2023 by
Copyright (C) 2003-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -163,7 +163,7 @@ procedure.
----------------------------------------------------------------------
Copyright (C) 2006-2023 by
Copyright (C) 2006-2024 by
suzuki toshiya, David Turner, Robert Wilhelm, and Werner Lemberg.

@ -168,7 +168,7 @@ instructions in the file `INSTALL.UNIX' instead.
----------------------------------------------------------------------
Copyright (C) 2003-2023 by
Copyright (C) 2003-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

@ -126,7 +126,7 @@ or MSys on Win32:
----------------------------------------------------------------------
Copyright (C) 2003-2023 by
Copyright (C) 2003-2024 by
David Turner, Robert Wilhelm, and Werner Lemberg.
This file is part of the FreeType project, and may only be used,

Some files were not shown because too many files have changed in this diff Show More