From fa791414601df61d20d860299dba80fdb62565df Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 21 Jun 2013 10:45:51 +0200 Subject: Upgraded freetype to 2.5.0.1 --- freetype/docs/CHANGES | 169 ++++++- freetype/docs/INSTALL.UNIX | 8 +- freetype/docs/LICENSE.TXT | 3 + freetype/docs/VERSION.DLL | 4 +- freetype/docs/reference/ft2-auto_hinter.html | 10 +- freetype/docs/reference/ft2-base_interface.html | 20 +- freetype/docs/reference/ft2-basic_types.html | 79 +++- freetype/docs/reference/ft2-bdf_fonts.html | 4 +- freetype/docs/reference/ft2-bitmap_handling.html | 6 +- freetype/docs/reference/ft2-bzip2.html | 4 +- freetype/docs/reference/ft2-cache_subsystem.html | 8 +- freetype/docs/reference/ft2-cff_driver.html | 138 ++++++ freetype/docs/reference/ft2-cid_fonts.html | 4 +- freetype/docs/reference/ft2-computations.html | 16 +- freetype/docs/reference/ft2-font_formats.html | 4 +- freetype/docs/reference/ft2-gasp_table.html | 4 +- freetype/docs/reference/ft2-glyph_management.html | 6 +- freetype/docs/reference/ft2-glyph_stroker.html | 6 +- freetype/docs/reference/ft2-glyph_variants.html | 4 +- freetype/docs/reference/ft2-gx_validation.html | 4 +- freetype/docs/reference/ft2-gzip.html | 4 +- .../docs/reference/ft2-header_file_macros.html | 85 ++-- freetype/docs/reference/ft2-incremental.html | 4 +- freetype/docs/reference/ft2-index.html | 515 +++++++++++---------- freetype/docs/reference/ft2-lcd_filtering.html | 18 +- freetype/docs/reference/ft2-list_processing.html | 4 +- freetype/docs/reference/ft2-lzw.html | 4 +- freetype/docs/reference/ft2-mac_specific.html | 4 +- freetype/docs/reference/ft2-module_management.html | 11 +- freetype/docs/reference/ft2-multiple_masters.html | 4 +- freetype/docs/reference/ft2-ot_validation.html | 4 +- .../docs/reference/ft2-outline_processing.html | 8 +- freetype/docs/reference/ft2-pfr_fonts.html | 4 +- freetype/docs/reference/ft2-quick_advance.html | 13 +- freetype/docs/reference/ft2-raster.html | 4 +- freetype/docs/reference/ft2-sfnt_names.html | 4 +- freetype/docs/reference/ft2-sizes_management.html | 4 +- freetype/docs/reference/ft2-system_interface.html | 4 +- freetype/docs/reference/ft2-toc.html | 24 +- freetype/docs/reference/ft2-truetype_engine.html | 4 +- freetype/docs/reference/ft2-truetype_tables.html | 4 +- freetype/docs/reference/ft2-tt_driver.html | 120 +++++ freetype/docs/reference/ft2-type1_tables.html | 4 +- freetype/docs/reference/ft2-user_allocation.html | 4 +- freetype/docs/reference/ft2-version.html | 8 +- freetype/docs/reference/ft2-winfnt_fonts.html | 4 +- 46 files changed, 956 insertions(+), 415 deletions(-) create mode 100644 freetype/docs/reference/ft2-cff_driver.html create mode 100644 freetype/docs/reference/ft2-tt_driver.html (limited to 'freetype/docs') diff --git a/freetype/docs/CHANGES b/freetype/docs/CHANGES index 18ec1945a..a5db2d23a 100644 --- a/freetype/docs/CHANGES +++ b/freetype/docs/CHANGES @@ -1,4 +1,169 @@ +CHANGES BETWEEN 2.4.12 and 2.5 + + I. IMPORTANT BUG FIXES + + - The cache manager function `FTC_Manager_Reset' didn't flush the + cache. + + + II. IMPORTANT CHANGES + + - Behdad Esfahbod (on behalf of Google) contributed support for + color embedded bitmaps (eg. color emoji). + + A new load flag, FT_LOAD_COLOR, makes FreeType load color + embedded-bitmaps, following this draft specification + + https://color-emoji.googlecode.com/git/specification/v1.html + + which defines two new SFNT tables, `CBDT' and `CBLC' (named and + modeled after `EBDT' and `EBLC', respectively). The color + bitmaps are stored in the new FT_PIXEL_MODE_BGRA format to + represent BGRA pre-multiplied sRGB images. If PNG support is + available, PNG color images as defined in the same proposed + specification are supported also. + + Note that color bitmaps are converted to grayscale if client + didn't ask for color. + + - As announced in the previous release, the old FreeType CFF + engine is now disabled by default. It can be conditionally + compiled by defining the configuration macro + CFF_CONFIG_OPTION_OLD_ENGINE. + + - As announced in the previous release, all code related to macro + FT_CONFIG_OPTION_OLD_INTERNALS has been removed, thus becoming + obsolete. + + + III. MISCELLANEOUS + + - The property API (`FT_Property_Get' and `FT_Property_Set') is + now declared as stable. + + The exception, however, are the experimental auto-hinter + properties `glyph-to-script-map' and `fallback-script' which are + subject to change in a forthcoming release. + + - `ftview' has been updated to support color embedded bitmaps; it + can be toggled on and off with key `c'. The small cache toggle + is now key `K'. + + - It is now possible to control the version of the TrueType + hinting engine using the new `interpreter-version' property of + the `truetype' module: Versions 35 and 38 (the default) are + supported, which roughly corresponds to disable and enable + subpixel hinting support, respectively. + + In both `ftview' and `ftdiff', switching between the two + versions can be done with key `H'. In the `ftbench' demo + program, command line option `-H' has been extended to activate + the non-default interpreter version. + + - The `ttdebug' program has been further improved. In particular, + it accepts a new command line option `-H' to select the hinting + engine. + + - Another round of TrueType subpixel hinting fixes. + + - The `apinames' tool can now create an import file for NetWare. + + - 64bit compilation of the new CFF engine was buggy. + + - Some fixes to improve robustness in memory-tight situations. + + +====================================================================== + +CHANGES BETWEEN 2.4.11 and 2.4.12 + + - We have another CFF parsing and hinting engine! Written by Dave + Arnold , this work has been contributed by + Adobe in collaboration with Google. It is vastly superior to + the old CFF engine, and it will replace it in the next release. + Right now, it is still off by default, and you have to + explicitly select it using the new `hinting-engine' property of + the cff driver: + + ... + #include FT_MODULE_H + #include FT_CFF_DRIVER_H + + FT_Library library; + int engine = FT_CFF_HINTING_ADOBE; + + + ... + FT_Property_Set( library, "cff", "hinting-engine", &engine ); + + The code has a (mature) beta status; we encourage all users to + test it and report any problems. + + In case you want to activate the new CFF engine unconditionally, + apply this patch: + +--- snip --- +diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c +index ebcf189..3f2ce6b 100644 +--- a/src/cff/cffobjs.c ++++ b/src/cff/cffobjs.c +@@ -1056,7 +1056,7 @@ + + + /* set default property values */ +- driver->hinting_engine = FT_CFF_HINTING_FREETYPE; ++ driver->hinting_engine = FT_CFF_HINTING_ADOBE; + driver->no_stem_darkening = FALSE; + + return FT_Err_Ok; +--- snip --- + + - The macro FT_CONFIG_OPTION_OLD_INTERNALS is no longer set by + default. In the next release, we will completely remove the + associated code. Please update your programs in case you are + still using this macro. + + + II. MISCELLANEOUS + + - The (top-level) `configure' script now respects the MAKE + environment variable to specify a `make' binary. For backwards + compatibility, GNUMAKE still overrides MAKE, though. + + - The `ftview' and `ftdiff' demo programs have been redesigned, + showing more options permanently on the screen, among other + minor improvements. + + - Using the `H' key, it is now possible to select the CFF engine + in both `ftview' and `ftdiff'. + + - The new command line option `-H' for `ftbench' selects the Adobe + CFF engine. + + - It is now possible to directly select the LCD rendering mode + with the keys `A'-`F' in `ftview'. The key mapping for cycling + through LCD modes has been changed from `K' and `L' to `k' and + `l', and toggling custom LCD filtering is no longer mapped to + key `F' but to key `L'. + + - In `ftdiff', key `x' toggles between layout modes: Either use + the advance width (this is new and now the default) or the + bounding box information to determine line breaks. + + - For all demo tools, the new command line option `-v' shows the + version. + + - For the demo tools with a GUI, the new command line options `-w' + and `-h' select the width and the height of the output window, + respectively. + + - The `ttdebug' program was broken and has been reactivated. Note + that this program is not compiled by default. + + +====================================================================== + CHANGES BETWEEN 2.4.10 and 2.4.11 I. IMPORTANT BUG FIXES @@ -2486,7 +2651,7 @@ CHANGES BETWEEN 2.0.3 and 2.0.2 number. see for details. - A new public header file has been introduced, named - FT_TRIGONOMETRY_H (include/freetype/fttrig.h), providing + FT_TRIGONOMETRY_H (include/freetype/fttrigon.h), providing trigonometric functions to compute sines, cosines, arctangents, etc. with 16.16 fixed precision. The implementation is based on the CORDIC algorithm and is very fast while being sufficiently @@ -3714,7 +3879,7 @@ Extensions support: ------------------------------------------------------------------------ -Copyright 2000-2012 by +Copyright 2000-2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/freetype/docs/INSTALL.UNIX b/freetype/docs/INSTALL.UNIX index 5dc0764ef..7175ca093 100644 --- a/freetype/docs/INSTALL.UNIX +++ b/freetype/docs/INSTALL.UNIX @@ -23,7 +23,7 @@ or MSys on Win32: fail. It is also fine to have GNU Make under another name (e.g. 'gmake') - if you use the GNUMAKE variable as described below. + if you use the MAKE variable as described below. As a special exception, 'makepp' can also be used to build FreeType 2. See the file docs/MAKEPP for details. @@ -61,11 +61,11 @@ or MSys on Win32: ./configure --prefix=/usr - When using a different command to invoke GNU Make, use the GNUMAKE + When using a different command to invoke GNU Make, use the MAKE variable. For example, if `gmake' is the command to use on your system, do something like: - GNUMAKE=gmake ./configure [options] + MAKE=gmake ./configure [options] gmake gmake install (as root) @@ -83,7 +83,7 @@ or MSys on Win32: ---------------------------------------------------------------------- -Copyright 2003, 2004, 2005, 2006, 2007 by +Copyright 2003-2007, 2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/freetype/docs/LICENSE.TXT b/freetype/docs/LICENSE.TXT index 62945c85f..99dc342d7 100644 --- a/freetype/docs/LICENSE.TXT +++ b/freetype/docs/LICENSE.TXT @@ -30,5 +30,8 @@ file src/bdf/README and src/pcf/README). The gzip module uses the zlib license (see src/gzip/zlib.h) which too is compatible to the above two licenses. +The MD5 checksum support (only used for debugging in development builds) +is in the public domain. + --- end of LICENSE.TXT --- diff --git a/freetype/docs/VERSION.DLL b/freetype/docs/VERSION.DLL index cf8c35325..2d1cc9acf 100644 --- a/freetype/docs/VERSION.DLL +++ b/freetype/docs/VERSION.DLL @@ -52,6 +52,8 @@ on _most_ systems, but not all of them: release libtool so ------------------------------- + 2.5.0 16.2.10 6.10.2 + 2.4.12 16.1.10 6.10.1 2.4.11 16.0.10 6.10.0 2.4.10 15.0.9 6.9.0 2.4.9 14.1.8 6.8.1 @@ -108,7 +110,7 @@ other release numbers. ------------------------------------------------------------------------ -Copyright 2002-2012 by +Copyright 2002-2013 by David Turner, Robert Wilhelm, and Werner Lemberg. This file is part of the FreeType project, and may only be used, diff --git a/freetype/docs/reference/ft2-auto_hinter.html b/freetype/docs/reference/ft2-auto_hinter.html index 68a87d4ba..f2cf72a9d 100644 --- a/freetype/docs/reference/ft2-auto_hinter.html +++ b/freetype/docs/reference/ft2-auto_hinter.html @@ -3,7 +3,7 @@ -FreeType-2.4.11 API Reference +FreeType-2.5.0 API Reference + + + + + +
[Index][TOC]
+

FreeType-2.5.0 API Reference

+ +

+The CFF driver +

+

Synopsis

+ + +
hinting-engineFT_CFF_HINTING_XXXno-stem-darkening


+ +
+

While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The following lists the available properties together with the necessary macros and structures.

+

The CFF driver's module name is ‘cff’.

+

+
+

hinting-engine

+
+

Thanks to Adobe, which contributed a new hinting (and parsing) engine, an application can select between ‘freetype’ and ‘adobe’ if compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration macro isn't defined, ‘hinting-engine’ does nothing.

+

The default engine is ‘freetype’ if CFF_CONFIG_OPTION_OLD_ENGINE is defined, and ‘adobe’ otherwise.

+

The following example code demonstrates how to select Adobe's hinting engine (omitting the error handling).

+
+  FT_Library  library;
+  FT_Face     face;
+  FT_UInt     hinting_engine = FT_CFF_HINTING_ADOBE;
+
+
+  FT_Init_FreeType( &library );
+
+  FT_Property_Set( library, "cff",
+                            "hinting-engine", &hinting_engine );
+
+

+
note
+

This property can be used with FT_Property_Get also.

+
+
+
+ + +
[Index][TOC]
+ +
+

FT_CFF_HINTING_XXX

+
+Defined in FT_CFF_DRIVER_H (freetype/ftcffdrv.h). +

+
+
+#define FT_CFF_HINTING_FREETYPE  0
+#define FT_CFF_HINTING_ADOBE     1
+
+

+
+

A list of constants used for the hinting-engine property to select the hinting engine for CFF fonts.

+

+
values
+

+ + + + +
FT_CFF_HINTING_FREETYPE
+

Use the old FreeType hinting engine.

+
FT_CFF_HINTING_ADOBE +

Use the hinting engine contributed by Adobe.

+
+
+
+
+ + +
[Index][TOC]
+ +
+

no-stem-darkening

+
+

By default, the Adobe CFF engine darkens stems at smaller sizes, regardless of hinting, to enhance contrast. Setting this property, stem darkening gets switched off.

+

Note that stem darkening is never applied if FT_LOAD_NO_SCALE is set.

+
+  FT_Library  library;
+  FT_Face     face;
+  FT_Bool     no_stem_darkening = TRUE;
+
+
+  FT_Init_FreeType( &library );
+
+  FT_Property_Set( library, "cff",
+                            "no-stem-darkening", &no_stem_darkening );
+
+

+
note
+

This property can be used with FT_Property_Get also.

+
+
+
+ + +
[Index][TOC]
+ + + diff --git a/freetype/docs/reference/ft2-cid_fonts.html b/freetype/docs/reference/ft2-cid_fonts.html index b49188e04..a31eeace3 100644 --- a/freetype/docs/reference/ft2-cid_fonts.html +++ b/freetype/docs/reference/ft2-cid_fonts.html @@ -3,7 +3,7 @@ -FreeType-2.4.11 API Reference +FreeType-2.5.0 API Reference + + + + + +
[Index][TOC]
+

FreeType-2.5.0 API Reference

+ +

+The TrueType driver +

+

Synopsis

+ + +
interpreter-versionTT_INTERPRETER_VERSION_XXX


+ +
+

While FreeType's TrueType driver doesn't expose API functions by itself, it is possible to control its behaviour with FT_Property_Set and FT_Property_Get. The following lists the available properties together with the necessary macros and structures.

+

The TrueType driver's module name is ‘truetype’.

+

+
+

interpreter-version

+
+

Currently, two versions are available which represent the bytecode interpreter with and without subpixel hinting support, respectively. The default is subpixel support if TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel support otherwise (since it isn't available then).

+

If subpixel hinting is on, many TrueType bytecode instructions behave differently compared to B/W or grayscale rendering. The main idea is to render at a much increased horizontal resolution, then sampling down the created output to subpixel precision. However, many older fonts are not suited to this and must be specially taken care of by applying (hardcoded) font-specific tweaks.

+

Details on subpixel hinting and some of the necessary tweaks can be found in Greg Hitchcock's whitepaper at ‘http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx’.

+

The following example code demonstrates how to activate subpixel hinting (omitting the error handling).

+
+  FT_Library  library;
+  FT_Face     face;
+  FT_UInt     interpreter_version = TT_INTERPRETER_VERSION_38;
+
+
+  FT_Init_FreeType( &library );
+
+  FT_Property_Set( library, "truetype",
+                            "interpreter-version",
+                            &interpreter_version );
+
+

+
note
+

This property can be used with FT_Property_Get also.

+
+
+
+ + +
[Index][TOC]
+ +
+

TT_INTERPRETER_VERSION_XXX

+
+Defined in FT_TRUETYPE_DRIVER_H (freetype/ftttdrv.h). +

+
+
+#define TT_INTERPRETER_VERSION_35  35
+#define TT_INTERPRETER_VERSION_38  38
+
+

+
+

A list of constants used for the interpreter-version property to select the hinting engine for Truetype fonts.

+

The numeric value in the constant names represents the version number as returned by the ‘GETINFO’ bytecode instruction.

+

+
values
+

+ + + + + +
TT_INTERPRETER_VERSION_35
+

Version 35 corresponds to MS rasterizer v.1.7 as used e.g. in Windows 98; only grayscale and B/W rasterizing is supported.

+
TT_INTERPRETER_VERSION_38
+

Version 38 corresponds to MS rasterizer v.1.9; it is roughly equivalent to the hinting provided by DirectWrite ClearType (as can be found, for example, in the Internet Explorer 9 running on Windows 7).

+
+
+
note
+

This property controls the behaviour of the bytecode interpreter and thus how outlines get hinted. It does not control how glyph get rasterized! In particular, it does not control subpixel color filtering.

+

If FreeType has not been compiled with configuration option FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version 38 causes an ‘FT_Err_Unimplemented_Feature’ error.

+
+
+
+ + +
[Index][TOC]
+ + + diff --git a/freetype/docs/reference/ft2-type1_tables.html b/freetype/docs/reference/ft2-type1_tables.html index 481a4574f..63b6dee1a 100644 --- a/freetype/docs/reference/ft2-type1_tables.html +++ b/freetype/docs/reference/ft2-type1_tables.html @@ -3,7 +3,7 @@ -FreeType-2.4.11 API Reference +FreeType-2.5.0 API Reference