Skip to content

Commit

Permalink
freetype 2025-01-01 (829e4757)
Browse files Browse the repository at this point in the history
Code extracted from:

    https://gitlab.kitware.com/third-party/freetype.git

at commit 829e475750d787a4d1a2915f1a84da96781b5b8d (for/vtk-20250101-2.13.3).
  • Loading branch information
kwrobot authored and jspanchu committed Jan 1, 2025
1 parent 876f863 commit 5dce815
Show file tree
Hide file tree
Showing 442 changed files with 20,564 additions and 11,631 deletions.
6 changes: 5 additions & 1 deletion LICENSE.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,16 @@ The contributed BDF and PCF drivers come with a license similar to
that of the X Window System. It is compatible to the above two
licenses (see files `src/bdf/README` and `src/pcf/README`). The same
holds for the source code files `src/base/fthash.c` and
`include/freetype/internal/fthash.h`; they wer part of the BDF driver
`include/freetype/internal/fthash.h`; they were part of the BDF driver
in earlier FreeType versions.

The gzip module uses the zlib license (see `src/gzip/zlib.h`) which
too is compatible to the above two licenses.

The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code
taken almost verbatim from the HarfBuzz file `hb-ft.cc`, which uses
the 'Old MIT' license, compatible to the above two licenses.

The MD5 checksum support (only used for debugging in development
builds) is in the public domain.

Expand Down
14 changes: 8 additions & 6 deletions README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FreeType 2.12.0
FreeType 2.13.3
===============

Homepage: https://www.freetype.org
Expand All @@ -16,7 +16,9 @@ Read the files `docs/INSTALL*` for installation instructions; see the
file `docs/LICENSE.TXT` for the available licenses.

For using FreeType's git repository instead of a distribution bundle,
please read file `README.git`.
please read file `README.git`. Note that you have to actually clone
the repository; using a snapshot will not work (in other words, don't
use gitlab's 'Download' button).

The FreeType 2 API reference is located in directory `docs/reference`;
use the file `index.html` as the top entry point. [Please note that
Expand All @@ -30,9 +32,9 @@ sites. Go to

and download one of the following files.

freetype-doc-2.12.0.tar.xz
freetype-doc-2.12.0.tar.gz
ftdoc2120.zip
freetype-doc-2.13.3.tar.xz
freetype-doc-2.13.3.tar.gz
ftdoc2133.zip

To view the documentation online, go to

Expand Down Expand Up @@ -92,7 +94,7 @@ Enjoy!

----------------------------------------------------------------------

Copyright (C) 2006-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion builds/unix/ftconfig.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* UNIX-specific configuration file (specification only).
*
* Copyright (C) 1996-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion builds/unix/ftsystem.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* Unix-specific FreeType low-level system interface (body).
*
* Copyright (C) 1996-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion builds/windows/ftdebug.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* Debugging and logging component for Win32 (body).
*
* Copyright (C) 1996-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion include/freetype/config/ftconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* ANSI-specific configuration file (specification only).
*
* Copyright (C) 1996-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion include/freetype/config/ftheader.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* Build macros of the FreeType 2 library.
*
* Copyright (C) 1996-2022 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,
Expand Down
99 changes: 50 additions & 49 deletions include/freetype/config/ftoption.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* User-selectable configuration macros (specification only).
*
* Copyright (C) 1996-2022 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,
Expand Down Expand Up @@ -461,9 +461,9 @@ FT_BEGIN_HEADER
* while compiling in 'release' mode):
*
* ```
* _af_debug_disable_horz_hints
* _af_debug_disable_vert_hints
* _af_debug_disable_blue_hints
* af_debug_disable_horz_hints_
* af_debug_disable_vert_hints_
* af_debug_disable_blue_hints_
* ```
*
* Additionally, the following functions provide dumps of various
Expand All @@ -480,7 +480,7 @@ FT_BEGIN_HEADER
* As an argument, they use another global variable:
*
* ```
* _af_debug_hints
* af_debug_hints_
* ```
*
* Please have a look at the `ftgrid` demo program to see how those
Expand Down Expand Up @@ -584,12 +584,12 @@ FT_BEGIN_HEADER
/**************************************************************************
*
* Define `TT_CONFIG_OPTION_POSTSCRIPT_NAMES` if you want to be able to
* load and enumerate the glyph Postscript names in a TrueType or OpenType
* load and enumerate Postscript names of glyphs in a TrueType or OpenType
* file.
*
* Note that when you do not compile the 'psnames' module by undefining the
* above `FT_CONFIG_OPTION_POSTSCRIPT_NAMES`, the 'sfnt' module will
* contain additional code used to read the PS Names table from a font.
* Note that if you do not compile the 'psnames' module by undefining the
* above `FT_CONFIG_OPTION_POSTSCRIPT_NAMES` macro, the 'sfnt' module will
* contain additional code to read the PostScript name table from a font.
*
* (By default, the module uses 'psnames' to extract glyph names.)
*/
Expand Down Expand Up @@ -661,36 +661,12 @@ FT_BEGIN_HEADER
* not) instructions in a certain way so that all TrueType fonts look like
* they do in a Windows ClearType (DirectWrite) environment. See [1] for a
* technical overview on what this means. See `ttinterp.h` for more
* details on the LEAN option.
* details on this option.
*
* There are three possible values.
*
* Value 1:
* This value is associated with the 'Infinality' moniker, contributed by
* an individual nicknamed Infinality with the goal of making TrueType
* fonts render better than on Windows. A high amount of configurability
* and flexibility, down to rules for single glyphs in fonts, but also
* very slow. Its experimental and slow nature and the original
* developer losing interest meant that this option was never enabled in
* default builds.
*
* The corresponding interpreter version is v38.
*
* Value 2:
* The new default mode for the TrueType driver. The Infinality code
* base was stripped to the bare minimum and all configurability removed
* in the name of speed and simplicity. The configurability was mainly
* aimed at legacy fonts like 'Arial', 'Times New Roman', or 'Courier'.
* Legacy fonts are fonts that modify vertical stems to achieve clean
* black-and-white bitmaps. The new mode focuses on applying a minimal
* set of rules to all fonts indiscriminately so that modern and web
* fonts render well while legacy fonts render okay.
*
* The corresponding interpreter version is v40.
*
* Value 3:
* Compile both, making both v38 and v40 available (the latter is the
* default).
* The new default mode focuses on applying a minimal set of rules to all
* fonts indiscriminately so that modern and web fonts render well while
* legacy fonts render okay. The corresponding interpreter version is v40.
* The so-called Infinality mode (v38) is no longer available in FreeType.
*
* By undefining these, you get rendering behavior like on Windows without
* ClearType, i.e., Windows XP without ClearType enabled and Win9x
Expand All @@ -705,9 +681,7 @@ FT_BEGIN_HEADER
* [1]
* https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
*/
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING 1 */
#define TT_CONFIG_OPTION_SUBPIXEL_HINTING 2
/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 ) */
#define TT_CONFIG_OPTION_SUBPIXEL_HINTING


/**************************************************************************
Expand Down Expand Up @@ -739,6 +713,24 @@ FT_BEGIN_HEADER
#define TT_CONFIG_OPTION_GX_VAR_SUPPORT


/**************************************************************************
*
* Define `TT_CONFIG_OPTION_NO_BORING_EXPANSION` if you want to exclude
* support for 'boring' OpenType specification expansions.
*
* https://github.com/harfbuzz/boring-expansion-spec
*
* Right now, the following features are covered:
*
* - 'avar' version 2.0
*
* Most likely, this is a temporary configuration option to be removed in
* the near future, since it is assumed that eventually those features are
* added to the OpenType standard.
*/
/* #define TT_CONFIG_OPTION_NO_BORING_EXPANSION */


/**************************************************************************
*
* Define `TT_CONFIG_OPTION_BDF` if you want to include support for an
Expand All @@ -765,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 */


/*************************************************************************/
/*************************************************************************/
/**** ****/
Expand Down Expand Up @@ -959,21 +967,14 @@ FT_BEGIN_HEADER


/*
* The next three macros are defined if native TrueType hinting is
* The next two macros are defined if native TrueType hinting is
* requested by the definitions above. Don't change this.
*/
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
#define TT_USE_BYTECODE_INTERPRETER

#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1
#define TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
#endif

#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2
#define TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL
#endif
#endif
#endif


Expand Down
16 changes: 8 additions & 8 deletions include/freetype/config/ftstdlib.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* ANSI-specific library and header configuration file (specification
* only).
*
* Copyright (C) 2002-2022 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,
Expand Down Expand Up @@ -111,13 +111,13 @@

#include <stdio.h>

#define FT_FILE FILE
#define ft_fclose fclose
#define ft_fopen fopen
#define ft_fread fread
#define ft_fseek fseek
#define ft_ftell ftell
#define ft_sprintf sprintf
#define FT_FILE FILE
#define ft_fclose fclose
#define ft_fopen fopen
#define ft_fread fread
#define ft_fseek fseek
#define ft_ftell ftell
#define ft_snprintf snprintf


/**************************************************************************
Expand Down
2 changes: 1 addition & 1 deletion include/freetype/config/integer-types.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* FreeType integer types definitions.
*
* Copyright (C) 1996-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion include/freetype/config/mac-support.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* Mac/OS X support configuration header.
*
* Copyright (C) 1996-2022 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,
Expand Down
2 changes: 1 addition & 1 deletion include/freetype/config/public-macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* Define a set of compiler macros used in public FreeType headers.
*
* Copyright (C) 2020-2022 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,
Expand Down
Loading

0 comments on commit 5dce815

Please sign in to comment.