From fba3b6d1979c1d1ad0d56d46fc2d787f111c07fb Mon Sep 17 00:00:00 2001 From: marha Date: Thu, 26 Jun 2014 09:46:14 +0200 Subject: Updated to freetype 2.5.3 --- freetype/docs/CHANGES | 196 ++++++++ freetype/docs/CMAKE | 2 + freetype/docs/CUSTOMIZE | 32 +- freetype/docs/DEBUG | 182 +++---- freetype/docs/INSTALL | 9 +- freetype/docs/INSTALL.ANY | 34 +- freetype/docs/INSTALL.CROSS | 92 +++- freetype/docs/INSTALL.GNU | 26 +- freetype/docs/INSTALL.UNIX | 21 +- freetype/docs/VERSION.DLL | 5 +- freetype/docs/freetype-config.1 | 108 +++++ freetype/docs/reference/ft2-auto_hinter.html | 44 +- freetype/docs/reference/ft2-base_interface.html | 311 ++++++------ freetype/docs/reference/ft2-basic_types.html | 94 ++-- freetype/docs/reference/ft2-bdf_fonts.html | 16 +- freetype/docs/reference/ft2-bitmap_handling.html | 16 +- freetype/docs/reference/ft2-bzip2.html | 6 +- freetype/docs/reference/ft2-cache_subsystem.html | 62 +-- freetype/docs/reference/ft2-cff_driver.html | 58 ++- freetype/docs/reference/ft2-cid_fonts.html | 10 +- freetype/docs/reference/ft2-computations.html | 52 +- freetype/docs/reference/ft2-font_formats.html | 8 +- freetype/docs/reference/ft2-gasp_table.html | 8 +- freetype/docs/reference/ft2-glyph_management.html | 40 +- freetype/docs/reference/ft2-glyph_stroker.html | 48 +- freetype/docs/reference/ft2-glyph_variants.html | 20 +- freetype/docs/reference/ft2-gx_validation.html | 26 +- freetype/docs/reference/ft2-gzip.html | 68 ++- .../docs/reference/ft2-header_file_macros.html | 98 ++-- freetype/docs/reference/ft2-header_inclusion.html | 54 +++ freetype/docs/reference/ft2-incremental.html | 24 +- freetype/docs/reference/ft2-index.html | 522 +++++++++++---------- freetype/docs/reference/ft2-lcd_filtering.html | 12 +- freetype/docs/reference/ft2-list_processing.html | 40 +- freetype/docs/reference/ft2-lzw.html | 6 +- freetype/docs/reference/ft2-mac_specific.html | 18 +- freetype/docs/reference/ft2-module_management.html | 44 +- freetype/docs/reference/ft2-multiple_masters.html | 30 +- freetype/docs/reference/ft2-ot_validation.html | 14 +- .../docs/reference/ft2-outline_processing.html | 76 +-- freetype/docs/reference/ft2-pfr_fonts.html | 10 +- freetype/docs/reference/ft2-quick_advance.html | 14 +- freetype/docs/reference/ft2-raster.html | 34 +- freetype/docs/reference/ft2-sfnt_names.html | 18 +- freetype/docs/reference/ft2-sizes_management.html | 12 +- freetype/docs/reference/ft2-system_interface.html | 24 +- freetype/docs/reference/ft2-toc.html | 10 +- freetype/docs/reference/ft2-truetype_engine.html | 10 +- freetype/docs/reference/ft2-truetype_tables.html | 66 +-- freetype/docs/reference/ft2-tt_driver.html | 23 +- freetype/docs/reference/ft2-type1_tables.html | 40 +- freetype/docs/reference/ft2-user_allocation.html | 4 +- freetype/docs/reference/ft2-version.html | 14 +- freetype/docs/reference/ft2-winfnt_fonts.html | 16 +- freetype/docs/release | 39 +- 55 files changed, 1734 insertions(+), 1132 deletions(-) create mode 100644 freetype/docs/CMAKE create mode 100644 freetype/docs/freetype-config.1 create mode 100644 freetype/docs/reference/ft2-header_inclusion.html (limited to 'freetype/docs') diff --git a/freetype/docs/CHANGES b/freetype/docs/CHANGES index a5db2d23a..803f02dc6 100644 --- a/freetype/docs/CHANGES +++ b/freetype/docs/CHANGES @@ -1,4 +1,200 @@ +CHANGES BETWEEN 2.5.2 and 2.5.3 + + I. IMPORTANT BUG FIXES + + - A vulnerability was identified and fixed in the new CFF driver + (cf. http://savannah.nongnu.org/bugs/?41697; it doesn't have a + CVE number yet). All users should upgrade. + + - More bug fixes related to correct positioning of composite + glyphs. + + - Many fixes to better protect against malformed input. + + + II. IMPORTANT CHANGES + + - FreeType can now use the HarfBuzz library to greatly improve the + auto-hinting of fonts that use OpenType features: Many glyphs + that are part of such features but don't have cmap entries are + now handled properly, for example small caps or superscripts. + Define the configuration macro FT_CONFIG_OPTION_USE_HARFBUZZ to + activate HarfBuzz support. + + You need HarfBuzz version 0.9.19 or newer. + + Note that HarfBuzz depends on FreeType; this currently causes a + chicken-and-egg problem that can be solved as follows in case + HarfBuzz is not yet installed on your system. + + 1. Compile and install FreeType without the configuration + macro FT_CONFIG_OPTION_USE_HARFBUZZ. + + 2. Compile and install HarfBuzz. + + 3. Define macro FT_CONFIG_OPTION_USE_HARFBUZZ, then compile + and install FreeType again. + + With FreeType's `configure' script the procedure boils down to + configure, build, and install Freetype, then configure, compile, + and install HarfBuzz, then configure, compile, and install + FreeType again (after executing `make distclean'). + + - All libraries FreeType depends on are now checked using the + `pkg-config' configuration files first, followed by alternative + methods. + + - The new value `auto' for the various `--with-XXX' library + options (for example `--with-harfbuzz=auto') makes the + `configure' script automatically link to the libraries it finds. + This is now the default. + + - In case FreeType's `configure' script can't find a library, you + can pass environment variables to circumvent pkg-config, and + those variables have been harmonized as a consequence of the + changes mentioned above: + + LIBZ -> removed; use LIBZ_CFLAGS and LIBZ_LIBS + LIBBZ2 -> removed; use BZIP2_CFLAGS and BZIP2_LIBS + LIBPNG_LDFLAGS -> LIBPNG_LIBS + + `./configure --help' shows all available environment variables. + + - The `freetype-config' script now understands option `--static' + to emit static linking information. + + +====================================================================== + +CHANGES BETWEEN 2.5.1 and 2.5.2 + + I. IMPORTANT BUG FIXES + + - Improving the display of some broken TrueType fonts introduced a + bug that made FreeType crash on some popular (but not fully + conformant) fonts like `ahronbd.ttf'. + + - Another round of improvements to correct positioning and hinting + of composite glyphs in TrueType fonts. + + + II. MISCELLANEOUS + + - Version 2.5.1 introduced a bug in handling embedded bitmap + strikes of TrueType fonts, causing garbage display under some + circumstances. + + - The `ftgrid' demo program couldn't be compiled in + non-development builds. + + +====================================================================== + +CHANGES BETWEEN 2.5 and 2.5.1 + + I. IMPORTANT BUG FIXES + + - For some WinFNT files, the last glyph wasn't displayed but + incorrectly marked as invalid. + + - The vertical size of glyphs was incorrectly set after a call to + `FT_GlyphSlot_Embolden', resulting in clipped glyphs. + + - Many fields of the `PCLT' table in SFNT based fonts (if accessed + with `FT_Get_Sfnt_Table') were computed incorrectly. + + - In TrueType fonts, hinting of composite glyphs could sometimes + deliver incorrect positions of components or even distorted + shapes. + + + II. IMPORTANT CHANGES + + - WOFF font format support has been added. + + - The auto-hinter now supports Hebrew. Greek and Cyrillic support + has been improved. + + - Support for the forthcoming `OS/2' SFNT table version 5, as can + be found e.g. in the `Sitka' font family for Windows 8.1. + + - The header file layout has been changed. After installation, + all files are now located in `/include/freetype2'. + + Applications that use (a) `freetype-config' or FreeType's + `pkg-config' file to get the include directory for the compiler, + and (b) the documented way for header inclusion like + + #include + #include FT_FREETYPE_H + ... + + don't need any change to the source code. + + + III. MISCELLANEOUS + + - The stem darkening feature of the new CFF engine can now be + fine-tuned with the new `darkening-parameters' property. + + - `ftgrid' has been updated to toggle various engines with the `H' + key, similar to `ftview' and `ftdiff'. + + - The functionality of `ttdebug' has been greatly enhanced. + + . It now displays twilight, storage, and control value data; key + `T' shows the twilight point table, key `S' the storage data, + and key `C' the control value table. + + . Some keys have been reassigned from lowercase to their + uppercase equivalents; for example `q' to quit the program is + now `Q'. + + . Key `f' finishes the current function. + + . Key `R' restarts the debugger. + + . Keys `b' and `p' set a breakpoint. + + . Key `B' provides a function call backtrace. + + - Better support of ARMv7 and x86_64 processors. + + - Apple's `sbix' color bitmap format is now supported. + + - Improved auto-hinter rendering for many TrueType fonts, + especially in the range 20-40ppem. + + - A new face flag `FT_FACE_FLAG_COLOR' has been added (to be + accessed with the macro `FT_HAS_COLOR'). + + - `FT_Gzip_Uncompress' (modeled after zlib's `uncompress' + function) has been added; this is a by-product of the newly + added WOFF support. + + - Support for a build with `cmake' has been contributed by John + Cary . + + - Support for x64 builds with Visual C++ has been contributed by + Kenneth Miller + + - Manual pages for most demo programs have been added. + + - The GETINFO bytecode instruction for TrueType fonts was buggy if + used to retrieve subpixel hinting information. It was necessary + to set selector bit 6 to get results for selector bits 7-10, + which is wrong. + + - Improved computation of emulated vertical metrics for TrueType + fonts. + + - Fixed horizontal start-up position of vertical phantom points in + TrueType bytecode. + + +====================================================================== + CHANGES BETWEEN 2.4.12 and 2.5 I. IMPORTANT BUG FIXES diff --git a/freetype/docs/CMAKE b/freetype/docs/CMAKE new file mode 100644 index 000000000..31237ae15 --- /dev/null +++ b/freetype/docs/CMAKE @@ -0,0 +1,2 @@ +Support for a cmake build has been contributed. See the remarks in the +top-level `CMakeLists.txt' file for more. diff --git a/freetype/docs/CUSTOMIZE b/freetype/docs/CUSTOMIZE index 396eda38e..dfadb4658 100644 --- a/freetype/docs/CUSTOMIZE +++ b/freetype/docs/CUSTOMIZE @@ -8,10 +8,9 @@ How to customize the compilation of the library I. Configuration macros - The file found in `include/freetype/config/ftoption.h' contains a - list of commented configuration macros that can be toggled by - developers to indicate which features should be active while - building the library. + The file found in `include/config/ftoption.h' contains a list of + commented configuration macros that can be toggled by developers to + indicate which features should be active while building the library. These options range from debug level to availability of certain features, like native TrueType hinting through a bytecode @@ -36,9 +35,9 @@ II. Modules list can keep the source files `clean'. If you don't use GNU make you have to manually edit the file - `include/freetype/config/ftmodule.h' (which is *not* used with if - compiled with GNU make) to add or remove the drivers and components - you want to compile into the library. See `INSTALL.ANY' for more + `include/config/ftmodule.h' (which is *not* used with if compiled + with GNU make) to add or remove the drivers and components you want + to compile into the library. See `INSTALL.ANY' for more information. @@ -96,19 +95,16 @@ IV. Overriding default configuration and module headers #include FT_CONFIG_OPTIONS_H #include FT_CONFIG_MODULES_H - are compiled. Their default values being - and , you - can do something like: + are compiled. Their default values being and + , you can do something like: custom/ - freetype/ - config/ - ftoption.h => custom options header - ftmodule.h => custom modules list + config/ + ftoption.h => custom options header + ftmodule.h => custom modules list include/ => normal FreeType 2 include - freetype/ - ... + ... then change the C include path to always give the path to `custom' before the FreeType 2 `include'. @@ -126,7 +122,7 @@ IV. Overriding default configuration and module headers #define FT_CONFIG_OPTIONS_H #define FT_CONFIG_MODULES_H - #include + #include #endif /* __FT2_BUILD_MY_PLATFORM_H__ */ @@ -142,7 +138,7 @@ IV. Overriding default configuration and module headers ---------------------------------------------------------------------- -Copyright 2003, 2005, 2006, 2012 by +Copyright 2003, 2005, 2006, 2012, 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/DEBUG b/freetype/docs/DEBUG index 3d6acd3bb..d8c79d187 100644 --- a/freetype/docs/DEBUG +++ b/freetype/docs/DEBUG @@ -4,63 +4,63 @@ Debugging within the FreeType sources I. Configuration macros ----------------------- -There are several ways to enable debugging features in a FreeType 2 -builds. This is controlled through the definition of special macros +There are several ways to enable debugging features in a FreeType 2 +builds. This is controlled through the definition of special macros located in the file `ftoptions.h'. The macros are: FT_DEBUG_LEVEL_ERROR - #define this macro if you want to compile the FT_ERROR macro calls - to print error messages during program execution. This will not - stop the program. Very useful to spot invalid fonts during + #define this macro if you want to compile the FT_ERROR macro calls + to print error messages during program execution. This will not + stop the program. Very useful to spot invalid fonts during development and to code workarounds for them. FT_DEBUG_LEVEL_TRACE - #define this macro if you want to compile both macros FT_ERROR and - FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1, + #define this macro if you want to compile both macros FT_ERROR and + FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7. - The trace macros are used to send debugging messages when an - appropriate `debug level' is configured at runtime through the + The trace macros are used to send debugging messages when an + appropriate `debug level' is configured at runtime through the FT2_DEBUG environment variable (more on this later). FT_DEBUG_MEMORY - If this macro is #defined, the FreeType engine is linked with a - small but effective debugging memory manager that tracks all + If this macro is #defined, the FreeType engine is linked with a + small but effective debugging memory manager that tracks all allocations and frees that are performed within the font engine. - When the FT2_DEBUG_MEMORY environment variable is defined at - runtime, a call to FT_Done_FreeType will dump memory statistics, - including the list of leaked memory blocks with the source locations - where these were allocated. It is always a very good idea to define - this in development builds. This works with _any_ program linked to - FreeType, but requires a big deal of memory (the debugging memory - manager never frees the blocks to the heap in order to detect double - frees). + When the FT2_DEBUG_MEMORY environment variable is defined at + runtime, a call to FT_Done_FreeType will dump memory statistics, + including the list of leaked memory blocks with the source + locations where these were allocated. It is always a very good + idea to define this in development builds. This works with _any_ + program linked to FreeType, but requires a big deal of memory (the + debugging memory manager never frees the blocks to the heap in + order to detect double frees). - When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory - manager is ignored, and performance is unaffected. + When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging + memory manager is ignored, and performance is unaffected. II. Debugging macros -------------------- -Several macros can be used within the FreeType sources to help debugging -its code: +Several macros can be used within the FreeType sources to help +debugging its code: 1. FT_ERROR(( ... )) - This macro is used to send debug messages that indicate relatively - serious errors (like broken font files), but will not stop the - execution of the running program. Its code is compiled only when - either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in + This macro is used to send debug messages that indicate relatively + serious errors (like broken font files), but will not stop the + execution of the running program. Its code is compiled only when + either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in `ftoption.h'. - Note that you have to use a printf-like signature, but with double + Note that you have to use a printf-like signature, but with double parentheses, like in FT_ERROR(( "your %s is not %s\n", "foo", "bar" )); @@ -68,128 +68,130 @@ its code: 2. FT_ASSERT( condition ) - This macro is used to check strong assertions at runtime. If its - condition isn't TRUE, the program will abort with a panic message. - Its code is compiled when either FT_DEBUG_LEVEL_ERROR or - FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses - here. For example + This macro is used to check strong assertions at runtime. If its + condition isn't TRUE, the program will abort with a panic message. + Its code is compiled when either FT_DEBUG_LEVEL_ERROR or + FT_DEBUG_LEVEL_TRACE are defined. You don't need double + parentheses here. For example FT_ASSERT( ptr != NULL ); 3. FT_TRACE( level, (message...) ) - The FT_TRACE macro is used to send general-purpose debugging - messages during program execution. This macro uses an *implicit* - macro named FT_COMPONENT used to name the current FreeType component - being run. + The FT_TRACE macro is used to send general-purpose debugging + messages during program execution. This macro uses an *implicit* + macro named FT_COMPONENT used to name the current FreeType + component being run. - The developer should always define FT_COMPONENT as appropriate, for - example as in + The developer should always define FT_COMPONENT as appropriate, + for example as in #undef FT_COMPONENT #define FT_COMPONENT trace_io - The value of the FT_COMPONENT macro is an enumeration named - trace_XXXX where XXXX is one of the component names defined in the - internal file `freetype/internal/fttrace.h'. If you modify FreeType - source and insert new trace_XXXX macro, you must register it in - fttrace.h. If you insert or remove many trace macros, you can check - the undefined or the unused trace macro by src/tools/chktrcmp.py. + The value of the FT_COMPONENT macro is an enumeration named + `trace_XXXX' where `XXXX' is one of the component names defined in + the internal file `internal/fttrace.h'. If you modify FreeType + source and insert new `trace_XXXX' macro, you must register it in + `fttrace.h'. If you insert or remove many trace macros, you can + check the undefined or the unused trace macro by + `src/tools/chktrcmp.py'. - Each such component is assigned a `debug level', ranging from 0 - to 7, through the use of the FT2_DEBUG environment variable + Each such component is assigned a `debug level', ranging from 0 to + 7, through the use of the FT2_DEBUG environment variable (described below) when a program linked with FreeType starts. - When FT_TRACE is called, its level is compared to the one of the - corresponding component. Messages with trace levels *higher* than + When FT_TRACE is called, its level is compared to the one of the + corresponding component. Messages with trace levels *higher* than the corresponding component level are filtered and never printed. - This means that trace messages with level 0 are always printed, - those with level 2 are only printed when the component level is *at - least* 2. + This means that trace messages with level 0 are always printed, + those with level 2 are only printed when the component level is + *at least* 2. - The second parameter to FT_TRACE must contain parentheses and + The second parameter to FT_TRACE must contain parentheses and correspond to a printf-like call, as in FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) ) - The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7 - can be used with constant level indices, and are much cleaner to - use, as in + The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., + FT_TRACE7 can be used with constant level indices, and are much + cleaner to use, as in - FT_TRACE2(( "your %s is not %s\n", "foo", "bar" )); + FT_TRACE2(( "your %s is not %s\n", "foo", "bar" )); III. Environment variables -------------------------- -The following environment variables control debugging output and +The following environment variables control debugging output and behaviour of FreeType at runtime. FT2_DEBUG - This variable is only used when FreeType is built with - FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level - definitions, following this format: + This variable is only used when FreeType is built with + FT_DEBUG_LEVEL_TRACE defined. It contains a list of component + level definitions, following this format: - component1:level1 component2:level2 component3:level3 ... + component1:level1 component2:level2 component3:level3 ... - where `componentX' is the name of a tracing component, as defined in - `fttrace.h', but without the `trace_' prefix. `levelX' is the + where `componentX' is the name of a tracing component, as defined + in `fttrace.h', but without the `trace_' prefix. `levelX' is the corresponding level to use at runtime. - `any' is a special component name that will be interpreted as + `any' is a special component name that will be interpreted as `any/all components'. For example, the following definitions - set FT2_DEBUG=any:2 memory:5 io:4 (on Windows) - export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash) + set FT2_DEBUG=any:2 memory:5 io:4 (on Windows) + export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash) - both stipulate that all components should have level 2, except for - the memory and io components which will be set to trace levels 5 and - 4, respectively. + both stipulate that all components should have level 2, except for + the memory and io components which will be set to trace levels 5 + and 4, respectively. FT2_DEBUG_MEMORY - This environment variable, when defined, tells FreeType to use a - debugging memory manager that will track leaking memory blocks as - well as other common errors like double frees. It is also capable - of reporting _where_ the leaking blocks were allocated, which - considerably saves time when debugging new additions to the library. + This environment variable, when defined, tells FreeType to use a + debugging memory manager that will track leaking memory blocks as + well as other common errors like double frees. It is also capable + of reporting _where_ the leaking blocks were allocated, which + considerably saves time when debugging new additions to the + library. - This code is only compiled when FreeType is built with the - FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be + This code is only compiled when FreeType is built with the + FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be ignored in other builds. FT2_ALLOC_TOTAL_MAX - This variable is ignored if FT2_DEBUG_MEMORY is not defined. It - allows you to specify a maximum heap size for all memory allocations - performed by FreeType. This is very useful to test the robustness - of the font engine and programs that use it in tight memory - conditions. + This variable is ignored if FT2_DEBUG_MEMORY is not defined. It + allows you to specify a maximum heap size for all memory + allocations performed by FreeType. This is very useful to test + the robustness of the font engine and programs that use it in + tight memory conditions. - If it is undefined, or if its value is not strictly positive, then + If it is undefined, or if its value is not strictly positive, then no allocation bounds are checked at runtime. FT2_ALLOC_COUNT_MAX - This variable is ignored if FT2_DEBUG_MEMORY is not defined. It - allows you to specify a maximum number of memory allocations - performed by FreeType before returning the error - FT_Err_Out_Of_Memory. This is useful for debugging and testing the - engine's robustness. + This variable is ignored if FT2_DEBUG_MEMORY is not defined. It + allows you to specify a maximum number of memory allocations + performed by FreeType before returning the error + FT_Err_Out_Of_Memory. This is useful for debugging and testing + the engine's robustness. - If it is undefined, or if its value is not strictly positive, then + If it is undefined, or if its value is not strictly positive, then no allocation bounds are checked at runtime. ------------------------------------------------------------------------ -Copyright 2002, 2003, 2004, 2005, 2009 by +Copyright 2002-2005, 2009, 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 b/freetype/docs/INSTALL index fc699a8d5..456b76d2b 100644 --- a/freetype/docs/INSTALL +++ b/freetype/docs/INSTALL @@ -43,7 +43,12 @@ I. Normal installation and upgrades directory, where stands for your OS or environment. - 5. From you own IDE, or own Makefiles + 5. Using cmake + + See the top-level `CMakeLists.txt' file for more information. + + + 6. From you own IDE, or own Makefiles If you want to create your own project file, follow the instructions given in the `INSTALL.ANY' document of this @@ -70,7 +75,7 @@ II. Custom builds of the library ---------------------------------------------------------------------- -Copyright 2000-2008, 2010-2011 +Copyright 2000-2008, 2010-2011, 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.ANY b/freetype/docs/INSTALL.ANY index 80f161c64..8aa394f1f 100644 --- a/freetype/docs/INSTALL.ANY +++ b/freetype/docs/INSTALL.ANY @@ -33,25 +33,25 @@ I. Standard procedure src/base/ftbase.c - src/base/ftbbox.c -- recommended, see - src/base/ftglyph.c -- recommended, see + src/base/ftbbox.c -- recommended, see + src/base/ftglyph.c -- recommended, see - src/base/ftbdf.c -- optional, see - src/base/ftbitmap.c -- optional, see - src/base/ftcid.c -- optional, see + src/base/ftbdf.c -- optional, see + src/base/ftbitmap.c -- optional, see + src/base/ftcid.c -- optional, see src/base/ftfstype.c -- optional - src/base/ftgasp.c -- optional, see - src/base/ftgxval.c -- optional, see - src/base/ftlcdfil.c -- optional, see - src/base/ftmm.c -- optional, see - src/base/ftotval.c -- optional, see + src/base/ftgasp.c -- optional, see + src/base/ftgxval.c -- optional, see + src/base/ftlcdfil.c -- optional, see + src/base/ftmm.c -- optional, see + src/base/ftotval.c -- optional, see src/base/ftpatent.c -- optional - src/base/ftpfr.c -- optional, see - src/base/ftstroke.c -- optional, see - src/base/ftsynth.c -- optional, see - src/base/fttype1.c -- optional, see - src/base/ftwinfnt.c -- optional, see - src/base/ftxf86.c -- optional, see + src/base/ftpfr.c -- optional, see + src/base/ftstroke.c -- optional, see + src/base/ftsynth.c -- optional, see + src/base/fttype1.c -- optional, see + src/base/ftwinfnt.c -- optional, see + src/base/ftxf86.c -- optional, see src/base/ftmac.c -- only on the Macintosh @@ -143,7 +143,7 @@ II. Support for flat-directory compilation ---------------------------------------------------------------------- -Copyright 2003, 2005, 2006, 2009, 2010 by +Copyright 2003, 2005, 2006, 2009, 2010, 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.CROSS b/freetype/docs/INSTALL.CROSS index 005d44293..d372adcfe 100644 --- a/freetype/docs/INSTALL.CROSS +++ b/freetype/docs/INSTALL.CROSS @@ -1,26 +1,27 @@ This document contains instructions on how to cross-build the FreeType library on Unix systems, for example, building binaries for Linux/MIPS -on FreeBSD/i386. Before reading this document, please consult -INSTALL.UNIX for required tools and the basic self-building procedure. +on FreeBSD/i386. Before reading this document, please consult the +file `INSTALL.UNIX' for required tools and the basic self-building +procedure. 1. Required Tools ----------------- For self-building the FreeType library on a Unix system, GNU Make - 3.80 or newer is required. INSTALL.UNIX contains hints how to + 3.80 or newer is required. `INSTALL.UNIX' contains hints how to check the installed `make'. The GNU C compiler to cross-build the target system is required. - At present, using non-GNU cross compiler is not tested. The cross + Currently, using a non-GNU cross compiler is untested. The cross compiler is expected to be installed with a system prefix. For example, if your building system is FreeBSD/i386 and the target - system is Linux/MIPS, the cross compiler should be installed with + system is Linux/MIPS, the cross compiler should be installed with the name `mips-ip22-linuxelf-gcc'. A C compiler for a self-build is required also, to build a tool - that is executed during the building procedure. Non-GNU self - compilers are acceptable, but such a setup is not tested yet. + (`apinames') that is executed during the build procedure. Non-GNU + self compilers are acceptable, but such a setup is untested. 2. Configuration @@ -28,10 +29,10 @@ INSTALL.UNIX for required tools and the basic self-building procedure. 2.1. Building and target system - To configure for cross-build, the options `--host=' and - `--build=' must be passed to configure. For example, if - your building system is FreeBSD/i386 and the target system is - Linux/MIPS, say + To configure a cross-build, the options `--host=' and + `--build=' must be passed to the `configure' script. + For example, if your build system is FreeBSD/i386 and the target + system is Linux/MIPS, say ./configure \ --build=i386-unknown-freebsd \ @@ -58,22 +59,63 @@ INSTALL.UNIX for required tools and the basic self-building procedure. 2.2. The prefix to install FreeType2 Setting `--prefix=' properly is important. The prefix - to install FreeType2 is written into the freetype-config script - and freetype2.pc configuration file. + to install FreeType2 is written into the `freetype-config' + script and `freetype2.pc' configuration file. If the built FreeType 2 library is used as a part of the cross-building system, the prefix is expected to be different - from the self-building system. For example, configuration with - `--prefix=/usr/local' installs binaries into the system wide - `/usr/local' directory which then can't be executed. This - causes confusion in configuration of all applications which use - FreeType2. Instead, use a prefix to install the cross-build - into a separate system tree, for example, - `--prefix=/usr/local/mips-ip22-linux/'. - - On the other hand, if the built FreeType2 is used as a part of - the target system, the prefix to install should reflect the file - system structure of the target system. + from the self-building system. For example, a configuration + with `--prefix=/usr/local' installs binaries into the + system-wide `/usr/local' directory, which then can't be executed + due to the incorrect architecture. This causes confusion in + configuration of all applications that use FreeType2. Instead, + use a prefix to install the cross-build into a separate system + tree, for example, `--prefix=/usr/local/mips-ip22-linux/'. + + On the other hand, if the built FreeType 2 library is used as a + part of the target system, the prefix to install should reflect + the file system structure of the target system. + + + 2.3. Library dependencies + + FreeType normally depends on external libraries like `libpng' or + `libharfbuzz'. The easiest case is to deactivate all such + dependencies using the `--without-XXX' configuration options. + However, if you want to use those libraries, you should ensure + that they are available both on the target system and as + (cross-compiled) libraries on the build system. + + FreeType uses `pkg-config' to find most of the libraries; the + other libraries it links to are expected in the standard system + directories. Since the default pkg-config's meta-information + files (like `harfbuzz.pc') of the build platform don't work, use + one of the two possible solutions below. + + o Use pkg-config's meta-information files that are adjusted to + cross-compile and cross-link with the target platform's + libraries. Make sure those files are found before the build + system's default files. Example: + + ./configure \ + --build=i386-unknown-freebsd \ + --host=mips-ip22-linuxelf \ + PKG_CONFIG_LIBDIR="/usr/local/mips-ip22-linux/lib/pkgconfig" \ + [other options] + + See the manpage of `pkg-config' for more details. + + o Set variables like LIBPNG_LIBS as additional options to the + `configure' script, overriding the values `pkg-config' would + provide. `configure --help' shows the available environment + variables. Example: + + ./configure \ + --build=i386-unknown-freebsd \ + --host=mips-ip22-linuxelf \ + LIBPNG_CFLAGS="-I/usr/local/mips-ip22-linux/include" \ + LIBPNG_LIBS="-L/usr/local/mips-ip22-linux/lib -lpng12" \ + [other options] 3. Building command @@ -121,7 +163,7 @@ INSTALL.UNIX for required tools and the basic self-building procedure. ---------------------------------------------------------------------- -Copyright 2006, 2008, 2012 by suzuki toshiya +Copyright 2006, 2008, 2012, 2014 by suzuki toshiya David Turner, Robert Wilhelm, and Werner Lemberg. diff --git a/freetype/docs/INSTALL.GNU b/freetype/docs/INSTALL.GNU index 72df50a4e..3b9e0a2df 100644 --- a/freetype/docs/INSTALL.GNU +++ b/freetype/docs/INSTALL.GNU @@ -1,7 +1,7 @@ -This document contains instructions how to build the FreeType library -on non-Unix systems with the help of GNU Make. Note that if you are -running Cygwin or MSys in Windows, you should follow the instructions -in the file INSTALL.UNIX instead. +This document contains instructions how to build the FreeType library +on non-Unix systems with the help of GNU Make. Note that if you are +running Cygwin or MinGW/MSYS in Windows, you should follow the +instructions in the file `INSTALL.UNIX' instead. FreeType 2 includes a powerful and flexible build system that allows @@ -52,10 +52,10 @@ in the file INSTALL.UNIX instead. The following settings are used: - platform win32 + platform windows compiler gcc - configuration directory .\builds\win32 - configuration rules .\builds\win32\w32-gcc.mk + configuration directory .\builds\windows + configuration rules .\builds\windows\w32-gcc.mk If this does not correspond to your system or settings please remove the file 'config.mk' from this directory then read the @@ -138,15 +138,17 @@ in the file INSTALL.UNIX instead. Final note - The build system builds a statically linked library of the font - engine in the `objs' directory. It does _not_ support the build - of DLLs on Windows and OS/2. If you need these, you have to - either use an IDE-specific project file, or follow the + The above instructions build a _statically_ linked library of the + font engine in the `objs' directory. On Windows, you can build a + DLL either with MinGW (within an MSYS shell, following the + instructions in `INSTALL.UNIX'), or you use one of the Visual C++ + project files; see the subdirectories of `builds/windows'. For + everything else, you are on your own, and you might follow the instructions in `INSTALL.ANY' to create your own Makefiles. ---------------------------------------------------------------------- -Copyright 2003, 2004, 2005, 2006, 2008 by +Copyright 2003-2006, 2008, 2013, 2014 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 7175ca093..251c749a3 100644 --- a/freetype/docs/INSTALL.UNIX +++ b/freetype/docs/INSTALL.UNIX @@ -81,9 +81,28 @@ or MSys on Win32: make make install + + 3.1 Interdependency with HarfBuzz + ................................. + + Note that there is a chicken-and-egg problem currently since the + HarfBuzz library (used by the auto-hinter to improve support of + OpenType fonts) depends on FreeType, which can be solved as + follows in case HarfBuzz is not yet installed on your system. + + 1. Call FreeType's `configure' script with option + `--without-harfbuzz', then compile and install FreeType. + + 2. Compile and install HarfBuzz. + + 3. Call FreeType's `configure' script without option + `--without-harfbuzz' (after executing `make distclean'), then + compile and install FreeType again. + + ---------------------------------------------------------------------- -Copyright 2003-2007, 2013 by +Copyright 2003-2007, 2013, 2014 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/VERSION.DLL b/freetype/docs/VERSION.DLL index 2d1cc9acf..7446954fe 100644 --- a/freetype/docs/VERSION.DLL +++ b/freetype/docs/VERSION.DLL @@ -52,6 +52,9 @@ on _most_ systems, but not all of them: release libtool so ------------------------------- + 2.5.3 17.2.11 6.11.2 + 2.5.2 17.1.11 6.11.1 + 2.5.1 17.0.11 6.11.0 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 @@ -110,7 +113,7 @@ other release numbers. ------------------------------------------------------------------------ -Copyright 2002-2013 by +Copyright 2002-2014 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/freetype-config.1 b/freetype/docs/freetype-config.1 new file mode 100644 index 000000000..99a17c576 --- /dev/null +++ b/freetype/docs/freetype-config.1 @@ -0,0 +1,108 @@ +.TH FREETYPE-CONFIG 1 "March 2014" "FreeType 2.5.3" +. +. +.SH NAME +. +freetype-config \- Get information about a libfreetype installation +. +. +.SH SYNOPSIS +. +.B freetype-config +.RI [ options ] +. +. +.SH DESCRIPTION +. +.B freetype-config +returns information needed for compiling and linking programs with the +FreeType library, such as linker flags and compilation parameters. +. +Alternatively, it can be used to query information about the +FreeType library version installed on the system, such as the +installation (directory path) prefix or the FreeType version number. +. +.PP +This program is part of the FreeType package. +. +. +.SH OPTIONS +. +There are two types of options: output/display selection options, and +path override options. +. +. +.SS Output selection options +. +Only one of the output selection options should be given at each program +invocation. +. +.TP +.B \-\-prefix +Return the prefix value of the installed FreeType library (the default +prefix will be `/usr' in most cases for distribution-installed +packages). +. +.TP +.B \-\-exec-prefix +Return the executable prefix value of the installed FreeType library +(will often be the same as the prefix value). +. +.TP +.B \-\-ftversion +Return the FreeType version number. +. +.TP +.B \-\-version +Return the `libtool version' of the FreeType library. +. +.TP +.B \-\-libtool +Return the library name for linking with libtool. +. +.TP +.B \-\-libs +Return compiler flags for linking with the installed FreeType library. +. +.TP +.B \-\-cflags +Return compiler flags for compiling against the installed FreeType library. +. +.TP +.B \-\-static +Make command line options display flags for static linking. +. +. +.SS Path override options +. +These affect any selected output option, except the libtool version +returned by `--version'. +. +.TP +.BI \-\-prefix= PREFIX +Override `--prefix' value with +.IR PREFIX . +. +.TP +.BI \-\-exec-prefix= EPREFIX +Override `--exec-prefix' value with +.IR EPREFIX . +. +. +.SH BUGS +In case the libraries FreeType links to are located in non-standard +directories, the output from option +.B \-\-libs +might be incomplete. +It is thus recommended to use the +.BR pkg-config (1) +interface instead, which is able to correctly resolve all dependencies. +. +. +.SH AUTHOR +. +This manual page was contributed by Nis Martensen , +with further refinements from the FreeType team. +. +. +.\" eof diff --git a/freetype/docs/reference/ft2-auto_hinter.html b/freetype/docs/reference/ft2-auto_hinter.html index f2cf72a9d..d434ec47c 100644 --- a/freetype/docs/reference/ft2-auto_hinter.html +++ b/freetype/docs/reference/ft2-auto_hinter.html @@ -3,7 +3,7 @@ -FreeType-2.5.0 API Reference +FreeType-2.5.3 API Reference + + + + + +
[Index][TOC]
+

FreeType-2.5.3 API Reference

+ +

+FreeType's header inclusion scheme +

+
+

To be as flexible as possible (and for historical reasons), FreeType uses a very special inclusion scheme to load header files, for example

+
+  #include <ft2build.h>                                            
+                                                                   
+  #include FT_FREETYPE_H                                           
+  #include FT_OUTLINE_H                                            
+
+

A compiler and its preprocessor only needs an include path to find the file ‘ft2build.h’; the exact locations and names of the other FreeType header files are hidden by preprocessor macro names, loaded by ‘ft2build.h’. The API documentation always gives the header macro name needed for a particular function.

+

+ + diff --git a/freetype/docs/reference/ft2-incremental.html b/freetype/docs/reference/ft2-incremental.html index 2c78c9ef2..423aa0bb3 100644 --- a/freetype/docs/reference/ft2-incremental.html +++ b/freetype/docs/reference/ft2-incremental.html @@ -3,7 +3,7 @@ -FreeType-2.5.0 API Reference +FreeType-2.5.3 API Reference