diff options
Diffstat (limited to 'Build/source')
-rwxr-xr-x | Build/source/configure | 4 | ||||
-rw-r--r-- | Build/source/libs/README | 2 | ||||
-rwxr-xr-x | Build/source/libs/configure | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/ChangeLog | 5 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/configure | 24 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/index.html | 42 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-base_interface.html | 3655 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-basic_types.html | 1210 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bdf_fonts.html | 260 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bitmap_handling.html | 302 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bzip2.html | 94 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cid_fonts.html | 204 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-computations.html | 832 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-font_formats.html | 84 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gasp_table.html | 142 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_management.html | 673 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_stroker.html | 940 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_variants.html | 269 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gx_validation.html | 356 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gzip.html | 154 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_file_macros.html | 902 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_inclusion.html | 54 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-index.html | 305 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-list_processing.html | 486 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lzw.html | 94 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-mac_specific.html | 368 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-module_management.html | 819 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-multiple_masters.html | 511 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-ot_validation.html | 208 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-outline_processing.html | 1151 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-pfr_fonts.html | 206 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-quick_advance.html | 186 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-raster.html | 606 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sfnt_names.html | 232 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sizes_management.html | 164 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-system_interface.html | 415 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-toc.html | 239 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_engine.html | 132 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-tt_driver.html | 133 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-type1_tables.html | 689 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-user_allocation.html | 47 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-version.html | 219 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-winfnt_fonts.html | 278 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/tohtml.py | 566 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4-PATCHES/ChangeLog (renamed from Build/source/libs/freetype2/freetype-2.5.3-PATCHES/ChangeLog) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4-PATCHES/TL-Changes (renamed from Build/source/libs/freetype2/freetype-2.5.3-PATCHES/TL-Changes) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/CMakeLists.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/CMakeLists.txt) | 110 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/ChangeLog (renamed from Build/source/libs/freetype2/freetype-2.5.3/ChangeLog) | 1799 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.20 (renamed from Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.20) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.21 (renamed from Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.21) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.22 (renamed from Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.22) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.23 (renamed from Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.23) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.24 (renamed from Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.24) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/Jamfile) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/Jamrules (renamed from Build/source/libs/freetype2/freetype-2.5.3/Jamrules) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/Makefile (renamed from Build/source/libs/freetype2/freetype-2.5.3/Makefile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/README) | 20 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/README.git (renamed from Build/source/libs/freetype2/freetype-2.5.3/README.git) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/autogen.sh (renamed from Build/source/libs/freetype2/freetype-2.5.3/autogen.sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/include/config/ftconfig.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/include/config/ftconfig.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/include/config/ftmodule.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/include/config/ftmodule.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/makefile (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/makefile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/makefile.os4 (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/makefile.os4) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/smakefile (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/smakefile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/src/base/ftdebug.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/src/base/ftdebug.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/src/base/ftsystem.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/src/base/ftsystem.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/ansi/ansi-def.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/ansi/ansi-def.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/ansi/ansi.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/ansi/ansi.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/atari/ATARI.H (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/atari/ATARI.H) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/atari/FNames.SIC (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/atari/FNames.SIC) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/atari/FREETYPE.PRJ (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/atari/FREETYPE.PRJ) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/atari/README.TXT (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/atari/README.TXT) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/atari/deflinejoiner.awk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/atari/deflinejoiner.awk) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/atari/gen-purec-patch.sh (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/atari/gen-purec-patch.sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/beos/beos-def.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/beos/beos-def.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/beos/beos.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/beos/beos.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/beos/detect.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/beos/detect.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/cmake/iOS.cmake | 275 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/ansi-cc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/ansi-cc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/bcc-dev.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/bcc-dev.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/bcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/bcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/emx.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/emx.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/gcc-dev.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/gcc-dev.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/gcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/gcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/intelc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/intelc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/unix-lcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/unix-lcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/visualage.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/visualage.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/visualc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/visualc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/watcom.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/watcom.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/win-lcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/win-lcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/detect.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/detect.mk) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/dos/detect.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/dos/detect.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-def.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-def.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-emx.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-emx.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-gcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-gcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-wat.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-wat.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/exports.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/exports.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/freetype.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/freetype.mk) | 19 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/link_dos.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/link_dos.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/link_std.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/link_std.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.m68k_cfm.make.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.m68k_cfm.make.txt) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.m68k_far.make.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.m68k_far.make.txt) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.ppc_carbon.make.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.ppc_carbon.make.txt) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.ppc_classic.make.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.ppc_classic.make.txt) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/README) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ascii2mpw.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ascii2mpw.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/freetype-Info.plist | 36 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ftlib.prj.xml (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ftlib.prj.xml) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ftmac.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ftmac.c) | 14 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/modules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/modules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/newline (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/newline) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/os2/detect.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/os2/detect.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-def.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-def.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-dev.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-dev.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-gcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-gcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/symbian/bld.inf (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/symbian/bld.inf) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/symbian/freetype.mmp (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/symbian/freetype.mmp) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/toplevel.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/toplevel.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/aclocal.m4 (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/aclocal.m4) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/config.guess (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/config.guess) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/config.sub (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/config.sub) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure) | 45 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure.ac (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure.ac) | 28 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure.raw (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure.raw) | 26 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/detect.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/detect.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype-config.in (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype-config.in) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype2.in (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype2.in) | 8 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype2.m4 (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype2.m4) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ft-munmap.m4 (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ft-munmap.m4) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ftconfig.in (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ftconfig.in) | 249 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ftsystem.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ftsystem.c) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/install-sh (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/install-sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/install.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/install.mk) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ltmain.sh (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ltmain.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/mkinstalldirs (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/mkinstalldirs) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/pkg.m4 (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/pkg.m4) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-cc.in (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-cc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-def.in (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-def.in) | 25 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-dev.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-dev.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-lcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-lcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unixddef.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unixddef.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/vms/ftconfig.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/vms/ftconfig.h) | 244 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/vms/ftsystem.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/vms/ftsystem.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/ftdebug.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/ftdebug.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/freetype.sln (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/freetype.sln) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/freetype.vcproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/freetype.vcproj) | 76 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/index.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/index.html) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/freetype.sln (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/freetype.sln) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/freetype.vcproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/freetype.vcproj) | 76 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/index.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/index.html) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/detect.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/detect.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/ftdebug.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/ftdebug.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/freetype.sln (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/freetype.sln) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/freetype.vcproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/freetype.vcproj) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/index.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/index.html) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/freetype.sln (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/freetype.sln) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/freetype.vcproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/freetype.vcproj) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/index.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/index.html) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.sln (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.sln) | 24 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.user.props | 68 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.vcxproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.vcxproj) | 511 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.vcxproj.filters (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.vcxproj.filters) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/index.html | 52 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.dsp (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.dsp) | 20 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.dsw (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.dsw) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.sln (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.sln) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.vcproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.vcproj) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/index.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/index.html) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.dsp (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.dsp) | 20 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.dsw (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.dsw) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.vcproj (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.vcproj) | 84 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/index.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/index.html) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-bcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-bcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-bccd.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-bccd.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-dev.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-dev.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-gcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-gcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-icc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-icc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-intl.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-intl.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-lcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-lcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-mingw32.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-mingw32.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-vcc.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-vcc.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-wat.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-wat.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/builds/windows/win32-def.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/builds/windows/win32-def.mk) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/configure (renamed from Build/source/libs/freetype2/freetype-2.5.3/configure) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/devel/ft2build.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/devel/ft2build.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/devel/ftoption.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/devel/ftoption.h) | 65 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/CHANGES (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/CHANGES) | 80 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/CMAKE (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/CMAKE) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/CUSTOMIZE (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/CUSTOMIZE) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/DEBUG (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/DEBUG) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/FTL.TXT (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/FTL.TXT) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/GPLv2.TXT (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/GPLv2.TXT) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.ANY (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.ANY) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.CROSS (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.CROSS) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.GNU (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.GNU) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.MAC (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.MAC) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.UNIX (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.UNIX) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.VMS (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.VMS) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/LICENSE.TXT (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/LICENSE.TXT) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/MAKEPP (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/MAKEPP) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/PROBLEMS (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/PROBLEMS) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/TODO (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/TODO) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/VERSION.DLL (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/VERSION.DLL) | 1 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/formats.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/formats.txt) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/freetype-config.1 (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/freetype-config.1) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/raster.txt (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/raster.txt) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-auto_hinter.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-auto_hinter.html) | 329 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-base_interface.html | 2939 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-basic_types.html | 869 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bdf_fonts.html | 280 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bitmap_handling.html | 315 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bzip2.html | 149 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cache_subsystem.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cache_subsystem.html) | 1500 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cff_driver.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cff_driver.html) | 231 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cid_fonts.html | 240 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-computations.html | 700 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-font_formats.html | 139 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gasp_table.html | 187 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_management.html | 594 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_stroker.html | 819 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_variants.html | 292 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gx_validation.html | 362 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gzip.html | 199 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_file_macros.html | 715 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_inclusion.html | 117 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-incremental.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-incremental.html) | 450 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-index.html | 381 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lcd_filtering.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lcd_filtering.html) | 253 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-list_processing.html | 446 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lzw.html | 149 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-mac_specific.html | 374 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-module_management.html | 779 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-multiple_masters.html | 482 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-ot_validation.html | 247 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-outline_processing.html | 964 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-pfr_fonts.html | 242 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-quick_advance.html | 224 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-raster.html | 532 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sfnt_names.html | 256 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sizes_management.html | 202 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-system_interface.html | 401 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-toc.html | 270 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_engine.html | 176 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_tables.html (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_tables.html) | 1477 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-tt_driver.html | 183 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-type1_tables.html | 858 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-user_allocation.html | 110 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-version.html | 252 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-winfnt_fonts.html | 310 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/docs/release (renamed from Build/source/libs/freetype2/freetype-2.5.3/docs/release) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/config/ftconfig.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/config/ftconfig.h) | 246 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/config/ftheader.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/config/ftheader.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/config/ftmodule.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/config/ftmodule.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/config/ftoption.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/config/ftoption.h) | 65 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/config/ftstdlib.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/config/ftstdlib.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/freetype.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/freetype.h) | 252 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ft2build.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ft2build.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftadvanc.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftadvanc.h) | 9 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftautoh.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftautoh.h) | 22 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftbbox.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftbbox.h) | 1 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftbdf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftbdf.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftbitmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftbitmap.h) | 9 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftbzip2.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftbzip2.h) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftcache.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftcache.h) | 8 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftcffdrv.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftcffdrv.h) | 18 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftchapters.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftchapters.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftcid.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftcid.h) | 3 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/fterrdef.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/fterrdef.h) | 182 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/fterrors.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/fterrors.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftgasp.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftgasp.h) | 3 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftglyph.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftglyph.h) | 21 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftgxval.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftgxval.h) | 25 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftgzip.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftgzip.h) | 3 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftimage.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftimage.h) | 204 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftincrem.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftincrem.h) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftlcdfil.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftlcdfil.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftlist.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftlist.h) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftlzw.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftlzw.h) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftmac.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftmac.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftmm.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftmm.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftmodapi.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftmodapi.h) | 30 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftmoderr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftmoderr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftotval.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftotval.h) | 15 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftoutln.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftoutln.h) | 18 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftpfr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftpfr.h) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftrender.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftrender.h) | 1 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftsizes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftsizes.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftsnames.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftsnames.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftstroke.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftstroke.h) | 44 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftsynth.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftsynth.h) | 1 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftsystem.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftsystem.h) | 1 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/fttrigon.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/fttrigon.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftttdrv.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftttdrv.h) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/fttypes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/fttypes.h) | 8 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftwinfnt.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftwinfnt.h) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ftxf86.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ftxf86.h) | 3 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/autohint.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/autohint.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftcalc.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftcalc.h) | 289 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftdebug.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftdebug.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftdriver.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftdriver.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftgloadr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftgloadr.h) | 30 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftmemory.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftmemory.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftobjs.h) | 18 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftrfork.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftrfork.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftserv.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftserv.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftstream.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftstream.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/fttrace.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/fttrace.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftvalid.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftvalid.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/internal.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/internal.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/psaux.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/psaux.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/pshints.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/pshints.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svbdf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svbdf.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svcid.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svcid.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svgldict.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svgldict.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svgxval.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svgxval.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svkern.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svkern.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svmm.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svmm.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svotval.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svotval.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpfr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpfr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpostnm.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpostnm.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svprop.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svprop.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpscmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpscmap.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpsinfo.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpsinfo.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svsfnt.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svsfnt.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svttcmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svttcmap.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svtteng.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svtteng.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svttglyf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svttglyf.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svwinfnt.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svwinfnt.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svxf86nm.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svxf86nm.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/sfnt.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/sfnt.h) | 16 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/t1types.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/t1types.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/internal/tttypes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/internal/tttypes.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/t1tables.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/t1tables.h) | 120 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ttnameid.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ttnameid.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/tttables.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/tttables.h) | 64 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/tttags.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/tttags.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/include/ttunpat.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/include/ttunpat.h) | 3 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/modules.cfg (renamed from Build/source/libs/freetype2/freetype-2.5.3/modules.cfg) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/objs/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/objs/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afangles.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afangles.c) | 60 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afangles.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afangles.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.c) | 109 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.cin (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.cin) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.dat (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.dat) | 257 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.h) | 88 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.hin (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.hin) | 14 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcjk.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcjk.c) | 89 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcjk.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcjk.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcover.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcover.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afdummy.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afdummy.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afdummy.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afdummy.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aferrors.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aferrors.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afglobal.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afglobal.c) | 9 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afglobal.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afglobal.h) | 8 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afhints.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afhints.c) | 267 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afhints.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afhints.h) | 55 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afindic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afindic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afindic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afindic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin.c) | 221 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin.h) | 17 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin2.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin2.c) | 16 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin2.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin2.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afloader.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afloader.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afloader.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afloader.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afmodule.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afmodule.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afmodule.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afmodule.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afranges.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afranges.c) | 84 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afranges.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afranges.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afscript.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afscript.h) | 21 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afstyles.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afstyles.h) | 18 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aftypes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aftypes.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwarp.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwarp.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwarp.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwarp.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwrtsys.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwrtsys.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/autofit.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/autofit.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/hbshim.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/hbshim.c) | 16 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/hbshim.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/hbshim.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/autofit/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/autofit/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/basepic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/basepic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/basepic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/basepic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftadvanc.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftadvanc.c) | 8 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftapi.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftapi.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbase.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbase.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbase.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbase.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbbox.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbbox.c) | 217 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbdf.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbdf.c) | 43 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbitmap.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbitmap.c) | 222 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftcalc.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftcalc.c) | 448 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftcid.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftcid.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftdbgmem.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftdbgmem.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftdebug.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftdebug.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftfstype.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftfstype.c) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgasp.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgasp.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgloadr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgloadr.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftglyph.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftglyph.c) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgxval.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgxval.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftinit.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftinit.c) | 22 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftlcdfil.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftlcdfil.c) | 46 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftmac.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftmac.c) | 25 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftmm.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftmm.c) | 32 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftobjs.c) | 259 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftotval.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftotval.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftoutln.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftoutln.c) | 55 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpatent.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpatent.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpfr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpfr.c) | 15 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftrfork.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftrfork.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsnames.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsnames.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftstream.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftstream.c) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftstroke.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftstroke.c) | 83 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsynth.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsynth.c) | 25 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsystem.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsystem.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/fttrigon.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/fttrigon.c) | 92 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/fttype1.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/fttype1.c) | 45 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftutil.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftutil.c) | 63 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftwinfnt.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftwinfnt.c) | 22 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/ftxf86.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/ftxf86.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/md5.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/md5.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/md5.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/md5.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/base/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/base/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdf.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdf.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdf.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdfdrivr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdfdrivr.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdfdrivr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdfdrivr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdferror.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdferror.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdflib.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdflib.c) | 70 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bdf/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bdf/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/ftbzip2.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/ftbzip2.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcache.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcache.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcbasic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcbasic.c) | 81 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccache.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccache.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccache.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccache.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccback.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccback.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccmap.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccmap.c) | 13 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcerror.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcerror.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcglyph.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcglyph.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcglyph.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcglyph.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcimage.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcimage.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcimage.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcimage.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmanag.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmanag.c) | 31 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmanag.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmanag.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmru.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmru.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmru.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmru.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcsbits.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcsbits.c) | 8 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcsbits.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcsbits.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cache/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cache/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2arrst.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2arrst.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2arrst.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2arrst.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2blues.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2blues.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2blues.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2blues.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2error.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2error.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2error.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2error.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2fixed.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2fixed.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2font.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2font.c) | 39 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2font.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2ft.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2ft.c) | 48 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2ft.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2ft.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2glue.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2glue.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2hints.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2hints.c) | 17 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2hints.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2hints.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2intrp.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2intrp.c) | 21 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2intrp.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2intrp.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2read.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2read.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2read.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2read.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2stack.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2stack.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2stack.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2stack.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2types.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2types.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cff.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cff.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffcmap.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffcmap.c) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffcmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffcmap.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffdrivr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffdrivr.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffdrivr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffdrivr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfferrs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfferrs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffgload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffgload.c) | 41 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffgload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffgload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffload.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffobjs.c) | 44 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffobjs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffparse.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffparse.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffparse.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffparse.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfftoken.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfftoken.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfftypes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfftypes.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cff/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cff/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/ciderrs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/ciderrs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidgload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidgload.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidgload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidgload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidload.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidobjs.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidobjs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidparse.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidparse.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidparse.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidparse.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidriver.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidriver.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidriver.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidriver.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidtoken.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidtoken.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/cid/type1cid.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/cid/type1cid.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvalid.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvalid.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvalid.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvalid.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvbsln.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvbsln.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvcommn.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvcommn.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvcommn.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvcommn.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxverror.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxverror.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfeat.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfeat.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfeat.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfeat.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfgen.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfgen.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvjust.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvjust.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvkern.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvkern.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvlcar.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvlcar.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmod.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmod.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmod.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmod.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort0.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort0.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort1.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort1.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort2.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort2.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort4.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort4.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort5.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort5.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx0.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx0.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx1.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx1.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx2.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx2.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx4.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx4.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx5.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx5.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvopbd.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvopbd.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvprop.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvprop.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvtrak.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvtrak.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/adler32.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/adler32.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/ftgzip.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/ftgzip.c) | 17 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infblock.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infblock.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infblock.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infblock.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infcodes.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infcodes.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infcodes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infcodes.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inffixed.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inffixed.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inflate.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inflate.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inftrees.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inftrees.c) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inftrees.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inftrees.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infutil.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infutil.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infutil.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infutil.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zconf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zconf.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zlib.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zlib.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zutil.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zutil.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zutil.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zutil.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/lzw/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/lzw/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftlzw.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftlzw.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftzopen.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftzopen.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftzopen.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftzopen.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/lzw/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/lzw/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvalid.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvalid.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvalid.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvalid.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvbase.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvbase.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvcommn.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvcommn.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvcommn.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvcommn.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otverror.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otverror.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgdef.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgdef.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgpos.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgpos.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgpos.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgpos.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgsub.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgsub.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvjstf.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvjstf.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmath.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmath.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmod.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmod.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmod.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmod.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcf.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcf.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcf.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfdrivr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfdrivr.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfdrivr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfdrivr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcferror.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcferror.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfread.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfread.c) | 63 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfread.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfread.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfutil.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfutil.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfutil.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfutil.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pcf/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pcf/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfr.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrcmap.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrcmap.c) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrcmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrcmap.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrdrivr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrdrivr.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrdrivr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrdrivr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrerror.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrerror.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrgload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrgload.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrgload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrgload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrload.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrobjs.c) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrobjs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrsbit.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrsbit.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrsbit.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrsbit.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrtypes.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrtypes.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pfr/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pfr/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/afmparse.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/afmparse.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/afmparse.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/afmparse.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psaux.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psaux.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxerr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxerr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxmod.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxmod.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxmod.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxmod.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psconv.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psconv.c) | 3 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psconv.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psconv.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psobjs.c) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psobjs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1cmap.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1cmap.c) | 22 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1cmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1cmap.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1decode.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1decode.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1decode.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1decode.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshalgo.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshalgo.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshalgo.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshalgo.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshglob.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshglob.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshglob.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshglob.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshinter.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshinter.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshmod.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshmod.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshmod.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshmod.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshnterr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshnterr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshrec.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshrec.c) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshrec.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshrec.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psmodule.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psmodule.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psmodule.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psmodule.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psnamerr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psnamerr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psnames.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psnames.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pspic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pspic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pspic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pspic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pstables.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pstables.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/psnames/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/psnames/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftmisc.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftmisc.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftraster.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftraster.c) | 21 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftraster.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftraster.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftrend1.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftrend1.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftrend1.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftrend1.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/raster.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/raster.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/rasterrs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/rasterrs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/rastpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/rastpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/rastpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/rastpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/raster/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/raster/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/pngshim.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/pngshim.c) | 22 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/pngshim.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/pngshim.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfdriver.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfdriver.c) | 22 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfdriver.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfdriver.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sferrors.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sferrors.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfnt.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfnt.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfntpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfntpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfntpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfntpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfobjs.c) | 54 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfobjs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttbdf.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttbdf.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttbdf.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttbdf.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmap.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmap.c) | 56 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmap.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmap.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmapc.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmapc.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttkern.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttkern.c) | 2 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttkern.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttkern.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttload.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttmtx.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttmtx.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttmtx.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttmtx.h) | 4 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttpost.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttpost.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttpost.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttpost.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttsbit.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttsbit.c) | 60 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttsbit.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttsbit.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftgrays.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftgrays.c) | 59 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftgrays.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftgrays.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmerrs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmerrs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmooth.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmooth.c) | 147 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmooth.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmooth.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftspic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftspic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftspic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftspic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/smooth/smooth.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/smooth/smooth.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/afblue.pl (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/afblue.pl) | 7 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/apinames.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/apinames.c) | 0 | ||||
-rwxr-xr-x | Build/source/libs/freetype2/freetype-2.5.4/src/tools/chktrcmp.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/chktrcmp.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/cordic.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/cordic.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/content.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/content.py) | 216 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/docbeauty.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/docbeauty.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/docmaker.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/docmaker.py) | 39 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/formatter.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/formatter.py) | 73 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/sources.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/sources.py) | 200 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/tohtml.py | 675 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/utils.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/utils.py) | 81 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/Makefile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/Makefile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/README (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/ftrandom.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/ftrandom.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/glnames.py (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/glnames.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_afm.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_afm.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_bbox.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_bbox.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_trig.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_trig.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/truetype.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/truetype.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttdriver.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttdriver.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttdriver.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttdriver.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/tterrors.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/tterrors.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgload.c) | 69 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgxvar.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgxvar.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgxvar.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgxvar.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttinterp.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttinterp.c) | 210 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttinterp.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttinterp.h) | 23 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttobjs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttobjs.c) | 68 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttobjs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttobjs.h) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpic.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpic.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpic.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpic.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpload.c) | 12 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttsubpix.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttsubpix.c) | 6 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttsubpix.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttsubpix.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1afm.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1afm.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1afm.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1afm.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1driver.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1driver.c) | 5 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1driver.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1driver.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1errors.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1errors.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1gload.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1gload.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1gload.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1gload.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1load.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1load.c) | 9 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1load.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1load.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1objs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1objs.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1objs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1objs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1parse.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1parse.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1parse.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1parse.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1tokens.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1tokens.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type1/type1.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type1/type1.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42drivr.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42drivr.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42drivr.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42drivr.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42error.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42error.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42objs.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42objs.c) | 10 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42objs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42objs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42parse.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42parse.c) | 35 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42parse.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42parse.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42types.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42types.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/type42/type42.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/type42/type42.c) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/Jamfile (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/Jamfile) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/fnterrs.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/fnterrs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/module.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/module.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/rules.mk (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/rules.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/winfnt.c (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/winfnt.c) | 7 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/winfnt.h (renamed from Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/winfnt.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/version.sed (renamed from Build/source/libs/freetype2/freetype-2.5.3/version.sed) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/freetype-2.5.4/vms_make.com (renamed from Build/source/libs/freetype2/freetype-2.5.3/vms_make.com) | 0 | ||||
-rw-r--r-- | Build/source/libs/freetype2/version.ac | 2 | ||||
-rw-r--r-- | Build/source/libs/luajit/texluajit.pc.in | 4 | ||||
-rw-r--r-- | Build/source/m4/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/m4/kpse-options.m4 | 8 | ||||
-rwxr-xr-x | Build/source/texk/configure | 4 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/Makefile.am | 10 | ||||
-rw-r--r-- | Build/source/texk/kpathsea/Makefile.in | 14 | ||||
-rwxr-xr-x | Build/source/utils/configure | 4 |
807 files changed, 26692 insertions, 24495 deletions
diff --git a/Build/source/configure b/Build/source/configure index e73e4a29c5f..19005288306 100755 --- a/Build/source/configure +++ b/Build/source/configure @@ -4032,11 +4032,11 @@ if test "${enable_multiplatform+set}" = set; then : fi if test "x$enable_multiplatform" = xyes; then if test "x$bindir" = 'x${exec_prefix}/bin'; then - bindir="$bindir/$host" + bindir="$bindir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--bindir=$bindir'" fi if test "x$libdir" = 'x${exec_prefix}/lib'; then - libdir="$libdir/$host" + libdir="$libdir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--libdir=$libdir'" fi fi diff --git a/Build/source/libs/README b/Build/source/libs/README index c09492c8bb3..c1f5340eb88 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -12,7 +12,7 @@ See also comments in ../texk/README. cairo 1.14.0 - checked 15oct14 http://cairographics.org/releases/ -freetype2 2.5.3 - checked 8mar14 +freetype2 2.5.4 - checked 7dec14 http://savannah.nongnu.org/download/freetype/ gd 2.1.0 - checked 26jun13 diff --git a/Build/source/libs/configure b/Build/source/libs/configure index d76238e40b2..924714ad6c0 100755 --- a/Build/source/libs/configure +++ b/Build/source/libs/configure @@ -3284,11 +3284,11 @@ if test "${enable_multiplatform+set}" = set; then : fi if test "x$enable_multiplatform" = xyes; then if test "x$bindir" = 'x${exec_prefix}/bin'; then - bindir="$bindir/$host" + bindir="$bindir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--bindir=$bindir'" fi if test "x$libdir" = 'x${exec_prefix}/lib'; then - libdir="$libdir/$host" + libdir="$libdir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--libdir=$libdir'" fi fi diff --git a/Build/source/libs/freetype2/ChangeLog b/Build/source/libs/freetype2/ChangeLog index 52e3b4803bd..526e8e60034 100644 --- a/Build/source/libs/freetype2/ChangeLog +++ b/Build/source/libs/freetype2/ChangeLog @@ -1,3 +1,8 @@ +2014-12-07 Peter Breitenlohner <peb@mppmu.mpg.de> + + Import freetype-2.5.4. + * version.ac: Adjust. + 2014-03-08 Peter Breitenlohner <peb@mppmu.mpg.de> Import freetype-2.5.3. diff --git a/Build/source/libs/freetype2/configure b/Build/source/libs/freetype2/configure index 864d6e865af..50908fbdc36 100755 --- a/Build/source/libs/freetype2/configure +++ b/Build/source/libs/freetype2/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeType (TeX Live) 2.5.3. +# Generated by GNU Autoconf 2.69 for FreeType (TeX Live) 2.5.4. # # Report bugs to <tex-k@tug.org>. # @@ -579,12 +579,12 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType (TeX Live)' PACKAGE_TARNAME='freetype--tex-live-' -PACKAGE_VERSION='2.5.3' -PACKAGE_STRING='FreeType (TeX Live) 2.5.3' +PACKAGE_VERSION='2.5.4' +PACKAGE_STRING='FreeType (TeX Live) 2.5.4' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' -ac_unique_file="freetype-2.5.3/builds/unix/ftconfig.in" +ac_unique_file="freetype-2.5.4/builds/unix/ftconfig.in" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -1235,7 +1235,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures FreeType (TeX Live) 2.5.3 to adapt to many kinds of systems. +\`configure' configures FreeType (TeX Live) 2.5.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1302,7 +1302,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType (TeX Live) 2.5.3:";; + short | recursive ) echo "Configuration of FreeType (TeX Live) 2.5.4:";; esac cat <<\_ACEOF @@ -1398,7 +1398,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType (TeX Live) configure 2.5.3 +FreeType (TeX Live) configure 2.5.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1499,7 +1499,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by FreeType (TeX Live) $as_me 2.5.3, which was +It was created by FreeType (TeX Live) $as_me 2.5.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3422,7 +3422,7 @@ fi # Define the identity of the package. PACKAGE='freetype--tex-live-' - VERSION='2.5.3' + VERSION='2.5.4' cat >>confdefs.h <<_ACEOF @@ -4368,7 +4368,7 @@ else fi -FREETYPE_TREE=freetype-2.5.3 +FREETYPE_TREE=freetype-2.5.4 ac_config_files="$ac_config_files Makefile" @@ -4952,7 +4952,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by FreeType (TeX Live) $as_me 2.5.3, which was +This file was extended by FreeType (TeX Live) $as_me 2.5.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5009,7 +5009,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeType (TeX Live) config.status 2.5.3 +FreeType (TeX Live) config.status 2.5.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/index.html b/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/index.html deleted file mode 100644 index 2b2b4317dfd..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/index.html +++ /dev/null @@ -1,42 +0,0 @@ -<html> -<header> -<title> - FreeType 2 Project Files for VS.NET 2010 or newer -</title> - -<body> -<h1> - FreeType 2 Project Files for VS.NET 2010 or newer -</h1> - -<p>This directory contains a project file for Visual C++ (VS.NET 2010 -or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called -<tt>freetype.sln</tt>. It compiles the following libraries from the -FreeType 2.5.3 sources:</p> - -<ul> - <pre> -freetype253.lib - release build -freetype253_D.lib - debug build -freetype253ST.lib - release build; single threaded -freetype253ST_D.lib - debug build; single threaded -freetype253MT.lib - release build; multi-threaded -freetype253MT_D.lib - debug build; multi-threaded</pre> -</ul> - -<p>Both Win32 and x64 builds are supported.</p> - -<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP -archives are already stored this way, so no further action is required. If -you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting -tool to convert the line endings. For example, with <a -href="http://www.winzip.com">WinZip</a>, you should activate the <it>TAR -file smart CR/LF Conversion</it> option. Alternatively, you may consider -using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating -around, which specifically deal with this particular problem. - -<p>Build directories are placed in the top-level <tt>objs</tt> -directory.</p> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-base_interface.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-base_interface.html deleted file mode 100644 index 2292545100a..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-base_interface.html +++ /dev/null @@ -1,3655 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Base Interface -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Library">FT_Library</a></td><td></td><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td></tr> -<tr><td></td><td><a href="#FT_Face">FT_Face</a></td><td></td><td><a href="#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td></tr> -<tr><td></td><td><a href="#FT_Size">FT_Size</a></td><td></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr> -<tr><td></td><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td><td></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr> -<tr><td></td><td><a href="#FT_CharMap">FT_CharMap</a></td><td></td><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr> -<tr><td></td><td><a href="#FT_Encoding">FT_Encoding</a></td><td></td><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td></td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td></tr> -<tr><td></td><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td></td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr> -<tr><td></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td><td></td><td><a href="#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr> -<tr><td></td><td><a href="#FT_Module">FT_Module</a></td><td></td><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr> -<tr><td></td><td><a href="#FT_Driver">FT_Driver</a></td><td></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr> -<tr><td></td><td><a href="#FT_Renderer">FT_Renderer</a></td><td></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td></td><td><a href="#ft_kerning_default">ft_kerning_default</a></td></tr> -<tr><td></td><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td></td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td></td><td><a href="#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr> -<tr><td></td><td><a href="#ft_encoding_xxx">ft_encoding_xxx</a></td><td></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td></td><td><a href="#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr> -<tr><td></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td><td></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr> -<tr><td></td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td><td></td><td><a href="#FT_New_Face">FT_New_Face</a></td><td></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr> -<tr><td></td><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr> -<tr><td></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td></td><td><a href="#FT_Reference_Face">FT_Reference_Face</a></td><td></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr> -<tr><td></td><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td></td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td></tr> -<tr><td></td><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td></tr> -<tr><td></td><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr> -<tr><td></td><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr> -<tr><td></td><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section describes the public high-level API of FreeType 2.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Library">FT_Library</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_LibraryRec_ *<b>FT_Library</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a FreeType library instance. Each ‘library’ is completely independent from the others; it is the ‘root’ of a set of objects like fonts, faces, sizes, etc.</p> -<p>It also embeds a memory manager (see <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a>), as well as a scan-line converter object (see <a href="ft2-raster.html#FT_Raster">FT_Raster</a>).</p> -<p>In multi-threaded applications, make sure that the same FT_Library object or any of its children doesn't get accessed in parallel.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Library objects are normally created by <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>, and destroyed with <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>. If you need reference-counting (cf. <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>), use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> and <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face">FT_Face</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_* <b>FT_Face</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given typographic face object. A face object models a given typeface, in a given style.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Each face object also owns a single <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object, as well as one or more <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> -<p>Use <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to create a new face object from a given filepathname or a custom input stream.</p> -<p>Use <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> to destroy it (along with its slot and sizes).</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> -<p>See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the publicly accessible fields of a given face object.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Size">FT_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_* <b>FT_Size</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to an object used to model a face scaled to a given character size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Each <a href="ft2-base_interface.html#FT_Face">FT_Face</a> has an <i>active</i> <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object that is used by functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to determine the scaling transformation that in turn is used to load and hint glyphs and metrics.</p> -<p>You can use <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> or even <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> to change the content (i.e., the scaling values) of the active <a href="ft2-base_interface.html#FT_Size">FT_Size</a>.</p> -<p>You can use <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> to create additional size objects for a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a>, but they won't be used by other functions until you activate it through <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a>. Only one size can be activated at any given time per face.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> -<p>See <a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a> for the publicly accessible fields of a given size object.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GlyphSlot">FT_GlyphSlot</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_* <b>FT_GlyphSlot</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given ‘glyph slot’. A slot is a container where it is possible to load any of the glyphs contained in its parent face.</p> -<p>In other words, each time you call <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, the slot's content is erased by the new glyph data, i.e., the glyph's metrics, its image (bitmap or outline), and other control information.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> -<p>See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for the publicly accessible glyph fields.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CharMap">FT_CharMap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_* <b>FT_CharMap</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given character map. A charmap is used to translate character codes in a given encoding into glyph indexes for its parent's face. Some font formats may provide several charmaps per font.</p> -<p>Each face object owns zero or more charmaps, but only one of them can be ‘active’ and used by <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p> -<p>The list of available charmaps in a face is available through the ‘face->num_charmaps’ and ‘face->charmaps’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> -<p>The currently active charmap is available as ‘face->charmap’. You should call <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> to change it.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>When a new face is created (either through <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>), the library looks for a Unicode charmap within the list and automatically activates it.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> -<p>See <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> for the publicly accessible fields of a given character map.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Encoding">FT_Encoding</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Encoding_ - { - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a>, 0, 0, 0, 0 ), - - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>, 's', 'y', 'm', 'b' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>, 'u', 'n', 'i', 'c' ), - - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>, 's', 'j', 'i', 's' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>, 'g', 'b', ' ', ' ' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>, 'b', 'i', 'g', '5' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>, 'w', 'a', 'n', 's' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>, 'j', 'o', 'h', 'a' ), - - /* for backwards compatibility */ - <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>, - <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>, - <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>, - <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>, - <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a> = <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>, - - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a>, 'A', 'D', 'O', 'B' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a>, 'A', 'D', 'B', 'E' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a>, 'A', 'D', 'B', 'C' ), - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a>, 'l', 'a', 't', '1' ), - - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a>, 'l', 'a', 't', '2' ), - - <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a>, 'a', 'r', 'm', 'n' ) - - } <b>FT_Encoding</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration used to specify character sets supported by charmaps. Used in the <a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a> API function.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).</p> -<p>Other encodings might be defined in the future.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_ENCODING_NONE</b></td><td> -<p>The encoding value 0 is reserved.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_UNICODE</b></td><td> -<p>Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charmap, but not all of them.</p> -<p>For example, if you want to access Unicode value U+1F028 (and the font contains it), use value 0x1F028 as the input value for <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a>.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_MS_SYMBOL</b></td><td> -<p>Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see ‘<a href="http://www.kostis.net/charsets/symbol.htm">http://www.kostis.net/charsets/symbol.htm</a>’.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_SJIS</b></td><td> -<p>Corresponds to Japanese SJIS encoding. More info at at ‘<a href="http://en.wikipedia.org/wiki/Shift_JIS">http://en.wikipedia.org/wiki/Shift_JIS</a>’. See note on multi-byte encodings below.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_GB2312</b></td><td> -<p>Corresponds to an encoding system for Simplified Chinese as used used in mainland China.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_BIG5</b></td><td> -<p>Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_WANSUNG</b></td><td> -<p>Corresponds to the Korean encoding system known as Wansung. For more information see ‘<a href="http://msdn.microsoft.com/en-US/goglobal/cc305154">http://msdn.microsoft.com/en-US/goglobal/cc305154</a>’.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_JOHAB</b></td><td> -<p>The Korean standard character set (KS C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_LATIN_1</b></td></tr> -<tr valign=top><td></td><td> -<p>Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It is limited to 256 character codes.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_STANDARD</b></td></tr> -<tr valign=top><td></td><td> -<p>Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_EXPERT</b></td></tr> -<tr valign=top><td></td><td> -<p>Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ENCODING_ADOBE_CUSTOM</b></td></tr> -<tr valign=top><td></td><td> -<p>Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ENCODING_APPLE_ROMAN</b></td></tr> -<tr valign=top><td></td><td> -<p>Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType fonts contain a charmap for this encoding, since older versions of Mac OS are able to use it.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ENCODING_OLD_LATIN_2</b></td></tr> -<tr valign=top><td></td><td> -<p>This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_MS_SJIS</b></td><td> -<p>Same as FT_ENCODING_SJIS. Deprecated.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_MS_GB2312</b></td><td> -<p>Same as FT_ENCODING_GB2312. Deprecated.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_MS_BIG5</b></td><td> -<p>Same as FT_ENCODING_BIG5. Deprecated.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_MS_WANSUNG</b></td><td> -<p>Same as FT_ENCODING_WANSUNG. Deprecated.</p> -</td></tr> -<tr valign=top><td><b>FT_ENCODING_MS_JOHAB</b></td><td> -<p>Same as FT_ENCODING_JOHAB. Deprecated.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>By default, FreeType automatically synthesizes a Unicode charmap for PostScript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.</p> -<p>FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use <a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a> to find out which encoding is really present. If, for example, the ‘cs_registry’ field is ‘KOI8’ and the ‘cs_encoding’ field is ‘R’, the font is encoded in KOI8-R.</p> -<p>FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use <a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a> and examine the ‘charset’ field of the <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure to find out which encoding is really present. For example, <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a> (204) means Windows code page 1251 (for Russian).</p> -<p>FT_ENCODING_NONE is set if ‘platform_id’ is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> and ‘encoding_id’ is not <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> (otherwise it is set to FT_ENCODING_APPLE_ROMAN).</p> -<p>If ‘platform_id’ is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>, use the function <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a> to query the Mac language ID that may be needed to be able to distinguish Apple encoding variants. See</p> -<p><a href="http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt">http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt</a></p> -<p>to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine ‘encoding_id’. If, for example, ‘encoding_id’ is <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_Metrics">FT_Glyph_Metrics</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Glyph_Metrics_ - { - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> width; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> height; - - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiBearingX; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiBearingY; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiAdvance; - - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertBearingX; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertBearingY; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertAdvance; - - } <b>FT_Glyph_Metrics</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> has been used while loading the glyph, values are expressed in font units instead.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>width</b></td><td> -<p>The glyph's width.</p> -</td></tr> -<tr valign=top><td><b>height</b></td><td> -<p>The glyph's height.</p> -</td></tr> -<tr valign=top><td><b>horiBearingX</b></td><td> -<p>Left side bearing for horizontal layout.</p> -</td></tr> -<tr valign=top><td><b>horiBearingY</b></td><td> -<p>Top side bearing for horizontal layout.</p> -</td></tr> -<tr valign=top><td><b>horiAdvance</b></td><td> -<p>Advance width for horizontal layout.</p> -</td></tr> -<tr valign=top><td><b>vertBearingX</b></td><td> -<p>Left side bearing for vertical layout.</p> -</td></tr> -<tr valign=top><td><b>vertBearingY</b></td><td> -<p>Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.</p> -</td></tr> -<tr valign=top><td><b>vertAdvance</b></td><td> -<p>Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If not disabled with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>, the values represent dimensions of the hinted glyph (in case hinting is applicable).</p> -<p>Stroking a glyph with an outside border does not increase ‘horiAdvance’ or ‘vertAdvance’; you have to manually adjust these values to account for the added width and height.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap_Size">FT_Bitmap_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_Size_ - { - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> height; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> width; - - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> size; - - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x_ppem; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y_ppem; - - } <b>FT_Bitmap_Size</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This structure models the metrics of a bitmap strike (i.e., a set of glyphs for a given point size and resolution) in a bitmap font. It is used for the ‘available_sizes’ field of <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>height</b></td><td> -<p>The vertical distance, in pixels, between two consecutive baselines. It is always positive.</p> -</td></tr> -<tr valign=top><td><b>width</b></td><td> -<p>The average width, in pixels, of all glyphs in the strike.</p> -</td></tr> -<tr valign=top><td><b>size</b></td><td> -<p>The nominal size of the strike in 26.6 fractional points. This field is not very useful.</p> -</td></tr> -<tr valign=top><td><b>x_ppem</b></td><td> -<p>The horizontal ppem (nominal width) in 26.6 fractional pixels.</p> -</td></tr> -<tr valign=top><td><b>y_ppem</b></td><td> -<p>The vertical ppem (nominal height) in 26.6 fractional pixels.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets ‘size’ to some calculated values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height given in the font, respectively.</p> -<p>TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Module">FT_Module</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ModuleRec_* <b>FT_Module</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Driver">FT_Driver</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_DriverRec_* <b>FT_Driver</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Renderer">FT_Renderer</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RendererRec_* <b>FT_Renderer</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ENC_TAG">FT_ENC_TAG</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#ifndef <b>FT_ENC_TAG</b> -#define <b>FT_ENC_TAG</b>( value, a, b, c, d ) \ - value = ( ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(a) << 24 ) | \ - ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(b) << 16 ) | \ - ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(c) << 8 ) | \ - (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(d) ) - -#endif /* <b>FT_ENC_TAG</b> */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This macro converts four-letter tags into an unsigned long. It is used to define ‘encoding’ identifiers (see <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a>).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> -<pre class="colored"> - #define FT_ENC_TAG( value, a, b, c, d ) value -</pre> -<p>to get a simple enumeration without assigning special numbers.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_encoding_xxx">ft_encoding_xxx</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define ft_encoding_none <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a> -#define ft_encoding_unicode <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a> -#define ft_encoding_symbol <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a> -#define ft_encoding_latin_1 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a> -#define ft_encoding_latin_2 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a> -#define ft_encoding_sjis <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a> -#define ft_encoding_gb2312 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a> -#define ft_encoding_big5 <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a> -#define ft_encoding_wansung <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a> -#define ft_encoding_johab <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a> - -#define ft_encoding_adobe_standard <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a> -#define ft_encoding_adobe_expert <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a> -#define ft_encoding_adobe_custom <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a> -#define ft_encoding_apple_roman <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These constants are deprecated; use the corresponding <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> values instead.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CharMapRec">FT_CharMapRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_ - { - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; - <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> encoding; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> platform_id; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> encoding_id; - - } <b>FT_CharMapRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The base charmap structure.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the parent face object.</p> -</td></tr> -<tr valign=top><td><b>encoding</b></td><td> -<p>An <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> tag identifying the charmap. Use this with <a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a>.</p> -</td></tr> -<tr valign=top><td><b>platform_id</b></td><td> -<p>An ID number describing the platform for the following encoding ID. This comes directly from the TrueType specification and should be emulated for other formats.</p> -</td></tr> -<tr valign=top><td><b>encoding_id</b></td><td> -<p>A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_Internal">FT_Face_Internal</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Face_InternalRec_* <b>FT_Face_Internal</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object.</p> -<p>This structure might change between releases of FreeType 2 and is not generally available to client applications.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_FaceRec">FT_FaceRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_ - { - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> num_faces; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index; - - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_flags; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> style_flags; - - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> num_glyphs; - - <a href="ft2-basic_types.html#FT_String">FT_String</a>* family_name; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* style_name; - - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_fixed_sizes; - <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a>* available_sizes; - - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_charmaps; - <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>* charmaps; - - <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; - - /*# The following member variables (down to `underline_thickness') */ - /*# are only relevant to scalable outlines; cf. @<a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a> */ - /*# for bitmap fonts. */ - <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> bbox; - - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> units_per_EM; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ascender; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> descender; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> height; - - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> max_advance_width; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> max_advance_height; - - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_position; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_thickness; - - <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph; - <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size; - <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap; - - /*@private begin */ - - <a href="ft2-base_interface.html#FT_Driver">FT_Driver</a> driver; - <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory; - <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream; - - <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a> sizes_list; - - <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> autohint; /* face-specific auto-hinter data */ - <span class="keyword">void</span>* extensions; /* unused */ - - <a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a> internal; - - /*@private end */ - - } <b>FT_FaceRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>FreeType root face class structure. A face object models a typeface in a font file.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>num_faces</b></td><td> -<p>The number of faces in the font file. Some font formats can have multiple faces in a font file.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>The index of the face in the font file. It is set to 0 if there is only one face in the font file.</p> -</td></tr> -<tr valign=top><td><b>face_flags</b></td><td> -<p>A set of bit flags that give important information about the face; see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a> for the details.</p> -</td></tr> -<tr valign=top><td><b>style_flags</b></td><td> -<p>A set of bit flags indicating the style of the face; see <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a> for the details.</p> -</td></tr> -<tr valign=top><td><b>num_glyphs</b></td><td> -<p>The number of glyphs in the face. If the face is scalable and has sbits (see ‘num_fixed_sizes’), it is set to the number of outline glyphs.</p> -<p>For CID-keyed fonts, this value gives the highest CID used in the font.</p> -</td></tr> -<tr valign=top><td><b>family_name</b></td><td> -<p>The face's family name. This is an ASCII string, usually in English, that describes the typeface's family (like ‘Times New Roman’, ‘Bodoni’, ‘Garamond’, etc). This is a least common denominator used to list fonts. Some formats (TrueType & OpenType) provide localized and Unicode versions of this string. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded in a PDF file).</p> -</td></tr> -<tr valign=top><td><b>style_name</b></td><td> -<p>The face's style name. This is an ASCII string, usually in English, that describes the typeface's style (like ‘Italic’, ‘Bold’, ‘Condensed’, etc). Not all font formats provide a style name, so this field is optional, and can be set to NULL. As for ‘family_name’, some formats provide localized and Unicode versions of this string. Applications should use the format specific interface to access them.</p> -</td></tr> -<tr valign=top><td><b>num_fixed_sizes</b></td><td> -<p>The number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap strikes, which are called ‘sbits’ in that case.</p> -</td></tr> -<tr valign=top><td><b>available_sizes</b></td><td> -<p>An array of <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a> for all bitmap strikes in the face. It is set to NULL if there is no bitmap strike.</p> -</td></tr> -<tr valign=top><td><b>num_charmaps</b></td><td> -<p>The number of charmaps in the face.</p> -</td></tr> -<tr valign=top><td><b>charmaps</b></td><td> -<p>An array of the charmaps of the face.</p> -</td></tr> -<tr valign=top><td><b>generic</b></td><td> -<p>A field reserved for client uses. See the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type description.</p> -</td></tr> -<tr valign=top><td><b>bbox</b></td><td> -<p>The font bounding box. Coordinates are expressed in font units (see ‘units_per_EM’). The box is large enough to contain any glyph from the font. Thus, ‘bbox.yMax’ can be seen as the ‘maximum ascender’, and ‘bbox.yMin’ as the ‘minimum descender’. Only relevant for scalable formats.</p> -<p>Note that the bounding box might be off by (at least) one pixel for hinted fonts. See <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> for further discussion.</p> -</td></tr> -<tr valign=top><td><b>units_per_EM</b></td><td> -<p>The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type 1 fonts. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>ascender</b></td><td> -<p>The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMax’. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>descender</b></td><td> -<p>The typographic descender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMin’. Note that this field is usually negative. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>height</b></td><td> -<p>This value is the vertical distance between two consecutive baselines, expressed in font units. It is always positive. Only relevant for scalable formats.</p> -<p>If you want the global glyph height, use ‘ascender - descender’.</p> -</td></tr> -<tr valign=top><td><b>max_advance_width</b></td><td> -<p>The maximum advance width, in font units, for all glyphs in this face. This can be used to make word wrapping computations faster. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>max_advance_height</b></td><td> -<p>The maximum advance height, in font units, for all glyphs in this face. This is only relevant for vertical layouts, and is set to ‘height’ for fonts that do not provide vertical metrics. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>underline_position</b></td><td> -<p>The position, in font units, of the underline line for this face. It is the center of the underlining stem. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>underline_thickness</b></td><td> -<p>The thickness, in font units, of the underline for this face. Only relevant for scalable formats.</p> -</td></tr> -<tr valign=top><td><b>glyph</b></td><td> -<p>The face's associated glyph slot(s).</p> -</td></tr> -<tr valign=top><td><b>size</b></td><td> -<p>The current active size for this face.</p> -</td></tr> -<tr valign=top><td><b>charmap</b></td><td> -<p>The current active charmap for this face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Fields may be changed after a call to <a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a> or <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a> ( 1L << 0 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> ( 1L << 1 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a> ( 1L << 2 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a> ( 1L << 3 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a> ( 1L << 4 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a> ( 1L << 5 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a> ( 1L << 6 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a> ( 1L << 7 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ( 1L << 8 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a> ( 1L << 9 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a> ( 1L << 10 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a> ( 1L << 11 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> ( 1L << 12 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> ( 1L << 13 ) -#define <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a> ( 1L << 14 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit flags used in the ‘face_flags’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure. They inform client applications of properties of the corresponding face.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_FACE_FLAG_SCALABLE</b></td><td> -<p>Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> set.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_FIXED_SIZES</b></td></tr> -<tr valign=top><td></td><td> -<p>Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_FIXED_WIDTH</b></td></tr> -<tr valign=top><td></td><td> -<p>Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_SFNT</b></td><td> -<p>Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_HORIZONTAL</b></td></tr> -<tr valign=top><td></td><td> -<p>Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_VERTICAL</b></td><td> -<p>Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_KERNING</b></td><td> -<p>Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_FAST_GLYPHS</b></td></tr> -<tr valign=top><td></td><td> -<p>THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_MULTIPLE_MASTERS</b></td></tr> -<tr valign=top><td></td><td> -<p>Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_GLYPH_NAMES</b></td></tr> -<tr valign=top><td></td><td> -<p>Indicates that the font contains glyph names that can be retrieved through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>. Note that some TrueType fonts contain broken glyph name tables. Use the function <a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a> when needed.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FACE_FLAG_EXTERNAL_STREAM</b></td></tr> -<tr valign=top><td></td><td> -<p>Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> is called. Don't read or test this flag.</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_HINTER</b></td><td> -<p>Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active.</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_CID_KEYED</b></td><td> -<p>Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error.</p> -<p>Note that CID-keyed fonts that are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_TRICKY</b></td><td> -<p>Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ that uses TrueType bytecode instructions to move and scale all of its subglyphs.</p> -<p>It is not possible to autohint such fonts using <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>; it will also ignore <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>. You have to set both <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> to really disable hinting; however, you probably never want this except for demonstration purposes.</p> -<p>Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.</p> -</td></tr> -<tr valign=top><td><b>FT_FACE_FLAG_COLOR</b></td><td> -<p>Set if the font has color glyph tables. To access color glyphs use <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_HORIZONTAL</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>also</b></em></td></tr><tr><td> -<p><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a> can be used to check for vertical metrics.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_VERTICAL</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains real vertical metrics (and not only synthesized ones).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_KERNING">FT_HAS_KERNING</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_KERNING</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains kerning data that can be accessed with <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IS_SCALABLE">FT_IS_SCALABLE</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_IS_SCALABLE</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IS_SFNT">FT_IS_SFNT</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_IS_SFNT</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.</p> -<p>If this macro is true, all functions defined in <a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a> and <a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a> are available.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_IS_FIXED_WIDTH</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_FIXED_SIZES</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Deprecated.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_GLYPH_NAMES</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains some glyph names that can be accessed through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_MULTIPLE_MASTERS</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains some multiple masters. The functions provided by <a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a> are then available to choose the exact design you want.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_IS_CID_KEYED</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> for more details.</p> -<p>If this macro is true, all functions defined in <a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a> are available.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IS_TRICKY">FT_IS_TRICKY</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_IS_TRICKY</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more details.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_HAS_COLOR">FT_HAS_COLOR</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_HAS_COLOR</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro that returns true whenever a face object contains tables for color glyphs.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a> ( 1 << 0 ) -#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a> ( 1 << 1 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_STYLE_FLAG_ITALIC</b></td><td> -<p>Indicates that a given face style is italic or oblique.</p> -</td></tr> -<tr valign=top><td><b>FT_STYLE_FLAG_BOLD</b></td><td> -<p>Indicates that a given face is bold.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The style information as provided by FreeType is very basic. More details are beyond the scope and should be done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Size_Internal">FT_Size_Internal</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_InternalRec_* <b>FT_Size_Internal</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Size_Metrics">FT_Size_Metrics</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_Metrics_ - { - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> x_ppem; /* horizontal pixels per EM */ - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> y_ppem; /* vertical pixels per EM */ - - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x_scale; /* scaling values used to convert font */ - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> y_scale; /* units to 26.6 fractional pixels */ - - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> ascender; /* ascender in 26.6 frac. pixels */ - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> descender; /* descender in 26.6 frac. pixels */ - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> height; /* text height in 26.6 frac. pixels */ - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> max_advance; /* max horizontal advance, in 26.6 pixels */ - - } <b>FT_Size_Metrics</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The size metrics structure gives the metrics of a size object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>x_ppem</b></td><td> -<p>The width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal width’.</p> -</td></tr> -<tr valign=top><td><b>y_ppem</b></td><td> -<p>The height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal height’.</p> -</td></tr> -<tr valign=top><td><b>x_scale</b></td><td> -<p>A 16.16 fractional scaling value used to convert horizontal metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.</p> -</td></tr> -<tr valign=top><td><b>y_scale</b></td><td> -<p>A 16.16 fractional scaling value used to convert vertical metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.</p> -</td></tr> -<tr valign=top><td><b>ascender</b></td><td> -<p>The ascender in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> -</td></tr> -<tr valign=top><td><b>descender</b></td><td> -<p>The descender in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> -</td></tr> -<tr valign=top><td><b>height</b></td><td> -<p>The height in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> -</td></tr> -<tr valign=top><td><b>max_advance</b></td><td> -<p>The maximum advance width in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The scaling values, if relevant, are determined first during a size changing operation. The remaining fields are then set by the driver. For scalable formats, they are usually set to scaled values of the corresponding fields in <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> -<p>Note that due to glyph hinting, these values might not be exact for certain fonts. Thus they must be treated as unreliable with an error margin of at least one pixel!</p> -<p>Indeed, the only way to get the exact metrics is to render <i>all</i> glyphs. As this would be a definite performance hit, it is up to client applications to perform such computations.</p> -<p>The FT_Size_Metrics structure is valid for bitmap fonts also.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SizeRec">FT_SizeRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_ - { - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; /* parent face object */ - <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; /* generic pointer for client uses */ - <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> metrics; /* size metrics */ - <a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a> internal; - - } <b>FT_SizeRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>FreeType root size class structure. A size object models a face object at a given size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>Handle to the parent face object.</p> -</td></tr> -<tr valign=top><td><b>generic</b></td><td> -<p>A typeless pointer, unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each size object.</p> -</td></tr> -<tr valign=top><td><b>metrics</b></td><td> -<p>Metrics for this size object. This field is read-only.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SubGlyph">FT_SubGlyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SubGlyphRec_* <b>FT_SubGlyph</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The subglyph implementation is not part of the high-level API, hence the forward structure declaration.</p> -<p>You can however retrieve subglyph information with <a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Slot_Internal">FT_Slot_Internal</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Slot_InternalRec_* <b>FT_Slot_Internal</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GlyphSlotRec">FT_GlyphSlotRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_ - { - <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library; - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; - <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> next; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> reserved; /* retained for binary compatibility */ - <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; - - <a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a> metrics; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> linearHoriAdvance; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> linearVertAdvance; - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> advance; - - <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format; - - <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> bitmap; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> bitmap_left; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> bitmap_top; - - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> outline; - - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_subglyphs; - <a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a> subglyphs; - - <span class="keyword">void</span>* control_data; - <span class="keyword">long</span> control_len; - - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> lsb_delta; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> rsb_delta; - - <span class="keyword">void</span>* other; - - <a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a> internal; - - } <b>FT_GlyphSlotRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>FreeType root glyph slot class structure. A glyph slot is a container where individual glyphs can be loaded, be they in outline or bitmap format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the FreeType library instance this slot belongs to.</p> -</td></tr> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the parent face object.</p> -</td></tr> -<tr valign=top><td><b>next</b></td><td> -<p>In some cases (like some font tools), several glyph slots per face object can be a good thing. As this is rare, the glyph slots are listed through a direct, single-linked list using its ‘next’ field.</p> -</td></tr> -<tr valign=top><td><b>generic</b></td><td> -<p>A typeless pointer unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each glyph slot object.</p> -</td></tr> -<tr valign=top><td><b>metrics</b></td><td> -<p>The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> API function) and can be expressed either in 26.6 fractional pixels or font units.</p> -<p>Note that even when the glyph image is transformed, the metrics are not.</p> -</td></tr> -<tr valign=top><td><b>linearHoriAdvance</b></td><td> -<p>The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p> -</td></tr> -<tr valign=top><td><b>linearVertAdvance</b></td><td> -<p>The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p> -</td></tr> -<tr valign=top><td><b>advance</b></td><td> -<p>This shorthand is, depending on <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a>, the transformed (hinted) advance width for the glyph, in 26.6 fractional pixel format. As specified with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a>, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.</p> -</td></tr> -<tr valign=top><td><b>format</b></td><td> -<p>This field indicates the format of the image contained in the glyph slot. Typically <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, or <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, but others are possible.</p> -</td></tr> -<tr valign=top><td><b>bitmap</b></td><td> -<p>This field is used as a bitmap descriptor when the slot format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>. Note that the address and content of the bitmap buffer can change between calls of <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> and a few other functions.</p> -</td></tr> -<tr valign=top><td><b>bitmap_left</b></td><td> -<p>This is the bitmap's left bearing expressed in integer pixels. Of course, this is only valid if the format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p> -</td></tr> -<tr valign=top><td><b>bitmap_top</b></td><td> -<p>This is the bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being <b>positive</b>.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>The outline descriptor for the current glyph image if its format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be freed.</p> -</td></tr> -<tr valign=top><td><b>num_subglyphs</b></td><td> -<p>The number of subglyphs in a composite glyph. This field is only valid for the composite glyph format that should normally only be loaded with the <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a> flag. For now this is internal to FreeType.</p> -</td></tr> -<tr valign=top><td><b>subglyphs</b></td><td> -<p>An array of subglyph descriptors for composite glyphs. There are ‘num_subglyphs’ elements in there. Currently internal to FreeType.</p> -</td></tr> -<tr valign=top><td><b>control_data</b></td><td> -<p>Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.</p> -</td></tr> -<tr valign=top><td><b>control_len</b></td><td> -<p>This is the length in bytes of the control data.</p> -</td></tr> -<tr valign=top><td><b>other</b></td><td> -<p>Really wicked formats can use this pointer to present their own glyph image to client applications. Note that the application needs to know about the image format.</p> -</td></tr> -<tr valign=top><td><b>lsb_delta</b></td><td> -<p>The difference between hinted and unhinted left side bearing while autohinting is active. Zero otherwise.</p> -</td></tr> -<tr valign=top><td><b>rsb_delta</b></td><td> -<p>The difference between hinted and unhinted right side bearing while autohinting is active. Zero otherwise.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> is called with default flags (see <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a>) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).</p> -<p>This image can later be converted into a bitmap by calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This function finds the current renderer for the native image's format, then invokes it.</p> -<p>The renderer is in charge of transforming the native image through the slot's face transformation fields, then converting it into a bitmap that is returned in ‘slot->bitmap’.</p> -<p>Note that ‘slot->bitmap_left’ and ‘slot->bitmap_top’ are also used to specify the position of the bitmap relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, ‘slot->format’ is also changed to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Here a small pseudo code fragment that shows how to use ‘lsb_delta’ and ‘rsb_delta’:</p> -<pre class="colored"> - FT_Pos origin_x = 0; - FT_Pos prev_rsb_delta = 0; - - - for all glyphs do - <compute kern between current and previous glyph and add it to - `origin_x'> - - <load glyph with `FT_Load_Glyph'> - - if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 ) - origin_x -= 64; - else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 ) - origin_x += 64; - - prev_rsb_delta = face->glyph->rsb_delta; - - <save glyph image, or render glyph, or ...> - - origin_x += face->glyph->advance.x; - endfor -</pre> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Init_FreeType">FT_Init_FreeType</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Init_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>alibrary</b></td><td> -<p>A handle to a new library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>In case you want to provide your own memory allocating routines, use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> instead, followed by a call to <a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a> (or a series of calls to <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>).</p> -<p>For multi-threading applications each thread should have its own FT_Library object.</p> -<p>If you need reference-counting (cf. <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>), use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> and <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Done_FreeType">FT_Done_FreeType</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Done_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the target library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OPEN_XXX">FT_OPEN_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> 0x1 -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> 0x2 -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> 0x4 -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> 0x8 -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> 0x10 - -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_memory</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> /* deprecated */ -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_stream</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> /* deprecated */ -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_pathname</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> /* deprecated */ -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_driver</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> /* deprecated */ -#define <a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_params</a> <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> /* deprecated */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-field constants used within the ‘flags’ field of the <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> structure.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_OPEN_MEMORY</b></td><td> -<p>This is a memory-based stream.</p> -</td></tr> -<tr valign=top><td><b>FT_OPEN_STREAM</b></td><td> -<p>Copy the stream from the ‘stream’ field.</p> -</td></tr> -<tr valign=top><td><b>FT_OPEN_PATHNAME</b></td><td> -<p>Create a new input stream from a C path name.</p> -</td></tr> -<tr valign=top><td><b>FT_OPEN_DRIVER</b></td><td> -<p>Use the ‘driver’ field.</p> -</td></tr> -<tr valign=top><td><b>FT_OPEN_PARAMS</b></td><td> -<p>Use the ‘num_params’ and ‘params’ fields.</p> -</td></tr> -<tr valign=top><td><b>ft_open_memory</b></td><td> -<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> instead.</p> -</td></tr> -<tr valign=top><td><b>ft_open_stream</b></td><td> -<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> instead.</p> -</td></tr> -<tr valign=top><td><b>ft_open_pathname</b></td><td> -<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> instead.</p> -</td></tr> -<tr valign=top><td><b>ft_open_driver</b></td><td> -<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> instead.</p> -</td></tr> -<tr valign=top><td><b>ft_open_params</b></td><td> -<p>Deprecated; use <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> instead.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The ‘FT_OPEN_MEMORY’, ‘FT_OPEN_STREAM’, and ‘FT_OPEN_PATHNAME’ flags are mutually exclusive.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Parameter">FT_Parameter</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Parameter_ - { - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag; - <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> data; - - } <b>FT_Parameter</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to pass more or less generic parameters to <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>tag</b></td><td> -<p>A four-byte identification tag.</p> -</td></tr> -<tr valign=top><td><b>data</b></td><td> -<p>A pointer to the parameter data.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Open_Args">FT_Open_Args</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Open_Args_ - { - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> flags; - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* memory_base; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> memory_size; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* pathname; - <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream; - <a href="ft2-base_interface.html#FT_Module">FT_Module</a> driver; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_params; - <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a>* params; - - } <b>FT_Open_Args</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used as a parameter for the functions <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> and <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>flags</b></td><td> -<p>A set of bit flags indicating how to use the structure.</p> -</td></tr> -<tr valign=top><td><b>memory_base</b></td><td> -<p>The first byte of the file in memory.</p> -</td></tr> -<tr valign=top><td><b>memory_size</b></td><td> -<p>The size in bytes of the file in memory.</p> -</td></tr> -<tr valign=top><td><b>pathname</b></td><td> -<p>A pointer to an 8-bit file pathname.</p> -</td></tr> -<tr valign=top><td><b>stream</b></td><td> -<p>A handle to a source stream object.</p> -</td></tr> -<tr valign=top><td><b>driver</b></td><td> -<p>This field is exclusively used by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.</p> -</td></tr> -<tr valign=top><td><b>num_params</b></td><td> -<p>The number of extra parameters.</p> -</td></tr> -<tr valign=top><td><b>params</b></td><td> -<p>Extra parameters passed to the font driver when opening a new face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The stream type is determined by the contents of ‘flags’ that are tested in the following order by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>:</p> -<p>If the ‘FT_OPEN_MEMORY’ bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them <i>after</i> the corresponding call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> -<p>Otherwise, if the ‘FT_OPEN_STREAM’ bit is set, assume that a custom input stream ‘stream’ is used.</p> -<p>Otherwise, if the ‘FT_OPEN_PATHNAME’ bit is set, assume that this is a normal file and use ‘pathname’ to open it.</p> -<p>If the ‘FT_OPEN_DRIVER’ bit is set, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> only tries to open the file with the driver whose handler is in ‘driver’.</p> -<p>If the ‘FT_OPEN_PARAMS’ bit is set, the parameters given by ‘num_params’ and ‘params’ is used. They are ignored otherwise.</p> -<p>Ideally, both the ‘pathname’ and ‘params’ fields should be tagged as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Face">FT_New_Face</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <span class="keyword">char</span>* filepathname, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function calls <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to open a font by its pathname.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library resource.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pathname</b></td><td> -<p>A path to the font file.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>The index of the face within the font. The first face has index 0.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> -<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Use <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> to destroy the created <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object (along with its slot and sizes).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Memory_Face">FT_New_Memory_Face</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Memory_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* file_base, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> file_size, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function calls <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to open a font that has been loaded into memory.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library resource.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>file_base</b></td><td> -<p>A pointer to the beginning of the font data.</p> -</td></tr> -<tr valign=top><td><b>file_size</b></td><td> -<p>The size of the memory chunk used by the font data.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>The index of the face within the font. The first face has index 0.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> -<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You must not deallocate the memory before calling <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Open_Face">FT_Open_Face</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Open_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>* args, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a face object from a given resource described by <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library resource.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>args</b></td><td> -<p>A pointer to an ‘FT_Open_Args’ structure that must be filled by the caller.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>The index of the face within the font. The first face has index 0.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> -<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See note below.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object that can be accessed directly through ‘face->glyph’.</p> -<p>FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the ‘face_index’ field is negative, the function's return value is 0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in ‘*aface’ (if ‘aface’ isn't NULL). The only useful field in this special case is ‘face->num_faces’ that gives the number of faces within the font file. After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> -<p>Each new face object created with this function also owns a default <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object, accessible as ‘face->size’.</p> -<p>One <a href="ft2-base_interface.html#FT_Library">FT_Library</a> instance can have multiple face objects, this is, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> and its siblings can be called multiple times using the same ‘library’ argument.</p> -<p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Attach_File">FT_Attach_File</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Attach_File</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <span class="keyword">const</span> <span class="keyword">char</span>* filepathname ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function calls <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a> to attach a file.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>The target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>filepathname</b></td><td> -<p>The pathname.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Attach_Stream">FT_Attach_Stream</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Attach_Stream</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>* parameters ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>‘Attach’ data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other metrics.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>The target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>parameters</b></td><td> -<p>A pointer to <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> that must be filled by the caller.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The meaning of the ‘attach’ (i.e., what really happens when the new file is read) is not fixed by FreeType itself. It really depends on the font format (and thus the font driver).</p> -<p>Client applications are expected to know what they are doing when invoking this function. Most drivers simply do not implement file attachments.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Reference_Face">FT_Reference_Face</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Reference_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A counter gets initialized to 1 at the time an <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure is created. This function increments the counter. <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> then only destroys a face if the counter is 1, otherwise it simply decrements the counter.</p> -<p>This function helps in managing life-cycles of structures that reference <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.4.2</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Done_Face">FT_Done_Face</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Done_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Discard a given face object, as well as all of its child slots and sizes.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Select_Size">FT_Select_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Select_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> strike_index ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Select a bitmap strike.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>strike_index</b></td><td> -<p>The index of the bitmap strike in the ‘available_sizes’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Size_Request_Type">FT_Size_Request_Type</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Size_Request_Type_ - { - <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a>, - <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a>, - <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a>, - <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a>, - <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a>, - - FT_SIZE_REQUEST_TYPE_MAX - - } <b>FT_Size_Request_Type</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration type that lists the supported size request types.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_NOMINAL</b></td></tr> -<tr valign=top><td></td><td> -<p>The nominal size. The ‘units_per_EM’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine both scaling values.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_REAL_DIM</b></td></tr> -<tr valign=top><td></td><td> -<p>The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_BBOX</b></td></tr> -<tr valign=top><td></td><td> -<p>The font bounding box. The width and height of the ‘bbox’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine the horizontal and vertical scaling value, respectively.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_CELL</b></td></tr> -<tr valign=top><td></td><td> -<p>The ‘max_advance_width’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine the horizontal scaling value; the vertical scaling value is determined the same way as <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a> does. Finally, both scaling values are set to the smaller one. This type is useful if you want to specify the font size for, say, a window of a given dimension and 80x24 cells.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SIZE_REQUEST_TYPE_SCALES</b></td></tr> -<tr valign=top><td></td><td> -<p>Specify the scaling values directly.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.</p> -<p>See the note section of <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> if you wonder how size requesting relates to scaling values.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Size_RequestRec">FT_Size_RequestRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ - { - <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a> type; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> width; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> height; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> horiResolution; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> vertResolution; - - } <b>FT_Size_RequestRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model a size request.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>type</b></td><td> -<p>See <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a>.</p> -</td></tr> -<tr valign=top><td><b>width</b></td><td> -<p>The desired width.</p> -</td></tr> -<tr valign=top><td><b>height</b></td><td> -<p>The desired height.</p> -</td></tr> -<tr valign=top><td><b>horiResolution</b></td><td> -<p>The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.</p> -</td></tr> -<tr valign=top><td><b>vertResolution</b></td><td> -<p>The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Size_Request">FT_Size_Request</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ *<b>FT_Size_Request</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a size request structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Request_Size">FT_Request_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Request_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a> req ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Resize the scale of the active <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object in a face.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>req</b></td><td> -<p>A pointer to a <a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> instead in that case.</p> -<p>The relation between the requested size and the resulting glyph size is dependent entirely on how the size is defined in the source face. The font designer chooses the final size of each glyph relative to this size. For more information refer to ‘<a href="http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html">http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html</a>’</p> -<p>Don't use this function if you are using the FreeType cache API.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Char_Size">FT_Set_Char_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_Char_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a> char_width, - <a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a> char_height, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> horz_resolution, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> vert_resolution ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function calls <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to request the nominal size (in points).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>char_width</b></td><td> -<p>The nominal width, in 26.6 fractional points.</p> -</td></tr> -<tr valign=top><td><b>char_height</b></td><td> -<p>The nominal height, in 26.6 fractional points.</p> -</td></tr> -<tr valign=top><td><b>horz_resolution</b></td><td> -<p>The horizontal resolution in dpi.</p> -</td></tr> -<tr valign=top><td><b>vert_resolution</b></td><td> -<p>The vertical resolution in dpi.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If either the character width or height is zero, it is set equal to the other value.</p> -<p>If either the horizontal or vertical resolution is zero, it is set equal to the other value.</p> -<p>A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.</p> -<p>Don't use this function if you are using the FreeType cache API.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_Pixel_Sizes</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> pixel_width, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> pixel_height ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function calls <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to request the nominal size (in pixels).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the target face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pixel_width</b></td><td> -<p>The nominal width, in pixels.</p> -</td></tr> -<tr valign=top><td><b>pixel_height</b></td><td> -<p>The nominal height, in pixels.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should not rely on the resulting glyphs matching, or being constrained, to this pixel size. Refer to <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to understand how requested sizes relate to actual sizes.</p> -<p>Don't use this function if you are using the FreeType cache API.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Load_Glyph">FT_Load_Glyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Load_Glyph</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, - <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to load a single glyph into the glyph slot of a face object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the target face object where the glyph is loaded.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>glyph_index</b></td><td> -<p>The index of the glyph in the font file. For CID-keyed fonts (either in PS or in CFF format) this argument specifies the CID value.</p> -</td></tr> -<tr valign=top><td><b>load_flags</b></td><td> -<p>A flag indicating what to load for this glyph. The <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a> constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The loaded glyph may be transformed. See <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> for the details.</p> -<p>For subsetted CID-keyed fonts, ‘FT_Err_Invalid_Argument’ is returned for invalid CID values (this is, for CID values that don't have a corresponding glyph in the font). See the discussion of the <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> flag for more details.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Load_Char">FT_Load_Char</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Load_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> char_code, - <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to load a single glyph into the glyph slot of a face object, according to its character code.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a target face object where the glyph is loaded.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>char_code</b></td><td> -<p>The glyph's character code, according to the current charmap used in the face.</p> -</td></tr> -<tr valign=top><td><b>load_flags</b></td><td> -<p>A flag indicating what to load for this glyph. The <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a> constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function simply calls <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> and <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_LOAD_XXX">FT_LOAD_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a> 0x0 -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> ( 1L << 0 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> ( 1L << 1 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> ( 1L << 2 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a> ( 1L << 3 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> ( 1L << 4 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a> ( 1L << 5 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a> ( 1L << 6 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a> ( 1L << 7 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a> ( 1L << 9 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a> ( 1L << 10 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a> ( 1L << 11 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a> ( 1L << 12 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> ( 1L << 13 ) -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> ( 1L << 15 ) - /* Bits 16..19 are used by `FT_LOAD_TARGET_' */ -#define <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a> ( 1L << 20 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-field constants used with <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to indicate what kind of operations to perform during glyph loading.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_LOAD_DEFAULT</b></td><td> -<p>Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:</p> -<p>1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).</p> -<p>2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).</p> -<p>Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_NO_SCALE</b></td><td> -<p>Don't scale the loaded outline glyph but keep it in font units.</p> -<p>This flag implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a>, and unsets <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a>.</p> -<p>If the font is ‘tricky’ (see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more), using FT_LOAD_NO_SCALE usually yields meaningless outlines because the subglyphs must be scaled and positioned with hinting instructions. This can be solved by loading the font without FT_LOAD_NO_SCALE and setting the character size to ‘font->units_per_EM’.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_NO_HINTING</b></td><td> -<p>Disable hinting. This generally generates ‘blurrier’ bitmap glyphs when the glyph are rendered in any of the anti-aliased modes. See also the note below.</p> -<p>This flag is implied by <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_RENDER</b></td><td> -<p>Call <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a> after the glyph is loaded. By default, the glyph is rendered in <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> mode. This can be overridden by <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> or <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> -<p>This flag is unset by <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_NO_BITMAP</b></td><td> -<p>Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.</p> -<p><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> always sets this flag.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_LOAD_VERTICAL_LAYOUT</b></td></tr> -<tr valign=top><td></td><td> -<p>Load the glyph for vertical text layout. In particular, the ‘advance’ value in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure is set to the ‘vertAdvance’ value of the ‘metrics’ field.</p> -<p>In case <a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a> doesn't return true, you shouldn't use this flag currently. Reason is that in this case vertical metrics get synthesized, and those values are not always consistent across various font formats.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_FORCE_AUTOHINT</b></td><td> -<p>Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_CROP_BITMAP</b></td><td> -<p>Indicates that the font driver should crop the loaded bitmap glyph (i.e., remove all space around its black bits). Not all drivers implement this.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_PEDANTIC</b></td><td> -<p>Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.</p> -<p>In particular, errors from the TrueType bytecode engine are not passed to the application if this flag is not set; this might result in partially hinted or distorted glyphs in case a glyph's bytecode is buggy.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</b></td></tr> -<tr valign=top><td></td><td> -<p>Ignored. Deprecated.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_NO_RECURSE</b></td><td> -<p>This flag is only used internally. It merely indicates that the font driver should not load composite glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot accordingly, and set ‘glyph->format’ to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>.</p> -<p>The description of sub-glyphs is not available to client applications for now.</p> -<p>This flag implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_LOAD_IGNORE_TRANSFORM</b></td></tr> -<tr valign=top><td></td><td> -<p>Indicates that the transform matrix set by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> should be ignored.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_MONOCHROME</b></td><td> -<p>This flag is used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.</p> -<p>Note that this has no effect on the hinting algorithm used. You should rather use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> so that the monochrome-optimized hinting algorithm is used.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_LINEAR_DESIGN</b></td><td> -<p>Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> should be kept in font units. See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for details.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_NO_AUTOHINT</b></td><td> -<p>Disable auto-hinter. See also the note below.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_COLOR</b></td><td> -<p>This flag is used to request loading of color embedded-bitmap images. The resulting color bitmaps, if available, will have the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a> format. When the flag is not used and color bitmaps are found, they will be converted to 256-level gray bitmaps transparently. Those bitmaps will be in the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a> format.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>By default, hinting is enabled and the font's native hinter (see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a>) is preferred over the auto-hinter. You can disable hinting by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> or change the precedence by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>. You can also set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> in case you don't want the auto-hinter to be used at all.</p> -<p>See the description of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for a special exception (affecting only a handful of Asian fonts).</p> -<p>Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p> -<p>Note that the auto-hinter needs a valid Unicode cmap (either a native one or synthesized by FreeType) for producing correct results. If a font provides an incorrect mapping (for example, assigning the character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a mathematical integral sign), the auto-hinter might produce useless results.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define FT_LOAD_TARGET_( x ) ( (<a href="ft2-basic_types.html#FT_Int32">FT_Int32</a>)( (x) & 15 ) << 16 ) - -#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> ) -#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a> ) -#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> ) -#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a> ) -#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> -<p>Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a> to ensure that the auto-hinter is used.</p> -<p>Also note that <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> is an exception, in that it always implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_LOAD_TARGET_NORMAL</b></td><td> -<p>This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> instead.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_TARGET_LIGHT</b></td><td> -<p>A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.</p> -<p>As a special exception, this target implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_TARGET_MONO</b></td><td> -<p>Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_TARGET_LCD</b></td><td> -<p>A variant of <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> optimized for horizontally decimated LCD displays.</p> -</td></tr> -<tr valign=top><td><b>FT_LOAD_TARGET_LCD_V</b></td><td> -<p>A variant of <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> optimized for vertically decimated LCD displays.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should use only <i>one</i> of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.</p> -<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> is also set, the glyph is rendered in the corresponding mode (i.e., the mode that matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> -<p>You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like</p> -<pre class="colored"> - FT_Load_Glyph( face, glyph_index, - load_flags | FT_LOAD_TARGET_LIGHT ); - - FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); -</pre> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_LOAD_TARGET_MODE</b>( x ) ( (<a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a>)( ( (x) >> 16 ) & 15 ) ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> corresponding to a given <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> value.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Transform">FT_Set_Transform</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Set_Transform</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* delta ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>matrix</b></td><td> -<p>A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.</p> -</td></tr> -<tr valign=top><td><b>delta</b></td><td> -<p>A pointer to the translation vector. Use 0 for the null vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The transformation is only applied to scalable image formats after the glyph has been loaded. It means that hinting is unaltered by the transformation and is performed on the character size given in the last call to <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> or <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>.</p> -<p>Note that this also transforms the ‘face.glyph.advance’ field, but <b>not</b> the values in ‘face.glyph.metrics’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Render_Mode">FT_Render_Mode</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Render_Mode_ - { - <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> = 0, - <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a>, - <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a>, - <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>, - <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>, - - FT_RENDER_MODE_MAX - - } <b>FT_Render_Mode</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific type of scanline conversion performed on the outline.</p> -<p>For bitmap fonts and embedded bitmaps the ‘bitmap->pixel_mode’ field in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure gives the format of the returned bitmap.</p> -<p>All modes except <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> use 256 levels of opacity.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_RENDER_MODE_NORMAL</b></td><td> -<p>This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.</p> -</td></tr> -<tr valign=top><td><b>FT_RENDER_MODE_LIGHT</b></td><td> -<p>This is equivalent to <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a>. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p> -</td></tr> -<tr valign=top><td><b>FT_RENDER_MODE_MONO</b></td><td> -<p>This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).</p> -</td></tr> -<tr valign=top><td><b>FT_RENDER_MODE_LCD</b></td><td> -<p>This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a> mode.</p> -</td></tr> -<tr valign=top><td><b>FT_RENDER_MODE_LCD_V</b></td><td> -<p>This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a> mode.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (not active in the default builds). It is up to the caller to either call <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (if available) or do the filtering itself.</p> -<p>The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>. You can use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> to transform them into 8-bit pixmaps.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_render_mode_xxx">ft_render_mode_xxx</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_normal</a> <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> -#define <a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_mono</a> <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These constants are deprecated. Use the corresponding <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> values instead.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ft_render_mode_normal</b></td><td> -<p>see <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></p> -</td></tr> -<tr valign=top><td><b>ft_render_mode_mono</b></td><td> -<p>see <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Render_Glyph">FT_Render_Glyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Render_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot, - <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> render_mode ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>slot</b></td><td> -<p>A handle to the glyph slot containing the image to convert.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>render_mode</b></td><td> -<p>This is the render mode used to render the glyph image into a bitmap. See <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> for a list of possible values.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>To get meaningful results, font scaling values must be set with functions like <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> before calling FT_Render_Glyph.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Kerning_Mode">FT_Kerning_Mode</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Kerning_Mode_ - { - <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> = 0, - <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a>, - <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> - - } <b>FT_Kerning_Mode</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration used to specify which kerning values to return in <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_KERNING_DEFAULT</b></td><td> -<p>Return scaled and grid-fitted kerning distances (value is 0).</p> -</td></tr> -<tr valign=top><td><b>FT_KERNING_UNFITTED</b></td><td> -<p>Return scaled but un-grid-fitted kerning distances.</p> -</td></tr> -<tr valign=top><td><b>FT_KERNING_UNSCALED</b></td><td> -<p>Return the kerning vector in original font units.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_kerning_default">ft_kerning_default</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>ft_kerning_default</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a> instead.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_kerning_unfitted">ft_kerning_unfitted</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>ft_kerning_unfitted</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a> instead.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_kerning_unscaled">ft_kerning_unscaled</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>ft_kerning_unscaled</b> <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This constant is deprecated. Please use <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> instead.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Kerning">FT_Get_Kerning</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> left_glyph, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> right_glyph, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> kern_mode, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> *akerning ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the kerning vector between two glyphs of a same face.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a source face object.</p> -</td></tr> -<tr valign=top><td><b>left_glyph</b></td><td> -<p>The index of the left glyph in the kern pair.</p> -</td></tr> -<tr valign=top><td><b>right_glyph</b></td><td> -<p>The index of the right glyph in the kern pair.</p> -</td></tr> -<tr valign=top><td><b>kern_mode</b></td><td> -<p>See <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a> for more information. Determines the scale and dimension of the returned kerning vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>akerning</b></td><td> -<p>The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in pixels for fixed-sizes formats.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Only horizontal layouts (left-to-right & right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Track_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> point_size, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> degree, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* akerning ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the track kerning for a given face object at a given size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a source face object.</p> -</td></tr> -<tr valign=top><td><b>point_size</b></td><td> -<p>The point size in 16.16 fractional points.</p> -</td></tr> -<tr valign=top><td><b>degree</b></td><td> -<p>The degree of tightness. Increasingly negative values represent tighter track kerning, while increasingly positive values represent looser track kerning. Value zero means no track kerning.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>akerning</b></td><td> -<p>The kerning in 16.16 fractional points, to be uniformly applied between all glyphs.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Currently, only the Type 1 font driver supports track kerning, using data from AFM files (if attached with <a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a> or <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>).</p> -<p>Only very few AFM files come with track kerning data; please refer to the Adobe's AFM specification for more details.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Glyph_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, - <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> buffer, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> buffer_max ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the ASCII name of a given glyph in a face. This only works for those faces where <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a>(face) returns 1.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a source face object.</p> -</td></tr> -<tr valign=top><td><b>glyph_index</b></td><td> -<p>The glyph index.</p> -</td></tr> -<tr valign=top><td><b>buffer_max</b></td><td> -<p>The maximum number of bytes available in the buffer.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>buffer</b></td><td> -<p>A pointer to a target buffer where the name is copied to.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.</p> -<p>The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.</p> -<p>Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the ‘missing glyph’ (called ‘.notdef’).</p> -<p>This function is not compiled within the library if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is defined in ‘ftoptions.h’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) - <b>FT_Get_Postscript_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A pointer to the face's PostScript name. NULL if unavailable.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The returned pointer is owned by the face and is destroyed with it.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Select_Charmap">FT_Select_Charmap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Select_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> encoding ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Select a given charmap by its encoding tag (as listed in ‘freetype.h’).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>encoding</b></td><td> -<p>A handle to the selected encoding.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function returns an error if no charmap in the face corresponds to the encoding queried here.</p> -<p>Because many fonts contain more than a single cmap for Unicode encoding, this function has some special code to select the one that covers Unicode best (‘best’ in the sense that a UCS-4 cmap is preferred to a UCS-2 cmap). It is thus preferable to <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> in this case.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Charmap">FT_Set_Charmap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Select a given charmap for character code to glyph index mapping.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>charmap</b></td><td> -<p>A handle to the selected charmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the ‘face->charmaps’ table).</p> -<p>It also fails if a type 14 charmap is selected.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) - <b>FT_Get_Charmap_Index</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve index of a given charmap.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>charmap</b></td><td> -<p>A handle to a charmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The index into the array of character maps within the face to which ‘charmap’ belongs. If an error occurs, -1 is returned.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Char_Index">FT_Get_Char_Index</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) - <b>FT_Get_Char_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the glyph index of a given character code. This function uses a charmap object to do the mapping.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>charcode</b></td><td> -<p>The character code.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The glyph index. 0 means ‘undefined character code’.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’. If the first glyph is not named ‘.notdef’, then for Type 1 and Type 42 fonts, ‘.notdef’ will be moved into the glyph ID 0 position, and whatever was there will be moved to the position ‘.notdef’ had. For Type 1 fonts, if there is no ‘.notdef’ glyph at all, then one will be created at index 0 and whatever was there will be moved to the last index -- Type 42 fonts are considered invalid under this condition.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_First_Char">FT_Get_First_Char</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) - <b>FT_Get_First_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *agindex ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function is used to return the first character code in the current charmap of a given face. It also returns the corresponding glyph index.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>agindex</b></td><td> -<p>Glyph index of first character code. 0 if charmap is empty.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The charmap's first character code.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should use this function with <a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a> to be able to parse all character codes available in a given charmap. The code should look like this:</p> -<pre class="colored"> - FT_ULong charcode; - FT_UInt gindex; - - - charcode = FT_Get_First_Char( face, &gindex ); - while ( gindex != 0 ) - { - ... do something with (charcode,gindex) pair ... - - charcode = FT_Get_Next_Char( face, charcode, &gindex ); - } -</pre> -<p>Note that ‘*agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or if the value 0 is the first valid character code.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Next_Char">FT_Get_Next_Char</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) - <b>FT_Get_Next_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> char_code, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *agindex ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function is used to return the next character code in the current charmap of a given face following the value ‘char_code’, as well as the corresponding glyph index.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>char_code</b></td><td> -<p>The starting character code.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>agindex</b></td><td> -<p>Glyph index of next character code. 0 if charmap is empty.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The charmap's next character code.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should use this function with <a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a> to walk over all character codes available in a given charmap. See the note for this function for a simple code example.</p> -<p>Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Name_Index">FT_Get_Name_Index</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) - <b>FT_Get_Name_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_String">FT_String</a>* glyph_name ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>glyph_name</b></td><td> -<p>The glyph name.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The glyph index. 0 means ‘undefined character code’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a> 1 -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a> 2 -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a> 4 -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a> 8 -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a> 0x40 -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a> 0x80 -#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a> 0x200 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>FT_SUBGLYPH_FLAG_SCALE</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_XY_SCALE</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>FT_SUBGLYPH_FLAG_2X2</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_SUBGLYPH_FLAG_USE_MY_METRICS</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_SubGlyph_Info</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> sub_index, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_index, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *p_flags, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_arg1, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_arg2, - <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a> *p_transform ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>; an error is returned otherwise.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>glyph</b></td><td> -<p>The source glyph slot.</p> -</td></tr> -<tr valign=top><td><b>sub_index</b></td><td> -<p>The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>p_index</b></td><td> -<p>The glyph index of the subglyph.</p> -</td></tr> -<tr valign=top><td><b>p_flags</b></td><td> -<p>The subglyph flags, see <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a>.</p> -</td></tr> -<tr valign=top><td><b>p_arg1</b></td><td> -<p>The subglyph's first argument (if any).</p> -</td></tr> -<tr valign=top><td><b>p_arg2</b></td><td> -<p>The subglyph's second argument (if any).</p> -</td></tr> -<tr valign=top><td><b>p_transform</b></td><td> -<p>The subglyph transformation (if any).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned in ‘*p_flags’. See the TrueType specification for details.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a> 0x0000 -#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a> 0x0002 -#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a> 0x0004 -#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a> 0x0008 -#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a> 0x0100 -#define <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a> 0x0200 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit flags used in the ‘fsType’ field of the OS/2 table in a TrueType or OpenType font and the ‘FSType’ entry in a PostScript font. These bit flags are returned by <a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a>; they inform client applications of embedding and subsetting restrictions associated with a font.</p> -<p>See <a href="http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf">http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf</a> for more details.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_FSTYPE_INSTALLABLE_EMBEDDING</b></td></tr> -<tr valign=top><td></td><td> -<p>Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</b></td></tr> -<tr valign=top><td></td><td> -<p>Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</b></td></tr> -<tr valign=top><td></td><td> -<p>If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened ‘read-only’; no edits can be applied to the document.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FSTYPE_EDITABLE_EMBEDDING</b></td></tr> -<tr valign=top><td></td><td> -<p>If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FSTYPE_NO_SUBSETTING</b></td></tr> -<tr valign=top><td></td><td> -<p>If this bit is set, the font may not be subsetted prior to embedding.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_FSTYPE_BITMAP_EMBEDDING_ONLY</b></td></tr> -<tr valign=top><td></td><td> -<p>If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>While the fsType flags can indicate that a font may be embedded, a license with the font vendor may be separately required to use the font in this way.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> ) - <b>FT_Get_FSType_Flags</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the fsType flags for a font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The fsType flags, <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a>.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Use this function rather than directly reading the ‘fs_type’ field in the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure, which is only guaranteed to return the correct results for Type 1 fonts.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.8</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-basic_types.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-basic_types.html deleted file mode 100644 index c600032e6af..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-basic_types.html +++ /dev/null @@ -1,1210 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Basic Data Types -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Byte">FT_Byte</a></td><td></td><td><a href="#FT_PtrDist">FT_PtrDist</a></td><td></td><td><a href="#FT_Pixel_Mode">FT_Pixel_Mode</a></td></tr> -<tr><td></td><td><a href="#FT_Bytes">FT_Bytes</a></td><td></td><td><a href="#FT_String">FT_String</a></td><td></td><td><a href="#ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></td></tr> -<tr><td></td><td><a href="#FT_Char">FT_Char</a></td><td></td><td><a href="#FT_Tag">FT_Tag</a></td><td></td><td><a href="#FT_Palette_Mode">FT_Palette_Mode</a></td></tr> -<tr><td></td><td><a href="#FT_Int">FT_Int</a></td><td></td><td><a href="#FT_Error">FT_Error</a></td><td></td><td><a href="#FT_Bitmap">FT_Bitmap</a></td></tr> -<tr><td></td><td><a href="#FT_UInt">FT_UInt</a></td><td></td><td><a href="#FT_Fixed">FT_Fixed</a></td><td></td><td><a href="#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td></tr> -<tr><td></td><td><a href="#FT_Int16">FT_Int16</a></td><td></td><td><a href="#FT_Pointer">FT_Pointer</a></td><td></td><td><a href="#FT_Glyph_Format">FT_Glyph_Format</a></td></tr> -<tr><td></td><td><a href="#FT_UInt16">FT_UInt16</a></td><td></td><td><a href="#FT_Pos">FT_Pos</a></td><td></td><td><a href="#ft_glyph_format_xxx">ft_glyph_format_xxx</a></td></tr> -<tr><td></td><td><a href="#FT_Int32">FT_Int32</a></td><td></td><td><a href="#FT_Vector">FT_Vector</a></td><td></td><td><a href="#FT_Data">FT_Data</a></td></tr> -<tr><td></td><td><a href="#FT_UInt32">FT_UInt32</a></td><td></td><td><a href="#FT_BBox">FT_BBox</a></td><td></td><td><a href="#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td></tr> -<tr><td></td><td><a href="#FT_Short">FT_Short</a></td><td></td><td><a href="#FT_Matrix">FT_Matrix</a></td><td></td><td><a href="#FT_Generic">FT_Generic</a></td></tr> -<tr><td></td><td><a href="#FT_UShort">FT_UShort</a></td><td></td><td><a href="#FT_FWord">FT_FWord</a></td><td></td><td><a href="#FT_MAKE_TAG">FT_MAKE_TAG</a></td></tr> -<tr><td></td><td><a href="#FT_Long">FT_Long</a></td><td></td><td><a href="#FT_UFWord">FT_UFWord</a></td><td></td><td><a href="#FT_Int64">FT_Int64</a></td></tr> -<tr><td></td><td><a href="#FT_ULong">FT_ULong</a></td><td></td><td><a href="#FT_F2Dot14">FT_F2Dot14</a></td><td></td><td><a href="#FT_UInt64">FT_UInt64</a></td></tr> -<tr><td></td><td><a href="#FT_Bool">FT_Bool</a></td><td></td><td><a href="#FT_UnitVector">FT_UnitVector</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_Offset">FT_Offset</a></td><td></td><td><a href="#FT_F26Dot6">FT_F26Dot6</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the basic data types defined by FreeType 2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Byte">FT_Byte</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Byte</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple typedef for the <i>unsigned</i> char type.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bytes">FT_Bytes</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* <b>FT_Bytes</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for constant memory areas.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Char">FT_Char</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span> <b>FT_Char</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple typedef for the <i>signed</i> char type.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Int">FT_Int</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span> <b>FT_Int</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for the int type.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UInt">FT_UInt</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <b>FT_UInt</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for the unsigned int type.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Int16">FT_Int16</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Int16</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for a 16bit signed integer type.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UInt16">FT_UInt16</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UInt16</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for a 16bit unsigned integer type.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Int32">FT_Int32</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int32</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for a 32bit signed integer type. The size depends on the configuration.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UInt32">FT_UInt32</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt32</b>; - -</pre></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Short">FT_Short</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Short</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for signed short.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UShort">FT_UShort</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UShort</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for unsigned short.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Long">FT_Long</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Long</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for signed long.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ULong">FT_ULong</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <b>FT_ULong</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for unsigned long.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bool">FT_Bool</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Bool</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Offset">FT_Offset</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> size_t <b>FT_Offset</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This is equivalent to the ANSI C ‘size_t’ type, i.e., the largest <i>unsigned</i> integer type used to express a file size or position, or a memory block size.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_PtrDist">FT_PtrDist</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> ft_ptrdiff_t <b>FT_PtrDist</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This is equivalent to the ANSI C ‘ptrdiff_t’ type, i.e., the largest <i>signed</i> integer type used to express the distance between two pointers.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_String">FT_String</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">char</span> <b>FT_String</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple typedef for the char type, usually used for strings.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Tag">FT_Tag</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> <b>FT_Tag</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A typedef for 32-bit tags (as used in the SFNT format).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Error">FT_Error</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> <b>FT_Error</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The FreeType error code type. A value of 0 is always interpreted as a successful operation.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Fixed">FT_Fixed</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Fixed</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This type is used to store 16.16 fixed-point values, like scaling values or matrix coefficients.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Pointer">FT_Pointer</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span>* <b>FT_Pointer</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple typedef for a typeless pointer.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Pos">FT_Pos</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Pos</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed-point pixel coordinates.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector">FT_Vector</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Vector_ - { - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y; - - } <b>FT_Vector</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>x</b></td><td> -<p>The horizontal coordinate.</p> -</td></tr> -<tr valign=top><td><b>y</b></td><td> -<p>The vertical coordinate.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BBox">FT_BBox</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BBox_ - { - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMin, yMin; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMax, yMax; - - } <b>FT_BBox</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>xMin</b></td><td> -<p>The horizontal minimum (left-most).</p> -</td></tr> -<tr valign=top><td><b>yMin</b></td><td> -<p>The vertical minimum (bottom-most).</p> -</td></tr> -<tr valign=top><td><b>xMax</b></td><td> -<p>The horizontal maximum (right-most).</p> -</td></tr> -<tr valign=top><td><b>yMax</b></td><td> -<p>The vertical maximum (top-most).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.</p> -<p>If ‘yMin’ is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if ‘ymax’ is positive, this value gives the glyph's ascender.</p> -<p>‘xMin’ gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If ‘xMin’ is negative, the glyph extends to the left of the origin.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Matrix">FT_Matrix</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Matrix_ - { - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> xx, xy; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> yx, yy; - - } <b>FT_Matrix</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed-point format. The computation performed is:</p> -<pre class="colored"> - x' = x*xx + y*xy - y' = x*yx + y*yy -</pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>xx</b></td><td> -<p>Matrix coefficient.</p> -</td></tr> -<tr valign=top><td><b>xy</b></td><td> -<p>Matrix coefficient.</p> -</td></tr> -<tr valign=top><td><b>yx</b></td><td> -<p>Matrix coefficient.</p> -</td></tr> -<tr valign=top><td><b>yy</b></td><td> -<p>Matrix coefficient.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_FWord">FT_FWord</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_FWord</b>; /* distance in FUnits */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A signed 16-bit integer used to store a distance in original font units.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UFWord">FT_UFWord</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UFWord</b>; /* <span class="keyword">unsigned</span> distance */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An unsigned 16-bit integer used to store a distance in original font units.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_F2Dot14">FT_F2Dot14</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_F2Dot14</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A signed 2.14 fixed-point type used for unit vectors.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UnitVector">FT_UnitVector</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_UnitVector_ - { - <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> x; - <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> y; - - } <b>FT_UnitVector</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>x</b></td><td> -<p>Horizontal coordinate.</p> -</td></tr> -<tr valign=top><td><b>y</b></td><td> -<p>Vertical coordinate.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_F26Dot6">FT_F26Dot6</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_F26Dot6</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A signed 26.6 fixed-point type used for vectorial pixel coordinates.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Pixel_Mode">FT_Pixel_Mode</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Pixel_Mode_ - { - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a> = 0, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a>, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a>, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a>, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a>, - <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a>, - - FT_PIXEL_MODE_MAX /* do not remove */ - - } <b>FT_Pixel_Mode</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_PIXEL_MODE_NONE</b></td><td> -<p>Value 0 is reserved.</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_MONO</b></td><td> -<p>A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_GRAY</b></td><td> -<p>An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure (it generally is 256).</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_GRAY2</b></td><td> -<p>A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_GRAY4</b></td><td> -<p>A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_LCD</b></td><td> -<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>.</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_LCD_V</b></td><td> -<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</p> -</td></tr> -<tr valign=top><td><b>FT_PIXEL_MODE_BGRA</b></td><td> -<p>An image with four 8-bit channels per pixel, representing a color image (such as emoticons) with alpha channel. For each pixel, the format is BGRA, which means, the blue channel comes first in memory. The color channels are pre-multiplied and in the sRGB colorspace. For example, full red at half-translucent opacity will be represented as ‘00,00,80,80’, not ‘00,00,FF,80’. See also <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a> -#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a> -#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a> -#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a> -#define <a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4</a> <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of deprecated constants. Use the corresponding <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a> values instead.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ft_pixel_mode_none</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_pixel_mode_mono</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_pixel_mode_grays</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_pixel_mode_pal2</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_pixel_mode_pal4</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Palette_Mode">FT_Palette_Mode</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Palette_Mode_ - { - <a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a> = 0, - <a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a>, - - ft_palette_mode_max /* do not remove */ - - } <b>FT_Palette_Mode</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>THIS TYPE IS DEPRECATED. DO NOT USE IT!</p> -<p>An enumeration type to describe the format of a bitmap palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ft_palette_mode_rgb</b></td><td> -<p>The palette is an array of 3-byte RGB records.</p> -</td></tr> -<tr valign=top><td><b>ft_palette_mode_rgba</b></td><td> -<p>The palette is an array of 4-byte RGBA records.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by FreeType, these types are not handled by the library itself.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap">FT_Bitmap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_ - { - <span class="keyword">int</span> rows; - <span class="keyword">int</span> width; - <span class="keyword">int</span> pitch; - <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer; - <span class="keyword">short</span> num_grays; - <span class="keyword">char</span> pixel_mode; - <span class="keyword">char</span> palette_mode; - <span class="keyword">void</span>* palette; - - } <b>FT_Bitmap</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the ‘pixel_mode’ field.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>rows</b></td><td> -<p>The number of bitmap rows.</p> -</td></tr> -<tr valign=top><td><b>width</b></td><td> -<p>The number of pixels in bitmap row.</p> -</td></tr> -<tr valign=top><td><b>pitch</b></td><td> -<p>The pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.</p> -<p>Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.</p> -<p>For the B/W rasterizer, ‘pitch’ is always an even number.</p> -<p>To change the pitch of a bitmap (say, to make it a multiple of 4), use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a>. Alternatively, you might use callback functions to directly render to the application's surface; see the file ‘example2.cpp’ in the tutorial for a demonstration.</p> -</td></tr> -<tr valign=top><td><b>buffer</b></td><td> -<p>A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.</p> -</td></tr> -<tr valign=top><td><b>num_grays</b></td><td> -<p>This field is only used with <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>; it gives the number of gray levels used in the bitmap.</p> -</td></tr> -<tr valign=top><td><b>pixel_mode</b></td><td> -<p>The pixel mode, i.e., how pixel bits are stored. See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a> for possible values.</p> -</td></tr> -<tr valign=top><td><b>palette_mode</b></td><td> -<p>This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.</p> -</td></tr> -<tr valign=top><td><b>palette</b></td><td> -<p>A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the future to support more ‘colorful’ options.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IMAGE_TAG">FT_IMAGE_TAG</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#ifndef <b>FT_IMAGE_TAG</b> -#define <b>FT_IMAGE_TAG</b>( value, _x1, _x2, _x3, _x4 ) \ - value = ( ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x1 << 24 ) | \ - ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x2 << 16 ) | \ - ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x3 << 8 ) | \ - (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x4 ) -#endif /* <b>FT_IMAGE_TAG</b> */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This macro converts four-letter tags to an unsigned long type.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> -<pre class="colored"> - #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value -</pre> -<p>to get a simple enumeration without assigning special numbers.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_Format">FT_Glyph_Format</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_Format_ - { - <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a>, 0, 0, 0, 0 ), - - <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, 'c', 'o', 'm', 'p' ), - <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, 'b', 'i', 't', 's' ), - <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, 'o', 'u', 't', 'l' ), - <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a>, 'p', 'l', 'o', 't' ) - - } <b>FT_Glyph_Format</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_GLYPH_FORMAT_NONE</b></td><td> -<p>The value 0 is reserved.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_COMPOSITE</b></td></tr> -<tr valign=top><td></td><td> -<p>The glyph image is a composite of several other images. This format is <i>only</i> used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a>, and is used to report compound glyphs (like accented characters).</p> -</td></tr> -<tr valign=top><td><b>FT_GLYPH_FORMAT_BITMAP</b></td><td> -<p>The glyph image is a bitmap, and can be described as an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>. You generally need to access the ‘bitmap’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_OUTLINE</b></td></tr> -<tr valign=top><td></td><td> -<p>The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>; you generally want to access the ‘outline’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_GLYPH_FORMAT_PLOTTER</b></td></tr> -<tr valign=top><td></td><td> -<p>The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>, but FreeType isn't currently capable of rendering them correctly.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_glyph_format_xxx">ft_glyph_format_xxx</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a> -#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a> -#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a> -#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a> -#define <a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter</a> <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of deprecated constants. Use the corresponding <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> values instead.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ft_glyph_format_none</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_glyph_format_composite</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_glyph_format_bitmap</b></td><td> -<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_glyph_format_outline</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_glyph_format_plotter</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Data">FT_Data</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Data_ - { - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* pointer; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> length; - - } <b>FT_Data</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Read-only binary data represented as a pointer and a length.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pointer</b></td><td> -<p>The data.</p> -</td></tr> -<tr valign=top><td><b>length</b></td><td> -<p>The length of the data in bytes.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Generic_Finalizer">FT_Generic_Finalizer</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>* object); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type for details of usage.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p>The address of the FreeType object that is under finalization. Its client data is accessed through its ‘generic’ field.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Generic">FT_Generic</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Generic_ - { - <span class="keyword">void</span>* data; - <a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a> finalizer; - - } <b>FT_Generic</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.</p> -<p>Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.</p> -<p>It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>data</b></td><td> -<p>A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.</p> -</td></tr> -<tr valign=top><td><b>finalizer</b></td><td> -<p>A pointer to a ‘generic finalizer’ function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MAKE_TAG">FT_MAKE_TAG</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_MAKE_TAG</b>( _x1, _x2, _x3, _x4 ) \ - (<a href="ft2-basic_types.html#FT_Tag">FT_Tag</a>) \ - ( ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x1 << 24 ) | \ - ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x2 << 16 ) | \ - ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x3 << 8 ) | \ - (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x4 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This macro converts four-letter tags that are used to label TrueType tables into an unsigned long, to be used within FreeType.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The produced values <b>must</b> be 32-bit integers. Don't redefine this macro.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Int64">FT_Int64</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int64</b>; - -</pre></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UInt64">FT_UInt64</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt64</b>; - -</pre></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bdf_fonts.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bdf_fonts.html deleted file mode 100644 index 92d887a9216..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bdf_fonts.html +++ /dev/null @@ -1,260 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -BDF and PCF Files -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_PropertyType">FT_PropertyType</a></td><td></td><td><a href="#BDF_PropertyRec">BDF_PropertyRec</a></td><td></td><td><a href="#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td></tr> -<tr><td></td><td><a href="#BDF_Property">BDF_Property</a></td><td></td><td><a href="#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of functions specific to BDF and PCF fonts.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_PropertyType">FT_PropertyType</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BDF_H (ftbdf.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> BDF_PropertyType_ - { - <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a> = 0, - <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a> = 1, - <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a> = 2, - <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a> = 3 - - } BDF_PropertyType; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of BDF property types.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>BDF_PROPERTY_TYPE_NONE</b></td><td> -<p>Value 0 is used to indicate a missing property.</p> -</td></tr> -<tr valign=top><td><b>BDF_PROPERTY_TYPE_ATOM</b></td><td> -<p>Property is a string atom.</p> -</td></tr> -<tr valign=top><td colspan=0><b>BDF_PROPERTY_TYPE_INTEGER</b></td></tr> -<tr valign=top><td></td><td> -<p>Property is a 32-bit signed integer.</p> -</td></tr> -<tr valign=top><td colspan=0><b>BDF_PROPERTY_TYPE_CARDINAL</b></td></tr> -<tr valign=top><td></td><td> -<p>Property is a 32-bit unsigned integer.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="BDF_Property">BDF_Property</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BDF_H (ftbdf.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_* <b>BDF_Property</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> structure to model a given BDF/PCF property.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="BDF_PropertyRec">BDF_PropertyRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BDF_H (ftbdf.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_ - { - BDF_PropertyType type; - <span class="keyword">union</span> { - <span class="keyword">const</span> <span class="keyword">char</span>* atom; - <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> integer; - <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> cardinal; - - } u; - - } <b>BDF_PropertyRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This structure models a given BDF/PCF property.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>type</b></td><td> -<p>The property type.</p> -</td></tr> -<tr valign=top><td><b>u.atom</b></td><td> -<p>The atom string, if type is <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a>. May be NULL, indicating an empty string.</p> -</td></tr> -<tr valign=top><td><b>u.integer</b></td><td> -<p>A signed integer, if type is <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a>.</p> -</td></tr> -<tr valign=top><td><b>u.cardinal</b></td><td> -<p>An unsigned integer, if type is <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BDF_H (ftbdf.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_BDF_Charset_ID</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <span class="keyword">const</span> <span class="keyword">char</span>* *acharset_encoding, - <span class="keyword">const</span> <span class="keyword">char</span>* *acharset_registry ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve a BDF font character set identity, according to the BDF specification.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>acharset_encoding</b></td><td> -<p>Charset encoding, as a C string, owned by the face.</p> -</td></tr> -<tr valign=top><td><b>acharset_registry</b></td><td> -<p>Charset registry, as a C string, owned by the face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with BDF faces, returning an error otherwise.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_BDF_Property">FT_Get_BDF_Property</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BDF_H (ftbdf.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_BDF_Property</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <span class="keyword">const</span> <span class="keyword">char</span>* prop_name, - <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> *aproperty ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve a BDF property from a BDF or PCF font file.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>name</b></td><td> -<p>The property name.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aproperty</b></td><td> -<p>The property.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function works with BDF <i>and</i> PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.</p> -<p>A ‘property’ is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or a key-value pair from the ‘info->props’ array within a ‘FontRec’ structure of a PCF font.</p> -<p>Integer properties are always stored as ‘signed’ within PCF fonts; consequently, <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a> is a possible return value for BDF fonts only.</p> -<p>In case of error, ‘aproperty->type’ is always set to <a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bitmap_handling.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bitmap_handling.html deleted file mode 100644 index b1d9f8853a9..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bitmap_handling.html +++ /dev/null @@ -1,302 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Bitmap Handling -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Bitmap_New">FT_Bitmap_New</a></td><td></td><td><a href="#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td></td><td><a href="#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td></tr> -<tr><td></td><td><a href="#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td></td><td><a href="#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td></td><td><a href="#FT_Bitmap_Done">FT_Bitmap_Done</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains functions for converting FT_Bitmap objects.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap_New">FT_Bitmap_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BITMAP_H (ftbitmap.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Bitmap_New</b>( <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Initialize a pointer to an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>abitmap</b></td><td> -<p>A pointer to the bitmap structure.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap_Copy">FT_Bitmap_Copy</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BITMAP_H (ftbitmap.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Bitmap_Copy</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *source, - <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *target); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Copy a bitmap into another one.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a library object.</p> -</td></tr> -<tr valign=top><td><b>source</b></td><td> -<p>A handle to the source bitmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>target</b></td><td> -<p>A handle to the target bitmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BITMAP_H (ftbitmap.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Bitmap_Embolden</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>* bitmap, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xStrength, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> yStrength ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a library object.</p> -</td></tr> -<tr valign=top><td><b>xStrength</b></td><td> -<p>How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.</p> -</td></tr> -<tr valign=top><td><b>yStrength</b></td><td> -<p>How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>bitmap</b></td><td> -<p>A handle to the target bitmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p> -<p>If you want to embolden the bitmap owned by a <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a>, you should call <a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a> on the slot first.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap_Convert">FT_Bitmap_Convert</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BITMAP_H (ftbitmap.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Bitmap_Convert</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *source, - <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *target, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> alignment ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to a bitmap object with depth 8bpp, making the number of used bytes line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a library object.</p> -</td></tr> -<tr valign=top><td><b>source</b></td><td> -<p>The source bitmap.</p> -</td></tr> -<tr valign=top><td><b>alignment</b></td><td> -<p>The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>target</b></td><td> -<p>The target bitmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>It is possible to call <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> multiple times without calling <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> (the memory is simply reallocated).</p> -<p>Use <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> to finally remove the bitmap object.</p> -<p>The ‘library’ argument is taken to have access to FreeType's memory handling functions.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BITMAP_H (ftbitmap.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_GlyphSlot_Own_Bitmap</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Make sure that a glyph slot owns ‘slot->bitmap’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>slot</b></td><td> -<p>The glyph slot.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function is to be used in combination with <a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Bitmap_Done">FT_Bitmap_Done</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BITMAP_H (ftbitmap.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Bitmap_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *bitmap ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Destroy a bitmap object created with <a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a library object.</p> -</td></tr> -<tr valign=top><td><b>bitmap</b></td><td> -<p>The bitmap object to be freed.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The ‘library’ argument is taken to have access to FreeType's memory handling functions.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bzip2.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bzip2.html deleted file mode 100644 index 59e15464ecd..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-bzip2.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -BZIP2 Streams -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td></td><td></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of Bzip2-specific functions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BZIP2_H (ftbzip2.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stream_OpenBzip2</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, - <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Open a new stream to parse bzip2-compressed font files. This is mainly used to support the compressed ‘*.pcf.bz2’ fonts that come with XFree86.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stream</b></td><td> -<p>The target embedding stream.</p> -</td></tr> -<tr valign=top><td><b>source</b></td><td> -<p>The source stream.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The source stream must be opened <i>before</i> calling this function.</p> -<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> -<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.</p> -<p>In certain builds of the library, bzip2 compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a bzip2 compressed stream from it and re-open the face with it.</p> -<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with bzip2 support.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cid_fonts.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cid_fonts.html deleted file mode 100644 index 2e2c4cf80c9..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cid_fonts.html +++ /dev/null @@ -1,204 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -CID Fonts -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td></tr> -<tr><td></td><td><a href="#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td></tr> -<tr><td></td><td><a href="#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of CID-keyed font specific functions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CID_H (ftcid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_CID_Registry_Ordering_Supplement</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <span class="keyword">const</span> <span class="keyword">char</span>* *registry, - <span class="keyword">const</span> <span class="keyword">char</span>* *ordering, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *supplement); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>registry</b></td><td> -<p>The registry, as a C string, owned by the face.</p> -</td></tr> -<tr valign=top><td><b>ordering</b></td><td> -<p>The ordering, as a C string, owned by the face.</p> -</td></tr> -<tr valign=top><td><b>supplement</b></td><td> -<p>The supplement.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with CID faces, returning an error otherwise.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.6</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CID_H (ftcid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_CID_Is_Internally_CID_Keyed</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> *is_cid ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the type of the input face, CID keyed or not. In constrast to the <a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a> macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>is_cid</b></td><td> -<p>The type of the face as an <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.9</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CID_H (ftcid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_CID_From_Glyph_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *cid ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the CID of the input glyph index.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>glyph_index</b></td><td> -<p>The input glyph index.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>cid</b></td><td> -<p>The CID as an <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.9</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-computations.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-computations.html deleted file mode 100644 index 3bee1045299..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-computations.html +++ /dev/null @@ -1,832 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Computations -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_MulDiv">FT_MulDiv</a></td><td></td><td><a href="#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td></td><td><a href="#FT_Tan">FT_Tan</a></td></tr> -<tr><td></td><td><a href="#FT_MulFix">FT_MulFix</a></td><td></td><td><a href="#FT_Angle">FT_Angle</a></td><td></td><td><a href="#FT_Atan2">FT_Atan2</a></td></tr> -<tr><td></td><td><a href="#FT_DivFix">FT_DivFix</a></td><td></td><td><a href="#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td></td><td><a href="#FT_Angle_Diff">FT_Angle_Diff</a></td></tr> -<tr><td></td><td><a href="#FT_RoundFix">FT_RoundFix</a></td><td></td><td><a href="#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td></td><td><a href="#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> -<tr><td></td><td><a href="#FT_CeilFix">FT_CeilFix</a></td><td></td><td><a href="#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td></td><td><a href="#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> -<tr><td></td><td><a href="#FT_FloorFix">FT_FloorFix</a></td><td></td><td><a href="#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td></td><td><a href="#FT_Vector_Length">FT_Vector_Length</a></td></tr> -<tr><td></td><td><a href="#FT_Vector_Transform">FT_Vector_Transform</a></td><td></td><td><a href="#FT_Sin">FT_Sin</a></td><td></td><td><a href="#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> -<tr><td></td><td><a href="#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td></td><td><a href="#FT_Cos">FT_Cos</a></td><td></td><td><a href="#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains various functions used to perform computations on 16.16 fixed-float numbers or 2d vectors.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_MulDiv">FT_MulDiv</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) - <b>FT_MulDiv</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> c ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A very simple function used to perform the computation ‘(a*b)/c’ with maximum accuracy (it uses a 64-bit intermediate integer whenever necessary).</p> -<p>This function isn't necessarily as fast as some processor specific operations, but is at least completely portable.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>The first multiplier.</p> -</td></tr> -<tr valign=top><td><b>b</b></td><td> -<p>The second multiplier.</p> -</td></tr> -<tr valign=top><td><b>c</b></td><td> -<p>The divisor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result of ‘(a*b)/c’. This function never traps when trying to divide by zero; it simply returns ‘MaxInt’ or ‘MinInt’ depending on the signs of ‘a’ and ‘b’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MulFix">FT_MulFix</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) - <b>FT_MulFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A very simple function used to perform the computation ‘(a*b)/0x10000’ with maximum accuracy. Most of the time this is used to multiply a given value by a 16.16 fixed-point factor.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>The first multiplier.</p> -</td></tr> -<tr valign=top><td><b>b</b></td><td> -<p>The second multiplier. Use a 16.16 factor here whenever possible (see note below).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result of ‘(a*b)/0x10000’.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function has been optimized for the case where the absolute value of ‘a’ is less than 2048, and ‘b’ is a 16.16 scaling factor. As this happens mainly when scaling from notional units to fractional pixels in FreeType, it resulted in noticeable speed improvements between versions 2.x and 1.x.</p> -<p>As a conclusion, always try to place a 16.16 factor as the <i>second</i> argument of this function; this can make a great difference.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_DivFix">FT_DivFix</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) - <b>FT_DivFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A very simple function used to perform the computation ‘(a*0x10000)/b’ with maximum accuracy. Most of the time, this is used to divide a given value by a 16.16 fixed-point factor.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>The first multiplier.</p> -</td></tr> -<tr valign=top><td><b>b</b></td><td> -<p>The second multiplier. Use a 16.16 factor here whenever possible (see note below).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result of ‘(a*0x10000)/b’.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The optimization for FT_DivFix() is simple: If (a << 16) fits in 32 bits, then the division is computed directly. Otherwise, we use a specialized version of <a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_RoundFix">FT_RoundFix</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_RoundFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A very simple function used to round a 16.16 fixed number.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>The number to be rounded.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result of ‘(a + 0x8000) & -0x10000’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CeilFix">FT_CeilFix</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_CeilFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A very simple function used to compute the ceiling function of a 16.16 fixed number.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>The number for which the ceiling function is to be computed.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result of ‘(a + 0x10000 - 1) & -0x10000’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_FloorFix">FT_FloorFix</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_FloorFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A very simple function used to compute the floor function of a 16.16 fixed number.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>The number for which the floor function is to be computed.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result of ‘a & -0x10000’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector_Transform">FT_Vector_Transform</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Vector_Transform</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Transform a single vector through a 2x2 matrix.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>vector</b></td><td> -<p>The target vector to transform.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>matrix</b></td><td> -<p>A pointer to the source 2x2 matrix.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The result is undefined if either ‘vector’ or ‘matrix’ is invalid.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Matrix_Multiply">FT_Matrix_Multiply</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Matrix_Multiply</b>( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* a, - <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* b ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Perform the matrix operation ‘b = a*b’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>a</b></td><td> -<p>A pointer to matrix ‘a’.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>b</b></td><td> -<p>A pointer to matrix ‘b’.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The result is undefined if either ‘a’ or ‘b’ is zero.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Matrix_Invert">FT_Matrix_Invert</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Matrix_Invert</b>( <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Invert a 2x2 matrix. Return an error if it can't be inverted.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>matrix</b></td><td> -<p>A pointer to the target matrix. Remains untouched in case of error.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Angle">FT_Angle</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> <b>FT_Angle</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed-point value expressed in degrees.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ANGLE_PI">FT_ANGLE_PI</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ANGLE_PI</b> ( 180L << 16 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The angle pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ANGLE_2PI">FT_ANGLE_2PI</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ANGLE_2PI</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> * 2 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The angle 2*pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ANGLE_PI2">FT_ANGLE_PI2</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ANGLE_PI2</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 2 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The angle pi/2 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ANGLE_PI4">FT_ANGLE_PI4</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ANGLE_PI4</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 4 ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The angle pi/4 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Sin">FT_Sin</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_Sin</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the sinus of a given angle in fixed-point format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>angle</b></td><td> -<p>The input angle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The sinus value.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If you need both the sinus and cosinus for a given angle, use the function <a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Cos">FT_Cos</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_Cos</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the cosinus of a given angle in fixed-point format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>angle</b></td><td> -<p>The input angle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The cosinus value.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If you need both the sinus and cosinus for a given angle, use the function <a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Tan">FT_Tan</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_Tan</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the tangent of a given angle in fixed-point format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>angle</b></td><td> -<p>The input angle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The tangent value.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Atan2">FT_Atan2</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> ) - <b>FT_Atan2</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> y ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>x</b></td><td> -<p>The horizontal vector coordinate.</p> -</td></tr> -<tr valign=top><td><b>y</b></td><td> -<p>The vertical vector coordinate.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The arc-tangent value (i.e. angle).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Angle_Diff">FT_Angle_Diff</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> ) - <b>FT_Angle_Diff</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle1, - <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle2 ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the difference between two angles. The result is always constrained to the ]-PI..PI] interval.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>angle1</b></td><td> -<p>First angle.</p> -</td></tr> -<tr valign=top><td><b>angle2</b></td><td> -<p>Second angle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Constrained value of ‘value2-value1’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector_Unit">FT_Vector_Unit</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Vector_Unit</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, - <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the unit vector corresponding to a given angle. After the call, the value of ‘vec.x’ will be ‘sin(angle)’, and the value of ‘vec.y’ will be ‘cos(angle)’.</p> -<p>This function is useful to retrieve both the sinus and cosinus of a given angle quickly.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>vec</b></td><td> -<p>The address of target vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>angle</b></td><td> -<p>The address of angle.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector_Rotate">FT_Vector_Rotate</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Vector_Rotate</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, - <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Rotate a vector by a given angle.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>vec</b></td><td> -<p>The address of target vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>angle</b></td><td> -<p>The address of angle.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector_Length">FT_Vector_Length</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) - <b>FT_Vector_Length</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the length of a given vector.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>vec</b></td><td> -<p>The address of target vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The vector length, expressed in the same units that the original vector coordinates.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector_Polarize">FT_Vector_Polarize</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Vector_Polarize</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *length, - <a href="ft2-computations.html#FT_Angle">FT_Angle</a> *angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Compute both the length and angle of a given vector.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>vec</b></td><td> -<p>The address of source vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>length</b></td><td> -<p>The vector length.</p> -</td></tr> -<tr valign=top><td><b>angle</b></td><td> -<p>The vector angle.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Vector_From_Polar">FT_Vector_From_Polar</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRIGONOMETRY_H (fttrigon.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Vector_From_Polar</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> length, - <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Compute vector coordinates from a length and angle.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>vec</b></td><td> -<p>The address of source vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>length</b></td><td> -<p>The vector length.</p> -</td></tr> -<tr valign=top><td><b>angle</b></td><td> -<p>The vector angle.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-font_formats.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-font_formats.html deleted file mode 100644 index 7ff31bccb8f..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-font_formats.html +++ /dev/null @@ -1,84 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Font Formats -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td></td><td></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The single function in this section can be used to get the font format. Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API.</p> -<p>This function is in the X11/xf86 namespace for historical reasons and in no way depends on that windowing system.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_XFREE86_H (ftxf86.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) - <b>FT_Get_X11_Font_Format</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a string describing the format of a given face, using values that can be used as an X11 FONT_PROPERTY. Possible values are ‘TrueType’, ‘Type 1’, ‘BDF’, ‘PCF’, ‘Type 42’, ‘CID Type 1’, ‘CFF’, ‘PFR’, and ‘Windows FNT’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>Input face handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Font format string. NULL in case of error.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gasp_table.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gasp_table.html deleted file mode 100644 index 28ce1cdea52..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gasp_table.html +++ /dev/null @@ -1,142 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Gasp Table -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_GASP_XXX">FT_GASP_XXX</a></td><td></td><td><a href="#FT_Get_Gasp">FT_Get_Gasp</a></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The function <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_GASP_XXX">FT_GASP_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GASP_H (ftgasp.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a> -1 -#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a> 0x01 -#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a> 0x02 -#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a> 0x08 -#define <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a> 0x10 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of values and/or bit-flags returned by the <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> function.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_GASP_NO_TABLE</b></td><td> -<p>This special value means that there is no GASP table in this face. It is up to the client to decide what to do.</p> -</td></tr> -<tr valign=top><td><b>FT_GASP_DO_GRIDFIT</b></td><td> -<p>Grid-fitting and hinting should be performed at the specified ppem. This <b>really</b> means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.</p> -</td></tr> -<tr valign=top><td><b>FT_GASP_DO_GRAY</b></td><td> -<p>Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_GASP_SYMMETRIC_SMOOTHING</b></td></tr> -<tr valign=top><td></td><td> -<p>If set, smoothing along multiple axes must be used with ClearType.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_GASP_SYMMETRIC_GRIDFIT</b></td></tr> -<tr valign=top><td></td><td> -<p>Grid-fitting must be used with ClearType's symmetric smoothing.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The bit-flags ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are to be used for standard font rasterization only. Independently of that, ‘FT_GASP_SYMMETRIC_SMOOTHING’ and ‘FT_GASP_SYMMETRIC_GRIDFIT’ are to be used if ClearType is enabled (and ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are consequently ignored).</p> -<p>‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.0</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Gasp">FT_Get_Gasp</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GASP_H (ftgasp.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) - <b>FT_Get_Gasp</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ppem ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given character pixel size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>The source face handle.</p> -</td></tr> -<tr valign=top><td><b>ppem</b></td><td> -<p>The vertical character pixel size.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Bit flags (see <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a>), or <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a> if there is no ‘gasp’ table in the face.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.0</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_management.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_management.html deleted file mode 100644 index f34d3a77b87..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_management.html +++ /dev/null @@ -1,673 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Glyph Management -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Glyph">FT_Glyph</a></td><td></td><td><a href="#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td></td><td><a href="#ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></td></tr> -<tr><td></td><td><a href="#FT_GlyphRec">FT_GlyphRec</a></td><td></td><td><a href="#FT_Get_Glyph">FT_Get_Glyph</a></td><td></td><td><a href="#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td></tr> -<tr><td></td><td><a href="#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td></td><td><a href="#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td></td><td><a href="#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td></tr> -<tr><td></td><td><a href="#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td></td><td><a href="#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td></td><td><a href="#FT_Done_Glyph">FT_Done_Glyph</a></td></tr> -<tr><td></td><td><a href="#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td></td><td><a href="#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains definitions used to manage glyph data through generic FT_Glyph objects. Each of them can contain a bitmap, a vector outline, or even images in other formats.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph">FT_Glyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_* <b>FT_Glyph</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Handle to an object used to model generic glyph images. It is a pointer to the <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> structure and can contain a glyph bitmap or pointer.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Glyph objects are not owned by the library. You must thus release them manually (through <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>) <i>before</i> calling <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GlyphRec">FT_GlyphRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_ - { - <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library; - <span class="keyword">const</span> FT_Glyph_Class* clazz; - <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format; - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> advance; - - } <b>FT_GlyphRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed-point format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the FreeType library object.</p> -</td></tr> -<tr valign=top><td><b>clazz</b></td><td> -<p>A pointer to the glyph's class. Private.</p> -</td></tr> -<tr valign=top><td><b>format</b></td><td> -<p>The format of the glyph's image.</p> -</td></tr> -<tr valign=top><td><b>advance</b></td><td> -<p>A 16.16 vector that gives the glyph's advance width.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BitmapGlyph">FT_BitmapGlyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_* <b>FT_BitmapGlyph</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to an object used to model a bitmap glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_ - { - <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> root; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> left; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> top; - <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> bitmap; - - } <b>FT_BitmapGlyphRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used for bitmap glyph images. This really is a ‘sub-class’ of <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>root</b></td><td> -<p>The root <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> fields.</p> -</td></tr> -<tr valign=top><td><b>left</b></td><td> -<p>The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.</p> -</td></tr> -<tr valign=top><td><b>top</b></td><td> -<p>The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards y!</p> -</td></tr> -<tr valign=top><td><b>bitmap</b></td><td> -<p>A descriptor for the bitmap.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a> if you have ‘glyph->format == FT_GLYPH_FORMAT_BITMAP’. This lets you access the bitmap's contents easily.</p> -<p>The corresponding pixel buffer is always owned by <a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a> and is thus created and destroyed with it.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OutlineGlyph">FT_OutlineGlyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_* <b>FT_OutlineGlyph</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to an object used to model an outline glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_ - { - <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> root; - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> outline; - - } <b>FT_OutlineGlyphRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>root</b></td><td> -<p>The root <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> fields.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>A descriptor for the outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a> if you have ‘glyph->format == FT_GLYPH_FORMAT_OUTLINE’. This lets you access the outline's content easily.</p> -<p>As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> was used in <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>() or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>().</p> -<p>The outline's tables are always owned by the object and are destroyed with it.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Glyph">FT_Get_Glyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot, - <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to extract a glyph image from a slot. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>slot</b></td><td> -<p>A handle to the source glyph slot.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aglyph</b></td><td> -<p>A handle to the glyph object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_Copy">FT_Glyph_Copy</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Glyph_Copy</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> source, - <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *target ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to copy a glyph image. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>source</b></td><td> -<p>A handle to the source glyph object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>target</b></td><td> -<p>A handle to the target glyph object. 0 in case of error.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_Transform">FT_Glyph_Transform</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Glyph_Transform</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph, - <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* delta ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Transform a glyph image if its format is scalable.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>glyph</b></td><td> -<p>A handle to the target glyph object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>matrix</b></td><td> -<p>A pointer to a 2x2 matrix to apply.</p> -</td></tr> -<tr valign=top><td><b>delta</b></td><td> -<p>A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code (if not 0, the glyph format is not scalable).</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The 2x2 transformation matrix is also applied to the glyph's advance vector.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_BBox_Mode_ - { - <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> = 0, - <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> = 0, - <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a> = 1, - <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a> = 2, - <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a> = 3 - - } <b>FT_Glyph_BBox_Mode</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The mode how the values of <a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a> are returned.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_GLYPH_BBOX_UNSCALED</b></td><td> -<p>Return unscaled font units.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_GLYPH_BBOX_SUBPIXELS</b></td></tr> -<tr valign=top><td></td><td> -<p>Return unfitted 26.6 coordinates.</p> -</td></tr> -<tr valign=top><td><b>FT_GLYPH_BBOX_GRIDFIT</b></td><td> -<p>Return grid-fitted 26.6 coordinates.</p> -</td></tr> -<tr valign=top><td><b>FT_GLYPH_BBOX_TRUNCATE</b></td><td> -<p>Return coordinates in integer pixels.</p> -</td></tr> -<tr valign=top><td><b>FT_GLYPH_BBOX_PIXELS</b></td><td> -<p>Return grid-fitted pixel coordinates.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_unscaled</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> -#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_subpixels</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> -#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_gridfit</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a> -#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_truncate</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a> -#define <a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_pixels</a> <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These constants are deprecated. Use the corresponding <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a> values instead.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ft_glyph_bbox_unscaled</b></td><td> -<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_glyph_bbox_subpixels</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_glyph_bbox_gridfit</b></td><td> -<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_glyph_bbox_truncate</b></td><td> -<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_glyph_bbox_pixels</b></td><td> -<p>See <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Glyph_Get_CBox</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> bbox_mode, - <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *acbox ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a glyph's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).</p> -<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>glyph</b></td><td> -<p>A handle to the source glyph object.</p> -</td></tr> -<tr valign=top><td><b>mode</b></td><td> -<p>The mode that indicates how to interpret the returned bounding box values.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>acbox</b></td><td> -<p>The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Coordinates are relative to the glyph origin, using the y upwards convention.</p> -<p>If the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, ‘bbox_mode’ must be set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> to get unscaled font units in 26.6 pixel format. The value <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> is another name for this constant.</p> -<p>If the font is tricky and the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, the resulting CBox is meaningless. To get reasonable values for the CBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the CBox, which can be eventually converted back to font units.</p> -<p>Note that the maximum coordinates are exclusive, which means that one can compute the width and height of the glyph image (be it in integer or 26.6 pixels) as:</p> -<pre class="colored"> - width = bbox.xMax - bbox.xMin; - height = bbox.yMax - bbox.yMin; -</pre> -<p>Note also that for 26.6 coordinates, if ‘bbox_mode’ is set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a>, the coordinates will also be grid-fitted, which corresponds to:</p> -<pre class="colored"> - bbox.xMin = FLOOR(bbox.xMin); - bbox.yMin = FLOOR(bbox.yMin); - bbox.xMax = CEILING(bbox.xMax); - bbox.yMax = CEILING(bbox.yMax); -</pre> -<p>To get the bbox in pixel coordinates, set ‘bbox_mode’ to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a>.</p> -<p>To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Glyph_To_Bitmap</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>* the_glyph, - <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> render_mode, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* origin, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Convert a given glyph object to a bitmap glyph object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>the_glyph</b></td><td> -<p>A pointer to a handle to the target glyph.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>render_mode</b></td><td> -<p>An enumeration that describes how the data is rendered.</p> -</td></tr> -<tr valign=top><td><b>origin</b></td><td> -<p>A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The origin is expressed in 26.6 pixels.</p> -</td></tr> -<tr valign=top><td><b>destroy</b></td><td> -<p>A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function does nothing if the glyph format isn't scalable.</p> -<p>The glyph image is translated with the ‘origin’ vector before rendering.</p> -<p>The first parameter is a pointer to an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> handle, that will be <i>replaced</i> by this function (with newly allocated data). Typically, you would use (omitting error handling):</p> -<p></p> -<pre class="colored"> - FT_Glyph glyph; - FT_BitmapGlyph glyph_bitmap; - - - // load glyph - error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); - - // extract glyph image - error = FT_Get_Glyph( face->glyph, &glyph ); - - // convert to a bitmap (default render mode + destroying old) - if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) - { - error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, - 0, 1 ); - if ( error ) // `glyph' unchanged - ... - } - - // access bitmap content by typecasting - glyph_bitmap = (FT_BitmapGlyph)glyph; - - // do funny stuff with it, like blitting/drawing - ... - - // discard glyph image (bitmap or not) - FT_Done_Glyph( glyph ); -</pre> -<p></p> -<p>Here another example, again without error handling:</p> -<p></p> -<pre class="colored"> - FT_Glyph glyphs[MAX_GLYPHS] - - - ... - - for ( idx = 0; i < MAX_GLYPHS; i++ ) - error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || - FT_Get_Glyph ( face->glyph, &glyph[idx] ); - - ... - - for ( idx = 0; i < MAX_GLYPHS; i++ ) - { - FT_Glyph bitmap = glyphs[idx]; - - - ... - - // after this call, `bitmap' no longer points into - // the `glyphs' array (and the old value isn't destroyed) - FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); - - ... - - FT_Done_Glyph( bitmap ); - } - - ... - - for ( idx = 0; i < MAX_GLYPHS; i++ ) - FT_Done_Glyph( glyphs[idx] ); -</pre> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Done_Glyph">FT_Done_Glyph</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GLYPH_H (ftglyph.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Done_Glyph</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Destroy a given glyph.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>glyph</b></td><td> -<p>A handle to the target glyph object.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_stroker.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_stroker.html deleted file mode 100644 index b904130efeb..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_stroker.html +++ /dev/null @@ -1,940 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Glyph Stroker -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Stroker">FT_Stroker</a></td><td></td><td><a href="#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td></td><td><a href="#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td></td><td><a href="#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td></tr> -<tr><td></td><td><a href="#FT_StrokerBorder">FT_StrokerBorder</a></td><td></td><td><a href="#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td></td><td><a href="#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td></td><td><a href="#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_New">FT_Stroker_New</a></td><td></td><td><a href="#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_Set">FT_Stroker_Set</a></td><td></td><td><a href="#FT_Stroker_Export">FT_Stroker_Export</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td></td><td><a href="#FT_Stroker_Done">FT_Stroker_Done</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td></td><td><a href="#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td></tr> -<tr><td></td><td><a href="#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td></td><td><a href="#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the ‘outside’ and/or the ‘inside’ borders of the stroke.</p> -<p>This can be useful to generate ‘bordered’ glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker">FT_Stroker</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_* <b>FT_Stroker</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Opaque handler to a path stroker object.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineJoin_ - { - <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a> = 0, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a> = 1, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a> = 2, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a> = <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a>, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a> = 3 - - } <b>FT_Stroker_LineJoin</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These values determine how two joining lines are rendered in a stroker.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_ROUND</b></td></tr> -<tr valign=top><td></td><td> -<p>Used to render rounded line joins. Circular arcs are used to join two lines smoothly.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_BEVEL</b></td></tr> -<tr valign=top><td></td><td> -<p>Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER_FIXED</b></td></tr> -<tr valign=top><td></td><td> -<p>Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. If the segments meet at too sharp an angle (such that the miter would extend from the intersection of the segments a distance greater than the product of the miter limit value and the border radius), then a bevel join (see above) is used instead. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter line join as used in PostScript and PDF.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER_VARIABLE</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_LINEJOIN_MITER</b></td></tr> -<tr valign=top><td></td><td> -<p>Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for backwards compatibility.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_LineCap">FT_Stroker_LineCap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineCap_ - { - <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a> = 0, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a>, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a> - - } <b>FT_Stroker_LineCap</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These values determine how the end of opened sub-paths are rendered in a stroke.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_BUTT</b></td></tr> -<tr valign=top><td></td><td> -<p>The end of lines is rendered as a full stop on the last point itself.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_ROUND</b></td></tr> -<tr valign=top><td></td><td> -<p>The end of lines is rendered as a half-circle around the last point.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_LINECAP_SQUARE</b></td></tr> -<tr valign=top><td></td><td> -<p>The end of lines is rendered as a square around the last point.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_StrokerBorder">FT_StrokerBorder</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_StrokerBorder_ - { - <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> = 0, - <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> - - } <b>FT_StrokerBorder</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These values are used to select a given stroke border in <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_STROKER_BORDER_LEFT</b></td><td> -<p>Select the left border, relative to the drawing direction.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_STROKER_BORDER_RIGHT</b></td></tr> -<tr valign=top><td></td><td> -<p>Select the right border, relative to the drawing direction.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Applications are generally interested in the ‘inside’ and ‘outside’ borders. However, there is no direct mapping between these and the ‘left’ and ‘right’ ones, since this really depends on the glyph's drawing orientation, which varies between font formats.</p> -<p>You can however use <a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a> and <a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a> to get these.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> ) - <b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the ‘inside’ borders of a given outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>The source outline handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> for empty or invalid outlines.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> ) - <b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the ‘outside’ borders of a given outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>The source outline handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> for empty or invalid outlines.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_New">FT_Stroker_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> *astroker ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new stroker object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>FreeType library handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>astroker</b></td><td> -<p>A new stroker object handle. NULL in case of error.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_Set">FT_Stroker_Set</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> radius, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a> line_cap, - <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a> line_join, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> miter_limit ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Reset a stroker object's attributes.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>radius</b></td><td> -<p>The border radius.</p> -</td></tr> -<tr valign=top><td><b>line_cap</b></td><td> -<p>The line cap style.</p> -</td></tr> -<tr valign=top><td><b>line_join</b></td><td> -<p>The line join style.</p> -</td></tr> -<tr valign=top><td><b>miter_limit</b></td><td> -<p>The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, expressed as 16.16 fixed-point value.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The radius is expressed in the same units as the outline coordinates.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_Rewind">FT_Stroker_Rewind</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> or <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> opened ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>The source outline.</p> -</td></tr> -<tr valign=top><td><b>opened</b></td><td> -<p>A boolean. If 1, the outline is treated as an open path instead of a closed one.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two distinct ‘border’ outlines.</p> -<p>If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’ outline.</p> -<p>This function calls <a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a> automatically.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> open ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Start a new sub-path in the stroker.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the start vector.</p> -</td></tr> -<tr valign=top><td><b>open</b></td><td> -<p>A boolean. If 1, the sub-path is treated as an open one.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function is useful when you need to stroke a path that is not stored as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Close the current sub-path in the stroker.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a>. If the subpath was not ‘opened’, this function ‘draws’ a single line segment to the start position when needed.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_LineTo">FT_Stroker_LineTo</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>‘Draw’ a single line segment in the stroker's current sub-path, from the last position.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the destination point.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>control</b></td><td> -<p>A pointer to a Bézier control point.</p> -</td></tr> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the destination point.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control2, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>control1</b></td><td> -<p>A pointer to the first Bézier control point.</p> -</td></tr> -<tr valign=top><td><b>control2</b></td><td> -<p>A pointer to second Bézier control point.</p> -</td></tr> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the destination point.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> border, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_points, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_contours ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the ‘border’ or ‘stroke’ outlines generated by the stroker.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>border</b></td><td> -<p>The border index.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>anum_points</b></td><td> -<p>The number of points.</p> -</td></tr> -<tr valign=top><td><b>anum_contours</b></td><td> -<p>The number of contours.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.</p> -<p>When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.</p> -<p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> instead if you want to retrieve the counts associated to both borders.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> border, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export the corresponding border to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p> -<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>border</b></td><td> -<p>The border index.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>The target outline handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Always call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to get sure that there is enough room in your <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object to receive all new data.</p> -<p>When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’</p> -<p>When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.</p> -<p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a> instead if you want to retrieve all borders at once.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_points, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_contours ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>anum_points</b></td><td> -<p>The number of points.</p> -</td></tr> -<tr valign=top><td><b>anum_contours</b></td><td> -<p>The number of contours.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_Export">FT_Stroker_Export</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export all borders to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p> -<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>The target stroker handle.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>The target outline handle.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stroker_Done">FT_Stroker_Done</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Destroy a stroker object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>A stroker handle. Can be NULL.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_Stroke">FT_Glyph_Stroke</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph, - <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Stroke a given outline glyph object with a given stroker.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pglyph</b></td><td> -<p>Source glyph handle on input, new glyph handle on output.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>A stroker handle.</p> -</td></tr> -<tr valign=top><td><b>destroy</b></td><td> -<p>A Boolean. If 1, the source glyph object is destroyed on success.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The source glyph is untouched in case of error.</p> -<p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_STROKER_H (ftstroke.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph, - <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> inside, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pglyph</b></td><td> -<p>Source glyph handle on input, new glyph handle on output.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stroker</b></td><td> -<p>A stroker handle.</p> -</td></tr> -<tr valign=top><td><b>inside</b></td><td> -<p>A Boolean. If 1, return the inside border, otherwise the outside border.</p> -</td></tr> -<tr valign=top><td><b>destroy</b></td><td> -<p>A Boolean. If 1, the source glyph object is destroyed on success.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The source glyph is untouched in case of error.</p> -<p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_variants.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_variants.html deleted file mode 100644 index ef5d5f8aad3..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-glyph_variants.html +++ /dev/null @@ -1,269 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Glyph Variants -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td></td><td><a href="#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td></tr> -<tr><td></td><td><a href="#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td></td><td><a href="#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td></tr> -<tr><td></td><td><a href="#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>Many CJK characters have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Ideographic Variation Sequences (IVS), consisting of a Unicode base character and one of 240 variant selectors (U+E0100-U+E01EF), instead of further extending the already huge code range for CJK characters.</p> -<p>An IVS is registered and unique; for further details please refer to Unicode Technical Standard #37, the Ideographic Variation Database:</p> -<p><a href="http://www.unicode.org/reports/tr37/">http://www.unicode.org/reports/tr37/</a></p> -<p>To date (November 2012), the character with the most variants is U+9089, having 31 such IVS.</p> -<p>Adobe and MS decided to support IVS with a new cmap subtable (format 14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.</p> -<p>A variant may be either ‘default’ or ‘non-default’. A default variant is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variant is a different glyph.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) - <b>FT_Face_GetCharVariantIndex</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the glyph index of a given character code as modified by the variation selector.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>charcode</b></td><td> -<p>The character code point in Unicode.</p> -</td></tr> -<tr valign=top><td><b>variantSelector</b></td><td> -<p>The Unicode code point of the variation selector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The glyph index. 0 means either ‘undefined character code’, or ‘undefined selector code’, or ‘no variation selector cmap subtable’, or ‘current CharMap is not Unicode’.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’.</p> -<p>This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.6</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) - <b>FT_Face_GetCharVariantIsDefault</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>charcode</b></td><td> -<p>The character codepoint in Unicode.</p> -</td></tr> -<tr valign=top><td><b>variantSelector</b></td><td> -<p>The Unicode codepoint of the variation selector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function is only meaningful if the font has a variation selector cmap subtable.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.6</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) - <b>FT_Face_GetVariantSelectors</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a zero-terminated list of Unicode variant selectors found in the font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.6</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) - <b>FT_Face_GetVariantsOfChar</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a zero-terminated list of Unicode variant selectors found for the specified character code.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>charcode</b></td><td> -<p>The character codepoint in Unicode.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A pointer to an array of variant selector code points that are active for the given character, or NULL if the corresponding list is empty.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.6</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) - <b>FT_Face_GetCharsOfVariant</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a zero-terminated list of Unicode character codes found for the specified variant selector.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face object.</p> -</td></tr> -<tr valign=top><td><b>variantSelector</b></td><td> -<p>The variant selector code point in Unicode.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A list of all the code points that are specified by this selector (both default and non-default codes are returned) or NULL if there is no valid cmap or the variant selector is invalid.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.6</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gx_validation.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gx_validation.html deleted file mode 100644 index 9a1f1c22b95..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gx_validation.html +++ /dev/null @@ -1,356 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -TrueTypeGX/AAT Validation -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td><td></td><td><a href="#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td><td></td><td><a href="#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td></tr> -<tr><td></td><td><a href="#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td><td></td><td><a href="#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td><td></td><td><a href="#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_VALIDATE_GX_LENGTH</b> (FT_VALIDATE_GX_LAST_INDEX + 1) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a> FT_VALIDATE_GX_BITFIELD( feat ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a> FT_VALIDATE_GX_BITFIELD( mort ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a> FT_VALIDATE_GX_BITFIELD( morx ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a> FT_VALIDATE_GX_BITFIELD( bsln ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a> FT_VALIDATE_GX_BITFIELD( just ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a> FT_VALIDATE_GX_BITFIELD( kern ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a> FT_VALIDATE_GX_BITFIELD( opbd ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a> FT_VALIDATE_GX_BITFIELD( trak ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a> FT_VALIDATE_GX_BITFIELD( prop ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a> FT_VALIDATE_GX_BITFIELD( lcar ) - -#define <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a> ( <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a> | \ - <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-field constants used with <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> to indicate which TrueTypeGX/AAT Type tables should be validated.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_VALIDATE_feat</b></td><td> -<p>Validate ‘feat’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_mort</b></td><td> -<p>Validate ‘mort’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_morx</b></td><td> -<p>Validate ‘morx’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_bsln</b></td><td> -<p>Validate ‘bsln’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_just</b></td><td> -<p>Validate ‘just’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_kern</b></td><td> -<p>Validate ‘kern’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_opbd</b></td><td> -<p>Validate ‘opbd’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_trak</b></td><td> -<p>Validate ‘trak’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_prop</b></td><td> -<p>Validate ‘prop’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_lcar</b></td><td> -<p>Validate ‘lcar’ table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_GX</b></td><td> -<p>Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_TrueTypeGX_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> tables[<a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a>], - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> table_length ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>validation_flags</b></td><td> -<p>A bit field that specifies the tables to be validated. See <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a> for possible values.</p> -</td></tr> -<tr valign=top><td><b>table_length</b></td><td> -<p>The size of the ‘tables’ array. Normally, <a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a> should be passed.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>tables</b></td><td> -<p>The array where all validated sfnt tables are stored. The array itself must be allocated by a client.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with TrueTypeGX fonts, returning an error otherwise.</p> -<p>After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling <a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a>. A NULL value indicates that the table either doesn't exist in the font, the application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt table.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_TrueTypeGX_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Free the buffer allocated by TrueTypeGX validator.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>table</b></td><td> -<p>The pointer to the buffer allocated by <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function must be used to free the buffer allocated by <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> only.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a> ( FT_VALIDATE_GX_START << 0 ) -#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a> ( FT_VALIDATE_GX_START << 1 ) - -#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a> ( <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a> | <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a> ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-field constants used with <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> to indicate the classic kern dialect or dialects. If the selected type doesn't fit, <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> regards the table as invalid.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_VALIDATE_MS</b></td><td> -<p>Handle the ‘kern’ table as a classic Microsoft kern table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_APPLE</b></td><td> -<p>Handle the ‘kern’ table as a classic Apple kern table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_CKERN</b></td><td> -<p>Handle the ‘kern’ as either classic Apple or Microsoft kern table.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_ClassicKern_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *ckern_table ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> -<p>The ‘kern’ table validator in <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>validation_flags</b></td><td> -<p>A bit field that specifies the dialect to be validated. See <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a> for possible values.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ckern_table</b></td><td> -<p>A pointer to the kern table.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling <a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a>. A NULL value indicates that the table doesn't exist in the font.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ClassicKern_Free">FT_ClassicKern_Free</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GX_VALIDATE_H (ftgxval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_ClassicKern_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Free the buffer allocated by classic Kern validator.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>table</b></td><td> -<p>The pointer to the buffer that is allocated by <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function must be used to free the buffer allocated by <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> only.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gzip.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gzip.html deleted file mode 100644 index 6a0c6d24926..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-gzip.html +++ /dev/null @@ -1,154 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -GZIP Streams -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td></td><td><a href="#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of Gzip-specific functions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GZIP_H (ftgzip.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stream_OpenGzip</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, - <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed ‘*.pcf.gz’ fonts that come with XFree86.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stream</b></td><td> -<p>The target embedding stream.</p> -</td></tr> -<tr valign=top><td><b>source</b></td><td> -<p>The source stream.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The source stream must be opened <i>before</i> calling this function.</p> -<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> -<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.</p> -<p>In certain builds of the library, gzip compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a gzipped stream from it and re-open the face with it.</p> -<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_GZIP_H (ftgzip.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Gzip_Uncompress</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* output, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>* output_len, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* input, - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> input_len ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Decompress a zipped input buffer into an output buffer. This function is modeled after zlib's ‘uncompress’ function.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>memory</b></td><td> -<p>A FreeType memory handle.</p> -</td></tr> -<tr valign=top><td><b>input</b></td><td> -<p>The input buffer.</p> -</td></tr> -<tr valign=top><td><b>input_len</b></td><td> -<p>The length of the input buffer.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>output</b></td><td> -<p>The output buffer.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>output_len</b></td><td> -<p>Before calling the function, this is the the total size of the output buffer, which must be large enough to hold the entire uncompressed data (so the size of the uncompressed data must be known in advance). After calling the function, ‘output_len’ is the size of the used data in ‘output’.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_file_macros.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_file_macros.html deleted file mode 100644 index d703415de78..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_file_macros.html +++ /dev/null @@ -1,902 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Header File Macros -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td></td><td><a href="#FT_LZW_H">FT_LZW_H</a></td></tr> -<tr><td></td><td><a href="#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td></td><td><a href="#FT_BZIP2_H">FT_BZIP2_H</a></td></tr> -<tr><td></td><td><a href="#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td></td><td><a href="#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> -<tr><td></td><td><a href="#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td></td><td><a href="#FT_GLYPH_H">FT_GLYPH_H</a></td></tr> -<tr><td></td><td><a href="#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td></td><td><a href="#FT_BITMAP_H">FT_BITMAP_H</a></td></tr> -<tr><td></td><td><a href="#FT_ERRORS_H">FT_ERRORS_H</a></td><td></td><td><a href="#FT_BBOX_H">FT_BBOX_H</a></td></tr> -<tr><td></td><td><a href="#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td></td><td><a href="#FT_CACHE_H">FT_CACHE_H</a></td></tr> -<tr><td></td><td><a href="#FT_SYSTEM_H">FT_SYSTEM_H</a></td><td></td><td><a href="#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td></tr> -<tr><td></td><td><a href="#FT_IMAGE_H">FT_IMAGE_H</a></td><td></td><td><a href="#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td></tr> -<tr><td></td><td><a href="#FT_TYPES_H">FT_TYPES_H</a></td><td></td><td><a href="#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td></tr> -<tr><td></td><td><a href="#FT_LIST_H">FT_LIST_H</a></td><td></td><td><a href="#FT_MAC_H">FT_MAC_H</a></td></tr> -<tr><td></td><td><a href="#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td></td><td><a href="#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td></tr> -<tr><td></td><td><a href="#FT_SIZES_H">FT_SIZES_H</a></td><td></td><td><a href="#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td></tr> -<tr><td></td><td><a href="#FT_MODULE_H">FT_MODULE_H</a></td><td></td><td><a href="#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td></tr> -<tr><td></td><td><a href="#FT_RENDER_H">FT_RENDER_H</a></td><td></td><td><a href="#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td></tr> -<tr><td></td><td><a href="#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td></td><td><a href="#FT_PFR_H">FT_PFR_H</a></td></tr> -<tr><td></td><td><a href="#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td></td><td><a href="#FT_STROKER_H">FT_STROKER_H</a></td></tr> -<tr><td></td><td><a href="#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td><td></td><td><a href="#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> -<tr><td></td><td><a href="#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td><td></td><td><a href="#FT_XFREE86_H">FT_XFREE86_H</a></td></tr> -<tr><td></td><td><a href="#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td><td></td><td><a href="#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> -<tr><td></td><td><a href="#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td><td></td><td><a href="#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td></tr> -<tr><td></td><td><a href="#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td><td></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> -<tr><td></td><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr> -<tr><td></td><td><a href="#FT_CID_H">FT_CID_H</a></td><td></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr> -<tr><td></td><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:</p> -<pre class="colored"> - #include FT_FREETYPE_H - #include FT_MULTIPLE_MASTERS_H - #include FT_GLYPH_H -</pre> -<p>There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and ‘FT_MULTIPLE_MASTERS_H’ is a lot more meaningful than ‘ftmm.h’).</p> -<p>The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#ifndef <b>FT_CONFIG_CONFIG_H</b> -#define <b>FT_CONFIG_CONFIG_H</b> <config/ftconfig.h> -#endif - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing FreeType 2 configuration data.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#ifndef <b>FT_CONFIG_STANDARD_LIBRARY_H</b> -#define <b>FT_CONFIG_STANDARD_LIBRARY_H</b> <config/ftstdlib.h> -#endif - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#ifndef <b>FT_CONFIG_OPTIONS_H</b> -#define <b>FT_CONFIG_OPTIONS_H</b> <config/ftoption.h> -#endif - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#ifndef <b>FT_CONFIG_MODULES_H</b> -#define <b>FT_CONFIG_MODULES_H</b> <config/ftmodule.h> -#endif - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_FREETYPE_H">FT_FREETYPE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_FREETYPE_H</b> <freetype.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the base FreeType 2 API.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ERRORS_H">FT_ERRORS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ERRORS_H</b> <fterrors.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).</p> -<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_MODULE_ERRORS_H</b> <ftmoderr.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SYSTEM_H">FT_SYSTEM_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_SYSTEM_H</b> <ftsystem.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).</p> -<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_IMAGE_H">FT_IMAGE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_IMAGE_H</b> <ftimage.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).</p> -<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TYPES_H">FT_TYPES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TYPES_H</b> <fttypes.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.</p> -<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_LIST_H">FT_LIST_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_LIST_H</b> <ftlist.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the list management API of FreeType 2.</p> -<p>(Most applications will never need to include this file.)</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OUTLINE_H">FT_OUTLINE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_OUTLINE_H</b> <ftoutln.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SIZES_H">FT_SIZES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_SIZES_H</b> <ftsizes.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the API which manages multiple <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects per face.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MODULE_H">FT_MODULE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_MODULE_H</b> <ftmodapi.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the module management API of FreeType 2.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_RENDER_H">FT_RENDER_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_RENDER_H</b> <ftrender.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_AUTOHINTER_H</b> <ftautoh.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing structures and macros related to the auto-hinting module.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_CFF_DRIVER_H</b> <ftcffdrv.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing structures and macros related to the CFF driver module.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TRUETYPE_DRIVER_H</b> <ftttdrv.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing structures and macros related to the TrueType driver module.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TYPE1_TABLES_H</b> <t1tables.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TRUETYPE_IDS_H</b> <ttnameid.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a <i>large</i> set of constant macro definitions, taken from the TrueType and OpenType specifications.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TRUETYPE_TABLES_H</b> <tttables.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TRUETYPE_TAGS_H</b> <tttags.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of TrueType four-byte ‘tags’ which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BDF_H">FT_BDF_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_BDF_H</b> <ftbdf.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CID_H">FT_CID_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_CID_H</b> <ftcid.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GZIP_H">FT_GZIP_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_GZIP_H</b> <ftgzip.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_LZW_H">FT_LZW_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_LZW_H</b> <ftlzw.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BZIP2_H">FT_BZIP2_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_BZIP2_H</b> <ftbzip2.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_WINFONTS_H">FT_WINFONTS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_WINFONTS_H</b> <ftwinfnt.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GLYPH_H">FT_GLYPH_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_GLYPH_H</b> <ftglyph.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the API of the optional glyph management component.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BITMAP_H">FT_BITMAP_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_BITMAP_H</b> <ftbitmap.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_BBOX_H">FT_BBOX_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_BBOX_H</b> <ftbbox.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CACHE_H">FT_CACHE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_CACHE_H</b> <ftcache.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_CACHE_IMAGE_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.</p> -<p>It is used to define a cache for <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> elements. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a> if you only need to store small glyph bitmaps, as it will use less memory.</p> -<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all glyph image-related cache declarations.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_CACHE_SMALL_BITMAPS_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.</p> -<p>It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a> if you want to cache arbitrary glyph images, including scalable outlines.</p> -<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all small bitmaps-related cache declarations.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_CACHE_CHARMAP_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system.</p> -<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all charmap-based cache declarations.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MAC_H">FT_MAC_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_MAC_H</b> <ftmac.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.</p> -<p>This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_MULTIPLE_MASTERS_H</b> <ftmm.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_SFNT_NAMES_H</b> <ftsnames.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which accesses embedded ‘name’ strings in SFNT-based font formats (i.e., TrueType and OpenType).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_OPENTYPE_VALIDATE_H</b> <ftotval.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_GX_VALIDATE_H</b> <ftgxval.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_PFR_H">FT_PFR_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_PFR_H</b> <ftpfr.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_STROKER_H">FT_STROKER_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_STROKER_H</b> <ftstroke.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_SYNTHESIS_H</b> <ftsynth.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_XFREE86_H">FT_XFREE86_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_XFREE86_H</b> <ftxf86.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_TRIGONOMETRY_H</b> <fttrigon.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_LCD_FILTER_H</b> <ftlcdfil.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_UNPATENTED_HINTING_H</b> <ttunpat.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_INCREMENTAL_H</b> <ftincrem.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GASP_H">FT_GASP_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_GASP_H</b> <ftgasp.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ADVANCES_H">FT_ADVANCES_H</a></h4> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ADVANCES_H</b> <ftadvanc.h> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_inclusion.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_inclusion.html deleted file mode 100644 index 5ca09dcf761..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-header_inclusion.html +++ /dev/null @@ -1,54 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -FreeType's header inclusion scheme -</h1></center> -<table align=center width="87%"><tr><td> -<p>To be as flexible as possible (and for historical reasons), FreeType uses a very special inclusion scheme to load header files, for example</p> -<pre class="colored"> - #include <ft2build.h> - - #include FT_FREETYPE_H - #include FT_OUTLINE_H -</pre> -<p>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.</p> -</td></tr></table><br> -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-index.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-index.html deleted file mode 100644 index ebe3c2d213b..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-index.html +++ /dev/null @@ -1,305 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<table align=center border=0 cellpadding=0 cellspacing=0> -<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#FT_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td></tr> -<tr><td><a href="ft2-cff_driver.html#darkening-parameters">darkening-parameters</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr> -<tr><td><a href="ft2-auto_hinter.html#default-script">default-script</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td></tr> -<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td></tr> -<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> -<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr> -<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr> -<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr> -<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td></tr> -<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr> -<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr> -<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr> -<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr> -<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr> -<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr> -<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr> -<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr> -<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr> -<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr> -<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr> -<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr> -<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr> -<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr> -<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr> -<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-base_interface.html#FT_Module">FT_Module</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr> -<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> -<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr> -<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr> -<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-header_file_macros.html#FT_XFREE86_H">FT_XFREE86_H</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr> -<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr> -<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr> -<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-base_interface.html#ft_encoding_xxx">ft_encoding_xxx</a></td></tr> -<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_gridfit</a></td></tr> -<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_pixels</a></td></tr> -<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_subpixels</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_truncate</a></td></tr> -<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_unscaled</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-glyph_management.html#ft_glyph_bbox_xxx">ft_glyph_bbox_xxx</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_bitmap</a></td></tr> -<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_composite</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_none</a></td></tr> -<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_outline</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">FT_Palette_Mode</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_plotter</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-basic_types.html#ft_glyph_format_xxx">ft_glyph_format_xxx</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-base_interface.html#ft_kerning_default">ft_kerning_default</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-base_interface.html#ft_kerning_unfitted">ft_kerning_unfitted</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-base_interface.html#ft_kerning_unscaled">ft_kerning_unscaled</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_driver</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_memory</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_params</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_pathname</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">ft_open_stream</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_even_odd_fill</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_flags</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_high_precision</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_ignore_dropouts</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_none</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_owner</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_reverse_fill</a></td></tr> -<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_single_pass</a></td></tr> -<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-bdf_fonts.html#FT_PropertyType">FT_PropertyType</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgb</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-basic_types.html#FT_Palette_Mode">ft_palette_mode_rgba</a></td></tr> -<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_grays</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_mono</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_none</a></td></tr> -<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal2</a></td></tr> -<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_pal4</a></td></tr> -<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-basic_types.html#ft_pixel_mode_xxx">ft_pixel_mode_xxx</a></td></tr> -<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_mono</a></td></tr> -<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_normal</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-base_interface.html#ft_render_mode_xxx">ft_render_mode_xxx</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr> -<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-cff_driver.html#hinting-engine">hinting-engine</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening">no-stem-darkening</a></td></tr> -<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr> -<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr> -<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr> -<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr> -<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr> -<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr> -<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr> -<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr> -<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr> -<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr> -<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr> -<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr> -<tr><td><a href="ft2-font_formats.html#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr> -<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr> -<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr> -<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr> -<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr> -<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr> -<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr> -<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr> -<tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr> -<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr> -<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr> -<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr> -<tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr> -<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td></td></tr> -</table> -<hr> -<table><tr><td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<center><font size=-2>generated on Thu Mar 6 23:13:44 2014</font></center></body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-list_processing.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-list_processing.html deleted file mode 100644 index cf8ad8cbeb3..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-list_processing.html +++ /dev/null @@ -1,486 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -List Processing -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_List">FT_List</a></td><td></td><td><a href="#FT_List_Add">FT_List_Add</a></td><td></td><td><a href="#FT_List_Iterate">FT_List_Iterate</a></td></tr> -<tr><td></td><td><a href="#FT_ListNode">FT_ListNode</a></td><td></td><td><a href="#FT_List_Insert">FT_List_Insert</a></td><td></td><td><a href="#FT_List_Destructor">FT_List_Destructor</a></td></tr> -<tr><td></td><td><a href="#FT_ListRec">FT_ListRec</a></td><td></td><td><a href="#FT_List_Remove">FT_List_Remove</a></td><td></td><td><a href="#FT_List_Finalize">FT_List_Finalize</a></td></tr> -<tr><td></td><td><a href="#FT_ListNodeRec">FT_ListNodeRec</a></td><td></td><td><a href="#FT_List_Up">FT_List_Up</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_List_Find">FT_List_Find</a></td><td></td><td><a href="#FT_List_Iterator">FT_List_Iterator</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains various definitions related to list processing using doubly-linked nodes.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_List">FT_List</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_* <b>FT_List</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a list record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>).</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ListNode">FT_ListNode</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_* <b>FT_ListNode</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Many elements and objects in FreeType are listed through an <a href="ft2-list_processing.html#FT_List">FT_List</a> record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>). As its name suggests, an FT_ListNode is a handle to a single list element.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ListRec">FT_ListRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_ - { - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> head; - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> tail; - - } <b>FT_ListRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>head</b></td><td> -<p>The head (first element) of doubly-linked list.</p> -</td></tr> -<tr valign=top><td><b>tail</b></td><td> -<p>The tail (last element) of doubly-linked list.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_ListNodeRec">FT_ListNodeRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPES_H (fttypes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_ - { - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> prev; - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> next; - <span class="keyword">void</span>* data; - - } <b>FT_ListNodeRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to hold a single list element.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>prev</b></td><td> -<p>The previous element in the list. NULL if first.</p> -</td></tr> -<tr valign=top><td><b>next</b></td><td> -<p>The next element in the list. NULL if last.</p> -</td></tr> -<tr valign=top><td><b>data</b></td><td> -<p>A typeless pointer to the listed object.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Find">FT_List_Find</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> ) - <b>FT_List_Find</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <span class="keyword">void</span>* data ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Find the list node for a given listed object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A pointer to the parent list.</p> -</td></tr> -<tr valign=top><td><b>data</b></td><td> -<p>The address of the listed object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>List node. NULL if it wasn't found.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Add">FT_List_Add</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_List_Add</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Append an element to the end of a list.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A pointer to the parent list.</p> -</td></tr> -<tr valign=top><td><b>node</b></td><td> -<p>The node to append.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Insert">FT_List_Insert</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_List_Insert</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Insert an element at the head of a list.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A pointer to parent list.</p> -</td></tr> -<tr valign=top><td><b>node</b></td><td> -<p>The node to insert.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Remove">FT_List_Remove</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_List_Remove</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Remove a node from a list. This function doesn't check whether the node is in the list!</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>node</b></td><td> -<p>The node to remove.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A pointer to the parent list.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Up">FT_List_Up</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_List_Up</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Move a node to the head/top of a list. Used to maintain LRU lists.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A pointer to the parent list.</p> -</td></tr> -<tr valign=top><td><b>node</b></td><td> -<p>The node to move.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Iterator">FT_List_Iterator</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> - (*<b>FT_List_Iterator</b>)( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An FT_List iterator function that is called during a list parse by <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>node</b></td><td> -<p>The current iteration list node.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer passed to <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>. Can be used to point to the iteration's state.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Iterate">FT_List_Iterate</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_List_Iterate</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a> iterator, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A handle to the list.</p> -</td></tr> -<tr valign=top><td><b>iterator</b></td><td> -<p>An iterator function, called on each node of the list.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A user-supplied field that is passed as the second argument to the iterator.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The result (a FreeType error code) of the last iterator call.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Destructor">FT_List_Destructor</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_List_Destructor</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <span class="keyword">void</span>* data, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An <a href="ft2-list_processing.html#FT_List">FT_List</a> iterator function that is called during a list finalization by <a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a> to destroy all elements in a given list.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>system</b></td><td> -<p>The current system object.</p> -</td></tr> -<tr valign=top><td><b>data</b></td><td> -<p>The current object to destroy.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer passed to <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>. It can be used to point to the iteration's state.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_List_Finalize">FT_List_Finalize</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LIST_H (ftlist.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_List_Finalize</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, - <a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a> destroy, - <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Destroy all elements in the list as well as the list itself.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>list</b></td><td> -<p>A handle to the list.</p> -</td></tr> -<tr valign=top><td><b>destroy</b></td><td> -<p>A list destructor that will be applied to each element of the list.</p> -</td></tr> -<tr valign=top><td><b>memory</b></td><td> -<p>The current memory object that handles deallocation.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A user-supplied field that is passed as the last argument to the destructor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function expects that all nodes added by <a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a> or <a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a> have been dynamically allocated.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lzw.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lzw.html deleted file mode 100644 index b45f8d8146e..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lzw.html +++ /dev/null @@ -1,94 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -LZW Streams -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td></td><td></td><td></td><td></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of LZW-specific functions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LZW_H (ftlzw.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Stream_OpenLZW</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, - <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Open a new stream to parse LZW-compressed font files. This is mainly used to support the compressed ‘*.pcf.Z’ fonts that come with XFree86.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stream</b></td><td> -<p>The target embedding stream.</p> -</td></tr> -<tr valign=top><td><b>source</b></td><td> -<p>The source stream.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The source stream must be opened <i>before</i> calling this function.</p> -<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> -<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream</p> -<p>In certain builds of the library, LZW compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a LZW stream from it and re-open the face with it.</p> -<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with LZW support.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-mac_specific.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-mac_specific.html deleted file mode 100644 index 7b62628e231..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-mac_specific.html +++ /dev/null @@ -1,368 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Mac Specific Interface -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td></td><td><a href="#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td></tr> -<tr><td></td><td><a href="#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td></td><td><a href="#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td></tr> -<tr><td></td><td><a href="#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td></td><td><a href="#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The following definitions are only available if FreeType is compiled on a Macintosh.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MAC_H (ftmac.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Face_From_FOND</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - Handle fond, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) - FT_DEPRECATED_ATTRIBUTE; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new face object from a FOND resource.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library resource.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>fond</b></td><td> -<p>A FOND resource.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>Only supported for the -1 ‘sanity check’ special case.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> -<p>A handle to a new face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>notes</b></em></td></tr><tr><td> -<p>This function can be used to create <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects from fonts that are installed in the system as follows.</p> -<pre class="colored"> - fond = GetResource( 'FOND', fontName ); - error = FT_New_Face_From_FOND( library, fond, 0, &face ); -</pre> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MAC_H (ftmac.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_GetFile_From_Mac_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, - FSSpec* pathSpec, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) - FT_DEPRECATED_ATTRIBUTE; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return an FSSpec for the disk file containing the named font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>fontName</b></td><td> -<p>Mac OS name of the font (e.g., Times New Roman Bold).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pathSpec</b></td><td> -<p>FSSpec to the file. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>Index of the face. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MAC_H (ftmac.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_GetFile_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, - FSSpec* pathSpec, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) - FT_DEPRECATED_ATTRIBUTE; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return an FSSpec for the disk file containing the named font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>fontName</b></td><td> -<p>Mac OS name of the font in ATS framework.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>pathSpec</b></td><td> -<p>FSSpec to the file. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>Index of the face. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MAC_H (ftmac.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_GetFilePath_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, - UInt8* path, - UInt32 maxPathSize, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) - FT_DEPRECATED_ATTRIBUTE; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a pathname of the disk file and face index for given font name that is handled by ATS framework.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>fontName</b></td><td> -<p>Mac OS name of the font in ATS framework.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>path</b></td><td> -<p>Buffer to store pathname of the file. For passing to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>. The client must allocate this buffer before calling this function.</p> -</td></tr> -<tr valign=top><td><b>maxPathSize</b></td><td> -<p>Lengths of the buffer ‘path’ that client allocated.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>Index of the face. For passing to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MAC_H (ftmac.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Face_From_FSSpec</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> FSSpec *spec, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) - FT_DEPRECATED_ATTRIBUTE; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new face object from a given resource and typeface index using an FSSpec to the font file.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library resource.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>spec</b></td><td> -<p>FSSpec to the font file.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>The index of the face within the resource. The first face has index 0.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> -<p>A handle to a new face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSSpec instead of a path.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MAC_H (ftmac.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Face_From_FSRef</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> FSRef *ref, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) - FT_DEPRECATED_ATTRIBUTE; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new face object from a given resource and typeface index using an FSRef to the font file.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library resource.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>spec</b></td><td> -<p>FSRef to the font file.</p> -</td></tr> -<tr valign=top><td><b>face_index</b></td><td> -<p>The index of the face within the resource. The first face has index 0.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> -<p>A handle to a new face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSRef instead of a path.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-module_management.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-module_management.html deleted file mode 100644 index 754a648bf35..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-module_management.html +++ /dev/null @@ -1,819 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Module Management -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Module_Constructor">FT_Module_Constructor</a></td><td></td><td><a href="#FT_Remove_Module">FT_Remove_Module</a></td><td></td><td><a href="#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td></tr> -<tr><td></td><td><a href="#FT_Module_Destructor">FT_Module_Destructor</a></td><td></td><td><a href="#FT_Property_Set">FT_Property_Set</a></td><td></td><td><a href="#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td></tr> -<tr><td></td><td><a href="#FT_Module_Requester">FT_Module_Requester</a></td><td></td><td><a href="#FT_Property_Get">FT_Property_Get</a></td><td></td><td><a href="#FT_Renderer_Class">FT_Renderer_Class</a></td></tr> -<tr><td></td><td><a href="#FT_Module_Class">FT_Module_Class</a></td><td></td><td><a href="#FT_Reference_Library">FT_Reference_Library</a></td><td></td><td><a href="#FT_Get_Renderer">FT_Get_Renderer</a></td></tr> -<tr><td></td><td><a href="#FT_Add_Module">FT_Add_Module</a></td><td></td><td><a href="#FT_New_Library">FT_New_Library</a></td><td></td><td><a href="#FT_Set_Renderer">FT_Set_Renderer</a></td></tr> -<tr><td></td><td><a href="#FT_Get_Module">FT_Get_Module</a></td><td></td><td><a href="#FT_Done_Library">FT_Done_Library</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The definitions below are used to manage modules within FreeType. Modules can be added, upgraded, and removed at runtime. Additionally, some module properties can be controlled also.</p> -<p>Here is a list of possible values of the ‘module_name’ field in the <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> structure.</p> -<pre class="colored"> - autofitter - bdf - cff - gxvalid - otvalid - pcf - pfr - psaux - pshinter - psnames - raster1, raster5 - sfnt - smooth, smooth-lcd, smooth-lcdv - truetype - type1 - type42 - t1cid - winfonts -</pre> -<p>Note that the FreeType Cache sub-system is not a FreeType module.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Module_Constructor">FT_Module_Constructor</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> - (*<b>FT_Module_Constructor</b>)( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to initialize (not create) a new module object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>module</b></td><td> -<p>The module to initialize.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Module_Destructor">FT_Module_Destructor</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_Module_Destructor</b>)( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to finalize (not destroy) a given module object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>module</b></td><td> -<p>The module to finalize.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Module_Requester">FT_Module_Requester</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> FT_Module_Interface - (*<b>FT_Module_Requester</b>)( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module, - <span class="keyword">const</span> <span class="keyword">char</span>* name ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to query a given module for a specific interface.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>module</b></td><td> -<p>The module to be searched.</p> -</td></tr> -<tr valign=top><td><b>name</b></td><td> -<p>The name of the interface in the module.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Module_Class">FT_Module_Class</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Module_Class_ - { - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> module_flags; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> module_size; - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> module_version; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> module_requires; - - <span class="keyword">const</span> <span class="keyword">void</span>* module_interface; - - <a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a> module_init; - <a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a> module_done; - <a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a> get_interface; - - } <b>FT_Module_Class</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The module class descriptor.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>module_flags</b></td><td> -<p>Bit flags describing the module.</p> -</td></tr> -<tr valign=top><td><b>module_size</b></td><td> -<p>The size of one module object/instance in bytes.</p> -</td></tr> -<tr valign=top><td><b>module_name</b></td><td> -<p>The name of the module.</p> -</td></tr> -<tr valign=top><td><b>module_version</b></td><td> -<p>The version, as a 16.16 fixed number (major.minor).</p> -</td></tr> -<tr valign=top><td><b>module_requires</b></td><td> -<p>The version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version 2.0, i.e., 0x20000.</p> -</td></tr> -<tr valign=top><td><b>module_init</b></td><td> -<p>The initializing function.</p> -</td></tr> -<tr valign=top><td><b>module_done</b></td><td> -<p>The finalizing function.</p> -</td></tr> -<tr valign=top><td><b>get_interface</b></td><td> -<p>The interface requesting function.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Add_Module">FT_Add_Module</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Add_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a>* clazz ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Add a new module to a given library instance.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>clazz</b></td><td> -<p>A pointer to class descriptor for the module.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Module">FT_Get_Module</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-base_interface.html#FT_Module">FT_Module</a> ) - <b>FT_Get_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <span class="keyword">char</span>* module_name ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Find a module by its name.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library object.</p> -</td></tr> -<tr valign=top><td><b>module_name</b></td><td> -<p>The module's name (as an ASCII string).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A module handle. 0 if none was found.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>FreeType's internal modules aren't documented very well, and you should look up the source code for details.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Remove_Module">FT_Remove_Module</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Remove_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-base_interface.html#FT_Module">FT_Module</a> module ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Remove a given module from a library instance.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>module</b></td><td> -<p>A handle to a module object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The module object is destroyed by the function in case of success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Property_Set">FT_Property_Set</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Property_Set</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* property_name, - <span class="keyword">const</span> <span class="keyword">void</span>* value ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Set a property for a given module.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library the module is part of.</p> -</td></tr> -<tr valign=top><td><b>module_name</b></td><td> -<p>The module name.</p> -</td></tr> -<tr valign=top><td><b>property_name</b></td><td> -<p>The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.</p> -<p>Note that only a few modules have properties.</p> -</td></tr> -<tr valign=top><td><b>value</b></td><td> -<p>A generic pointer to a variable or structure that gives the new value of the property. The exact definition of ‘value’ is dependent on the property; see the ‘Synopsis’ subsection of the module's documentation.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If ‘module_name’ isn't a valid module name, or ‘property_name’ doesn't specify a valid property, or if ‘value’ doesn't represent a valid value for the given property, an error is returned.</p> -<p>The following example sets property ‘bar’ (a simple integer) in module ‘foo’ to value 1.</p> -<pre class="colored"> - FT_UInt bar; - - - bar = 1; - FT_Property_Set( library, "foo", "bar", &bar ); -</pre> -<p>Note that the FreeType Cache sub-system doesn't recognize module property changes. To avoid glyph lookup confusion within the cache you should call <a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a> to completely flush the cache if a module property gets changed after <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a> has been called.</p> -<p>It is not possible to set properties of the FreeType Cache sub-system itself with FT_Property_Set; use ?FTC_Property_Set? instead.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.4.11</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Property_Get">FT_Property_Get</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Property_Get</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* property_name, - <span class="keyword">void</span>* value ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Get a module's property value.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library the module is part of.</p> -</td></tr> -<tr valign=top><td><b>module_name</b></td><td> -<p>The module name.</p> -</td></tr> -<tr valign=top><td><b>property_name</b></td><td> -<p>The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>value</b></td><td> -<p>A generic pointer to a variable or structure that gives the value of the property. The exact definition of ‘value’ is dependent on the property; see the ‘Synopsis’ subsection of the module's documentation.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If ‘module_name’ isn't a valid module name, or ‘property_name’ doesn't specify a valid property, or if ‘value’ doesn't represent a valid value for the given property, an error is returned.</p> -<p>The following example gets property ‘baz’ (a range) in module ‘foo’.</p> -<pre class="colored"> - typedef range_ - { - FT_Int32 min; - FT_Int32 max; - - } range; - - range baz; - - - FT_Property_Get( library, "foo", "baz", &baz ); -</pre> -<p>It is not possible to retrieve properties of the FreeType Cache sub-system with FT_Property_Get; use ?FTC_Property_Get? instead.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.4.11</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Reference_Library">FT_Reference_Library</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Reference_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A counter gets initialized to 1 at the time an <a href="ft2-base_interface.html#FT_Library">FT_Library</a> structure is created. This function increments the counter. <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a> then only destroys a library if the counter is 1, otherwise it simply decrements the counter.</p> -<p>This function helps in managing life-cycles of structures that reference <a href="ft2-base_interface.html#FT_Library">FT_Library</a> objects.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a target library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.4.2</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Library">FT_New_Library</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Library</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function is used to create a new FreeType library instance from a given memory object. It is thus possible to use libraries with distinct memory allocators within the same program.</p> -<p>Normally, you would call this function (followed by a call to <a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a> or a series of calls to <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>) instead of <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a> to initialize the FreeType library.</p> -<p>Don't use <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a> but <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a> to destroy a library instance.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>memory</b></td><td> -<p>A handle to the original memory object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>alibrary</b></td><td> -<p>A pointer to handle of a new library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>See the discussion of reference counters in the description of <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Done_Library">FT_Done_Library</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Done_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Discard a given library object. This closes all drivers and discards all resource objects.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the target library.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>See the discussion of reference counters in the description of <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Set_Debug_Hook</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> hook_index, - FT_DebugHook_Func debug_hook ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Set a debug hook function for debugging the interpreter of a font format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>hook_index</b></td><td> -<p>The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.</p> -</td></tr> -<tr valign=top><td><b>debug_hook</b></td><td> -<p>The function used to debug the interpreter.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.</p> -<p>Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't available publicly. This is a bug and will be fixed in a forthcoming release.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Add_Default_Modules">FT_Add_Default_Modules</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Add_Default_Modules</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Add the set of default drivers to a given library object. This is only useful when you create a library object with <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> (usually to plug a custom memory manager).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a new library object.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Renderer_Class">FT_Renderer_Class</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_RENDER_H (ftrender.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Renderer_Class_ - { - <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> root; - - <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> glyph_format; - - FT_Renderer_RenderFunc render_glyph; - FT_Renderer_TransformFunc transform_glyph; - FT_Renderer_GetCBoxFunc get_glyph_cbox; - FT_Renderer_SetModeFunc set_mode; - - <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a>* raster_class; - - } <b>FT_Renderer_Class</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>The renderer module class descriptor.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>root</b></td><td> -<p>The root <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> fields.</p> -</td></tr> -<tr valign=top><td><b>glyph_format</b></td><td> -<p>The glyph image format this renderer handles.</p> -</td></tr> -<tr valign=top><td><b>render_glyph</b></td><td> -<p>A method used to render the image that is in a given glyph slot into a bitmap.</p> -</td></tr> -<tr valign=top><td><b>transform_glyph</b></td><td> -<p>A method used to transform the image that is in a given glyph slot.</p> -</td></tr> -<tr valign=top><td><b>get_glyph_cbox</b></td><td> -<p>A method used to access the glyph's cbox.</p> -</td></tr> -<tr valign=top><td><b>set_mode</b></td><td> -<p>A method used to pass additional parameters.</p> -</td></tr> -<tr valign=top><td><b>raster_class</b></td><td> -<p>For <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a> renderers only. This is a pointer to its raster's class.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Renderer">FT_Get_Renderer</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_RENDER_H (ftrender.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a> ) - <b>FT_Get_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the current renderer for a given glyph format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library object.</p> -</td></tr> -<tr valign=top><td><b>format</b></td><td> -<p>The glyph format.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A renderer handle. 0 if none found.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p> -<p>To add a new renderer, simply use <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>. To retrieve a renderer by its name, use <a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Renderer">FT_Set_Renderer</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_RENDER_H (ftrender.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-base_interface.html#FT_Renderer">FT_Renderer</a> renderer, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_params, - <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a>* parameters ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Set the current renderer to use, and set additional mode.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>renderer</b></td><td> -<p>A handle to the renderer object.</p> -</td></tr> -<tr valign=top><td><b>num_params</b></td><td> -<p>The number of additional parameters.</p> -</td></tr> -<tr valign=top><td><b>parameters</b></td><td> -<p>Additional parameters.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.</p> -<p>This doesn't change the current renderer for other formats.</p> -<p>Currently, only the B/W renderer, if compiled with FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels anti-aliasing mode; this option must be set directly in ‘ftraster.c’ and is undefined by default) accepts a single tag ‘pal5’ to set its gray palette as a character string with 5 elements. Consequently, the third and fourth argument are zero normally.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-multiple_masters.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-multiple_masters.html deleted file mode 100644 index efb630aa767..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-multiple_masters.html +++ /dev/null @@ -1,511 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Multiple Masters -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_MM_Axis">FT_MM_Axis</a></td><td></td><td><a href="#FT_Get_MM_Var">FT_Get_MM_Var</a></td></tr> -<tr><td></td><td><a href="#FT_Multi_Master">FT_Multi_Master</a></td><td></td><td><a href="#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td></tr> -<tr><td></td><td><a href="#FT_Var_Axis">FT_Var_Axis</a></td><td></td><td><a href="#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td></tr> -<tr><td></td><td><a href="#FT_Var_Named_Style">FT_Var_Named_Style</a></td><td></td><td><a href="#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td></tr> -<tr><td></td><td><a href="#FT_MM_Var">FT_MM_Var</a></td><td></td><td><a href="#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td></tr> -<tr><td></td><td><a href="#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.</p> -<p>George Williams has extended this interface to make it work with both Type 1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_MM_Axis">FT_MM_Axis</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Axis_ - { - <a href="ft2-basic_types.html#FT_String">FT_String</a>* name; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> minimum; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> maximum; - - } <b>FT_MM_Axis</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to model a given axis in design space for Multiple Masters fonts.</p> -<p>This structure can't be used for GX var fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>name</b></td><td> -<p>The axis's name.</p> -</td></tr> -<tr valign=top><td><b>minimum</b></td><td> -<p>The axis's minimum design coordinate.</p> -</td></tr> -<tr valign=top><td><b>maximum</b></td><td> -<p>The axis's maximum design coordinate.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Multi_Master">FT_Multi_Master</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Multi_Master_ - { - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_axis; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_designs; - <a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a> axis[T1_MAX_MM_AXIS]; - - } <b>FT_Multi_Master</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model the axes and space of a Multiple Masters font.</p> -<p>This structure can't be used for GX var fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>num_axis</b></td><td> -<p>Number of axes. Cannot exceed 4.</p> -</td></tr> -<tr valign=top><td><b>num_designs</b></td><td> -<p>Number of designs; should be normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.</p> -</td></tr> -<tr valign=top><td><b>axis</b></td><td> -<p>A table of axis descriptors.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Var_Axis">FT_Var_Axis</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Axis_ - { - <a href="ft2-basic_types.html#FT_String">FT_String</a>* name; - - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> minimum; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> def; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> maximum; - - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> strid; - - } <b>FT_Var_Axis</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>name</b></td><td> -<p>The axis's name. Not always meaningful for GX.</p> -</td></tr> -<tr valign=top><td><b>minimum</b></td><td> -<p>The axis's minimum design coordinate.</p> -</td></tr> -<tr valign=top><td><b>def</b></td><td> -<p>The axis's default design coordinate. FreeType computes meaningful default values for MM; it is then an integer value, not in 16.16 format.</p> -</td></tr> -<tr valign=top><td><b>maximum</b></td><td> -<p>The axis's maximum design coordinate.</p> -</td></tr> -<tr valign=top><td><b>tag</b></td><td> -<p>The axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.</p> -</td></tr> -<tr valign=top><td><b>strid</b></td><td> -<p>The entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Var_Named_Style">FT_Var_Named_Style</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Named_Style_ - { - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> strid; - - } <b>FT_Var_Named_Style</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A simple structure used to model a named style in a GX var font.</p> -<p>This structure can't be used for MM fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>coords</b></td><td> -<p>The design coordinates for this style. This is an array with one entry for each axis.</p> -</td></tr> -<tr valign=top><td><b>strid</b></td><td> -<p>The entry in ‘name’ table identifying this style.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MM_Var">FT_MM_Var</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Var_ - { - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_axis; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_designs; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_namedstyles; - <a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a>* axis; - <a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a>* namedstyle; - - } <b>FT_MM_Var</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model the axes and space of a Multiple Masters or GX var distortable font.</p> -<p>Some fields are specific to one format and not to the other.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>num_axis</b></td><td> -<p>The number of axes. The maximum value is 4 for MM; no limit in GX.</p> -</td></tr> -<tr valign=top><td><b>num_designs</b></td><td> -<p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p> -</td></tr> -<tr valign=top><td><b>num_namedstyles</b></td><td> -<p>The number of named styles; only meaningful for GX that allows certain design coordinates to have a string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example, Weight=1.5 is ‘Bold’.</p> -</td></tr> -<tr valign=top><td><b>axis</b></td><td> -<p>A table of axis descriptors. GX fonts contain slightly more data than MM.</p> -</td></tr> -<tr valign=top><td><b>namedstyles</b></td><td> -<p>A table of named styles. Only meaningful with GX.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Multi_Master">FT_Get_Multi_Master</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Multi_Master</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a> *amaster ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the Multiple Master descriptor of a given font.</p> -<p>This function can't be used with GX fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>amaster</b></td><td> -<p>The Multiple Masters descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_MM_Var">FT_Get_MM_Var</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_MM_Var</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a>* *amaster ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the Multiple Master/GX var descriptor of a given font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>amaster</b></td><td> -<p>The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_MM_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* coords ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>For Multiple Masters fonts, choose an interpolated font design through design coordinates.</p> -<p>This function can't be used with GX fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>num_coords</b></td><td> -<p>The number of design coordinates (must be equal to the number of axes in the font).</p> -</td></tr> -<tr valign=top><td><b>coords</b></td><td> -<p>An array of design coordinates.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_Var_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>num_coords</b></td><td> -<p>The number of design coordinates (must be equal to the number of axes in the font).</p> -</td></tr> -<tr valign=top><td><b>coords</b></td><td> -<p>An array of design coordinates.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_MM_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend coordinates.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>num_coords</b></td><td> -<p>The number of design coordinates (must be equal to the number of axes in the font).</p> -</td></tr> -<tr valign=top><td><b>coords</b></td><td> -<p>The design coordinates array (each element must be between 0 and 1.0).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MULTIPLE_MASTERS_H (ftmm.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Set_Var_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This is another name of <a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-ot_validation.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-ot_validation.html deleted file mode 100644 index 1d9be98de27..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-ot_validation.html +++ /dev/null @@ -1,208 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -OpenType Validation -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td><td></td><td><a href="#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td></td><td><a href="#FT_OpenType_Free">FT_OpenType_Free</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a> 0x0100 -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a> 0x0200 -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a> 0x0400 -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a> 0x0800 -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a> 0x1000 -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a> 0x2000 - -#define <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a> <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a> | \ - <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a> | \ - <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a> | \ - <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a> | \ - <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a> | \ - <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-field constants used with <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a> to indicate which OpenType tables should be validated.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_VALIDATE_BASE</b></td><td> -<p>Validate BASE table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_GDEF</b></td><td> -<p>Validate GDEF table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_GPOS</b></td><td> -<p>Validate GPOS table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_GSUB</b></td><td> -<p>Validate GSUB table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_JSTF</b></td><td> -<p>Validate JSTF table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_MATH</b></td><td> -<p>Validate MATH table.</p> -</td></tr> -<tr valign=top><td><b>FT_VALIDATE_OT</b></td><td> -<p>Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OpenType_Validate">FT_OpenType_Validate</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_OpenType_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *BASE_table, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GDEF_table, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GPOS_table, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GSUB_table, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *JSTF_table ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>validation_flags</b></td><td> -<p>A bit field that specifies the tables to be validated. See <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a> for possible values.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>BASE_table</b></td><td> -<p>A pointer to the BASE table.</p> -</td></tr> -<tr valign=top><td><b>GDEF_table</b></td><td> -<p>A pointer to the GDEF table.</p> -</td></tr> -<tr valign=top><td><b>GPOS_table</b></td><td> -<p>A pointer to the GPOS table.</p> -</td></tr> -<tr valign=top><td><b>GSUB_table</b></td><td> -<p>A pointer to the GSUB table.</p> -</td></tr> -<tr valign=top><td><b>JSTF_table</b></td><td> -<p>A pointer to the JSTF table.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with OpenType fonts, returning an error otherwise.</p> -<p>After use, the application should deallocate the five tables with <a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a>. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OpenType_Free">FT_OpenType_Free</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_OpenType_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Free the buffer allocated by OpenType validator.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>table</b></td><td> -<p>The pointer to the buffer that is allocated by <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function must be used to free the buffer allocated by <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a> only.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-outline_processing.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-outline_processing.html deleted file mode 100644 index 0c5fc09a6fc..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-outline_processing.html +++ /dev/null @@ -1,1151 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Outline Processing -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Outline">FT_Outline</a></td><td></td><td><a href="#ft_outline_flags">ft_outline_flags</a></td></tr> -<tr><td></td><td><a href="#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></td><td></td><td><a href="#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_New">FT_Outline_New</a></td><td></td><td><a href="#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Done">FT_Outline_Done</a></td><td></td><td><a href="#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Copy">FT_Outline_Copy</a></td><td></td><td><a href="#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Translate">FT_Outline_Translate</a></td><td></td><td><a href="#FT_Outline_Funcs">FT_Outline_Funcs</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Transform">FT_Outline_Transform</a></td><td></td><td><a href="#FT_Outline_Decompose">FT_Outline_Decompose</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td></td><td><a href="#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td></td><td><a href="#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td></td><td><a href="#FT_Outline_Render">FT_Outline_Render</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Check">FT_Outline_Check</a></td><td></td><td><a href="#FT_Orientation">FT_Orientation</a></td></tr> -<tr><td></td><td><a href="#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td></td><td><a href="#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains routines used to create and destroy scalable glyph images known as ‘outlines’. These can also be measured, transformed, and converted into bitmaps and pixmaps.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline">FT_Outline</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_ - { - <span class="keyword">short</span> n_contours; /* number of contours in glyph */ - <span class="keyword">short</span> n_points; /* number of points in the glyph */ - - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* points; /* the outline's points */ - <span class="keyword">char</span>* tags; /* the points flags */ - <span class="keyword">short</span>* contours; /* the contour end points */ - - <span class="keyword">int</span> flags; /* outline masks */ - - } <b>FT_Outline</b>; - - /* Following limits must be consistent with */ - /* <b>FT_Outline</b>.{n_contours,n_points} */ -#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX -#define FT_OUTLINE_POINTS_MAX SHRT_MAX - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This structure is used to describe an outline to the scan-line converter.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>n_contours</b></td><td> -<p>The number of contours in the outline.</p> -</td></tr> -<tr valign=top><td><b>n_points</b></td><td> -<p>The number of points in the outline.</p> -</td></tr> -<tr valign=top><td><b>points</b></td><td> -<p>A pointer to an array of ‘n_points’ <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> elements, giving the outline's point coordinates.</p> -</td></tr> -<tr valign=top><td><b>tags</b></td><td> -<p>A pointer to an array of ‘n_points’ chars, giving each outline point's type.</p> -<p>If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.</p> -<p>Bit 1 is meaningful for ‘off’ points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.</p> -<p>If bit 2 is set, bits 5-7 contain the drop-out mode (as defined in the OpenType specification; the value is the same as the argument to the SCANMODE instruction).</p> -<p>Bits 3 and 4 are reserved for internal purposes.</p> -</td></tr> -<tr valign=top><td><b>contours</b></td><td> -<p>An array of ‘n_contours’ shorts, giving the end point of each contour within the outline. For example, the first contour is defined by the points ‘0’ to ‘contours[0]’, the second one is defined by the points ‘contours[0]+1’ to ‘contours[1]’, etc.</p> -</td></tr> -<tr valign=top><td><b>flags</b></td><td> -<p>A set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on how to convert/grid-fit it. See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode as given with <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a>, <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a>, and <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> in ‘flags’ is then overridden.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a> 0x0 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a> 0x1 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a> 0x2 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> 0x4 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> 0x8 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a> 0x10 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> 0x20 - -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a> 0x100 -#define <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a> 0x200 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit-field constants use for the flags in an outline's ‘flags’ field.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_OUTLINE_NONE</b></td><td> -<p>Value 0 is reserved.</p> -</td></tr> -<tr valign=top><td><b>FT_OUTLINE_OWNER</b></td><td> -<p>If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are ‘owned’ by the outline object, and should thus be freed when it is destroyed.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_OUTLINE_EVEN_ODD_FILL</b></td></tr> -<tr valign=top><td></td><td> -<p>By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled using the even-odd fill rule (only works with the smooth rasterizer).</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_OUTLINE_REVERSE_FILL</b></td></tr> -<tr valign=top><td></td><td> -<p>By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan converter.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_OUTLINE_IGNORE_DROPOUTS</b></td></tr> -<tr valign=top><td></td><td> -<p>By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases. See below for more information.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_OUTLINE_SMART_DROPOUTS</b></td></tr> -<tr valign=top><td></td><td> -<p>Select smart dropout control. If unset, use simple dropout control. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> is set. See below for more information.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_OUTLINE_INCLUDE_STUBS</b></td></tr> -<tr valign=top><td></td><td> -<p>If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> is set. See below for more information.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_OUTLINE_HIGH_PRECISION</b></td></tr> -<tr valign=top><td></td><td> -<p>This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.</p> -</td></tr> -<tr valign=top><td><b>FT_OUTLINE_SINGLE_PASS</b></td><td> -<p>This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The flags <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a>, <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SMART_DROPOUTS</a>, and <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_INCLUDE_STUBS</a> are ignored by the smooth rasterizer.</p> -<p>There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>.</p> -<p>Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_New">FT_Outline_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> numPoints, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> numContours, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *anoutline ); - - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - FT_Outline_New_Internal( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> numPoints, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> numContours, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *anoutline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new outline of a given size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to the library object from where the outline is allocated. Note however that the new outline will <b>not</b> necessarily be <b>freed</b>, when destroying the library, by <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</p> -</td></tr> -<tr valign=top><td><b>numPoints</b></td><td> -<p>The maximum number of points within the outline. Must be smaller than or equal to 0xFFFF (65535).</p> -</td></tr> -<tr valign=top><td><b>numContours</b></td><td> -<p>The maximum number of contours within the outline. This value must be in the range 0 to ‘numPoints’.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>anoutline</b></td><td> -<p>A handle to the new outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Done">FT_Outline_Done</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - FT_Outline_Done_Internal( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Destroy an outline created with <a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle of the library object used to allocate the outline.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the outline object to be discarded.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If the outline's ‘owner’ field is not set, only the outline descriptor will be released.</p> -<p>The reason why this function takes an ‘library’ parameter is simply to use ft_mem_free().</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Copy">FT_Outline_Copy</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Copy</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* source, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *target ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Copy an outline into another one. Both objects must have the same sizes (number of points & number of contours) when this function is called.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>source</b></td><td> -<p>A handle to the source outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>target</b></td><td> -<p>A handle to the target outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Translate">FT_Outline_Translate</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Outline_Translate</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xOffset, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> yOffset ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Apply a simple translation to the points of an outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the target outline descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>xOffset</b></td><td> -<p>The horizontal offset.</p> -</td></tr> -<tr valign=top><td><b>yOffset</b></td><td> -<p>The vertical offset.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Transform">FT_Outline_Transform</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Outline_Transform</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the target outline descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>matrix</b></td><td> -<p>A pointer to the transformation matrix.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You can use <a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a> if you need to translate the outline's points.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Embolden">FT_Outline_Embolden</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Embolden</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> strength ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Embolden an outline. The new outline will be at most 4 times ‘strength’ pixels wider and higher. You may think of the left and bottom borders as unchanged.</p> -<p>Negative ‘strength’ values to reduce the outline thickness are possible also.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A handle to the target outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>strength</b></td><td> -<p>How strong the glyph is emboldened. Expressed in 26.6 pixel format.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points; this means that certain situations like acute angles or intersections are sometimes handled incorrectly.</p> -<p>If you need ‘better’ metrics values you should call <a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a> or <a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a>.</p> -<p>Example call:</p> -<pre class="colored"> - FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); - if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) - FT_Outline_Embolden( &face->slot->outline, strength ); -</pre> -<p>To get meaningful results, font scaling values must be set with functions like <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> before calling FT_Render_Glyph.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_EmboldenXY</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xstrength, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> ystrength ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Embolden an outline. The new outline will be ‘xstrength’ pixels wider and ‘ystrength’ pixels higher. Otherwise, it is similar to <a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a>, which uses the same strength in both directions.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Reverse">FT_Outline_Reverse</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Outline_Reverse</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the target outline descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function toggles the bit flag <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> in the outline's ‘flags’ field.</p> -<p>It shouldn't be used by a normal client application, unless it knows what it is doing.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Check">FT_Outline_Check</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Check</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Check the contents of an outline descriptor.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A handle to a source outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_BBOX_H (ftbbox.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Get_BBox</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *abbox ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm that returns <i>very</i> quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the source outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>abbox</b></td><td> -<p>The outline's exact bounding box.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If the font is tricky and the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, the resulting BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the BBox, which can be eventually converted back to font units.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="ft_outline_flags">ft_outline_flags</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_none</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a> -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_owner</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a> -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_even_odd_fill</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a> -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_reverse_fill</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a> -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_ignore_dropouts</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a> -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_high_precision</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a> -#define <a href="ft2-outline_processing.html#ft_outline_flags">ft_outline_single_pass</a> <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These constants are deprecated. Please use the corresponding <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_FLAGS</a> values.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ft_outline_none</b></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_NONE</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_outline_owner</b></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_OWNER</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_outline_even_odd_fill</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_EVEN_ODD_FILL</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_outline_reverse_fill</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_REVERSE_FILL</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_outline_ignore_dropouts</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_IGNORE_DROPOUTS</a>.</p> -</td></tr> -<tr valign=top><td colspan=0><b>ft_outline_high_precision</b></td></tr> -<tr valign=top><td></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_HIGH_PRECISION</a>.</p> -</td></tr> -<tr valign=top><td><b>ft_outline_single_pass</b></td><td> -<p>See <a href="ft2-outline_processing.html#FT_OUTLINE_FLAGS">FT_OUTLINE_SINGLE_PASS</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Outline_MoveToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, - <span class="keyword">void</span>* user ); - -#define FT_Outline_MoveTo_Func <b>FT_Outline_MoveToFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.</p> -<p>A ‘move to’ is emitted to start a new contour in an outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the target point of the ‘move to’.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Outline_LineToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, - <span class="keyword">void</span>* user ); - -#define FT_Outline_LineTo_Func <b>FT_Outline_LineToFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.</p> -<p>A ‘line to’ is emitted to indicate a segment in the outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the target point of the ‘line to’.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Outline_ConicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, - <span class="keyword">void</span>* user ); - -#define FT_Outline_ConicTo_Func <b>FT_Outline_ConicToFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.</p> -<p>A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>control</b></td><td> -<p>An intermediate control point between the last position and the new target in ‘to’.</p> -</td></tr> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the target end point of the conic arc.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Outline_CubicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control2, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, - <span class="keyword">void</span>* user ); - -#define FT_Outline_CubicTo_Func <b>FT_Outline_CubicToFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.</p> -<p>A ‘cubic to’ is emitted to indicate a third-order Bézier arc.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>control1</b></td><td> -<p>A pointer to the first Bézier control point.</p> -</td></tr> -<tr valign=top><td><b>control2</b></td><td> -<p>A pointer to the second Bézier control point.</p> -</td></tr> -<tr valign=top><td><b>to</b></td><td> -<p>A pointer to the target end point.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Funcs">FT_Outline_Funcs</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_Funcs_ - { - <a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a> move_to; - <a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a> line_to; - <a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a> conic_to; - <a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a> cubic_to; - - <span class="keyword">int</span> shift; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> delta; - - } <b>FT_Outline_Funcs</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure to hold various function pointers used during outline decomposition in order to emit segments, conic, and cubic Béziers.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>move_to</b></td><td> -<p>The ‘move to’ emitter.</p> -</td></tr> -<tr valign=top><td><b>line_to</b></td><td> -<p>The segment emitter.</p> -</td></tr> -<tr valign=top><td><b>conic_to</b></td><td> -<p>The second-order Bézier arc emitter.</p> -</td></tr> -<tr valign=top><td><b>cubic_to</b></td><td> -<p>The third-order Bézier arc emitter.</p> -</td></tr> -<tr valign=top><td><b>shift</b></td><td> -<p>The shift that is applied to coordinates before they are sent to the emitter.</p> -</td></tr> -<tr valign=top><td><b>delta</b></td><td> -<p>The delta that is applied to coordinates before they are sent to the emitter, but after the shift.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The point coordinates sent to the emitters are the transformed version of the original coordinates (this is important for high accuracy during scan-conversion). The transformation is simple:</p> -<pre class="colored"> - x' = (x << shift) - delta - y' = (x << shift) - delta -</pre> -<p>Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Decompose">FT_Outline_Decompose</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Decompose</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a>* func_interface, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function also emits ‘move to’ operations to indicate the start of new contours in the outline.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the source target.</p> -</td></tr> -<tr valign=top><td><b>func_interface</b></td><td> -<p>A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>user</b></td><td> -<p>A typeless pointer that is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Outline_Get_CBox</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *acbox ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).</p> -<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the source outline descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>acbox</b></td><td> -<p>The outline's control box.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>See <a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a> for a discussion of tricky fonts.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Get_Bitmap</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a FreeType library object.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the source outline descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>abitmap</b></td><td> -<p>A pointer to the target bitmap descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in ‘abitmap’ should be set accordingly.</p> -<p>It will use the raster corresponding to the default glyph format.</p> -<p>The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> directly.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Render">FT_Outline_Render</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Outline_Render</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, - <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a>* params ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Render an outline within a bitmap using the current scan-convert. This function uses an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure as an argument, allowing advanced features like direct composition, translucency, etc.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A handle to a FreeType library object.</p> -</td></tr> -<tr valign=top><td><b>outline</b></td><td> -<p>A pointer to the source outline descriptor.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>params</b></td><td> -<p>A pointer to an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure used to describe the rendering operation.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You should know what you are doing and how <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> works to use this function.</p> -<p>The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that the value you give to it is actually ignored.</p> -<p>The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> value of the ‘flags’ field in the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure for more details.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Orientation">FT_Orientation</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Orientation_ - { - <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> = 0, - <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a> = 1, - <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a> = <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a>, - <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a> = <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, - <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a> - - } <b>FT_Orientation</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of values used to describe an outline's contour orientation.</p> -<p>The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_ORIENTATION_TRUETYPE</b></td></tr> -<tr valign=top><td></td><td> -<p>According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must be unfilled.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ORIENTATION_POSTSCRIPT</b></td></tr> -<tr valign=top><td></td><td> -<p>According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ORIENTATION_FILL_RIGHT</b></td></tr> -<tr valign=top><td></td><td> -<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a>, but is used to remember that in TrueType, everything that is to the right of the drawing direction of a contour must be filled.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_ORIENTATION_FILL_LEFT</b></td></tr> -<tr valign=top><td></td><td> -<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.</p> -</td></tr> -<tr valign=top><td><b>FT_ORIENTATION_NONE</b></td><td> -<p>The orientation cannot be determined. That is, different parts of the glyph have different orientation.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_OUTLINE_H (ftoutln.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a> ) - <b>FT_Outline_Get_Orientation</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function analyzes a glyph outline and tries to compute its fill orientation (see <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a>). This is done by integrating the total area covered by the outline. The positive integral corresponds to the clockwise orientation and <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a> is returned. The negative integral corresponds to the counter-clockwise orientation and <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> is returned.</p> -<p>Note that this will return <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> for empty outlines.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>outline</b></td><td> -<p>A handle to the source outline.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The orientation.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-pfr_fonts.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-pfr_fonts.html deleted file mode 100644 index c29bdd6b9c8..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-pfr_fonts.html +++ /dev/null @@ -1,206 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -PFR Fonts -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td></td><td><a href="#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td></td><td><a href="#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of PFR-specific functions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_PFR_H (ftpfr.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_PFR_Metrics</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *aoutline_resolution, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *ametrics_resolution, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *ametrics_x_scale, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *ametrics_y_scale ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the outline and metrics resolutions of a given PFR face.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>Handle to the input face. It can be a non-PFR face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aoutline_resolution</b></td><td> -<p>Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).</p> -</td></tr> -<tr valign=top><td><b>ametrics_resolution</b></td><td> -<p>Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).</p> -</td></tr> -<tr valign=top><td><b>ametrics_x_scale</b></td><td> -<p>A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).</p> -</td></tr> -<tr valign=top><td><b>ametrics_y_scale</b></td><td> -<p>Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_PFR_H (ftpfr.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_PFR_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> left, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> right, - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> *avector ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>left</b></td><td> -<p>Index of the left glyph.</p> -</td></tr> -<tr valign=top><td><b>right</b></td><td> -<p>Index of the right glyph.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>avector</b></td><td> -<p>A kerning vector.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function always return distances in original PFR metrics units. This is unlike <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a> with the <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> mode, which always returns distances converted to outline units.</p> -<p>You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to scale these to device sub-pixels.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_PFR_H (ftpfr.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_PFR_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> *aadvance ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return a given glyph advance, expressed in original metrics units, from a PFR font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -<tr valign=top><td><b>gindex</b></td><td> -<p>The glyph index.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aadvance</b></td><td> -<p>The glyph advance in metrics units.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You can use the ‘x_scale’ or ‘y_scale’ results of <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to convert the advance to device sub-pixels (i.e., 1/64th of pixels).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-quick_advance.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-quick_advance.html deleted file mode 100644 index 4ae19fd0906..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-quick_advance.html +++ /dev/null @@ -1,186 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Quick retrieval of advance values -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td></td><td><a href="#FT_Get_Advances">FT_Get_Advances</a></td></tr> -<tr><td></td><td><a href="#FT_Get_Advance">FT_Get_Advance</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains functions to quickly extract advance values without handling glyph outlines, if possible.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_ADVANCES_H (ftadvanc.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_ADVANCE_FLAG_FAST_ONLY</b> 0x20000000UL - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A bit-flag to be OR-ed with the ‘flags’ parameter of the <a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a> and <a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a> functions.</p> -<p>If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.</p> -<p>Typically, glyphs that are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.</p> -<p>Normal and bytecode hinted modes that require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Advance">FT_Get_Advance</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_ADVANCES_H (ftadvanc.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, - <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvance ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the advance value of a given glyph outline in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> -</td></tr> -<tr valign=top><td><b>gindex</b></td><td> -<p>The glyph index.</p> -</td></tr> -<tr valign=top><td><b>load_flags</b></td><td> -<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, used to determine what kind of advances you need.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>padvance</b></td><td> -<p>The advance value. If scaling is performed (based on the value of ‘load_flags’), the advance value is in 16.16 format. Otherwise, it is in font units.</p> -<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p> -<p>A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Advances">FT_Get_Advances</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_ADVANCES_H (ftadvanc.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Advances</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> start, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> count, - <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags, - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvances ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the advance values of several glyph outlines in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> -</td></tr> -<tr valign=top><td><b>start</b></td><td> -<p>The first glyph index.</p> -</td></tr> -<tr valign=top><td><b>count</b></td><td> -<p>The number of advance values you want to retrieve.</p> -</td></tr> -<tr valign=top><td><b>load_flags</b></td><td> -<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>padvance</b></td><td> -<p>The advance values. This array, to be provided by the caller, must contain at least ‘count’ elements.</p> -<p>If scaling is performed (based on the value of ‘load_flags’), the advance values are in 16.16 format. Otherwise, they are in font units.</p> -<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p> -<p>Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-raster.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-raster.html deleted file mode 100644 index b94ef654101..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-raster.html +++ /dev/null @@ -1,606 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Scanline Converter -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Raster">FT_Raster</a></td><td></td><td><a href="#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td></td><td><a href="#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Span">FT_Span</a></td><td></td><td><a href="#FT_Raster_Params">FT_Raster_Params</a></td><td></td><td><a href="#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td></tr> -<tr><td></td><td><a href="#FT_SpanFunc">FT_SpanFunc</a></td><td></td><td><a href="#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td></td><td><a href="#FT_Raster_Funcs">FT_Raster_Funcs</a></td></tr> -<tr><td></td><td><a href="#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td></td><td><a href="#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td></td><td><a href="#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains technical definitions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster">FT_Raster</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RasterRec_* <b>FT_Raster</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Span">FT_Span</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Span_ - { - <span class="keyword">short</span> x; - <span class="keyword">unsigned</span> <span class="keyword">short</span> len; - <span class="keyword">unsigned</span> <span class="keyword">char</span> coverage; - - } <b>FT_Span</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model a single span of gray (or black) pixels when rendering a monochrome or anti-aliased bitmap.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>x</b></td><td> -<p>The span's horizontal start position.</p> -</td></tr> -<tr valign=top><td><b>len</b></td><td> -<p>The span's length in pixels.</p> -</td></tr> -<tr valign=top><td><b>coverage</b></td><td> -<p>The span color/coverage, ranging from 0 (background) to 255 (foreground). Only used for anti-aliased rendering.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This structure is used by the span drawing callback type named <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> that takes the y coordinate of the span as a parameter.</p> -<p>The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_SpanFunc">FT_SpanFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_SpanFunc</b>)( <span class="keyword">int</span> y, - <span class="keyword">int</span> count, - <span class="keyword">const</span> <a href="ft2-raster.html#FT_Span">FT_Span</a>* spans, - <span class="keyword">void</span>* user ); - -#define FT_Raster_Span_Func <b>FT_SpanFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used as a call-back by the anti-aliased renderer in order to let client applications draw themselves the gray pixel spans on each scan line.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>y</b></td><td> -<p>The scanline's y coordinate.</p> -</td></tr> -<tr valign=top><td><b>count</b></td><td> -<p>The number of spans to draw on this scanline.</p> -</td></tr> -<tr valign=top><td><b>spans</b></td><td> -<p>A table of ‘count’ spans to draw on the scanline.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>User-supplied data that is passed to the callback.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p> -<p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p> -<p>Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’ configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to draw all callbacks.</p> -<p>Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Raster_BitTest_Func</b>)( <span class="keyword">int</span> y, - <span class="keyword">int</span> x, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>THIS TYPE IS DEPRECATED. DO NOT USE IT.</p> -<p>A function used as a call-back by the monochrome scan-converter to test whether a given target pixel is already set to the drawing ‘color’. These tests are crucial to implement drop-out control per-se the TrueType spec.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>y</b></td><td> -<p>The pixel's y coordinate.</p> -</td></tr> -<tr valign=top><td><b>x</b></td><td> -<p>The pixel's x coordinate.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>User-supplied data that is passed to the callback.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>1 if the pixel is ‘set’, 0 otherwise.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_Raster_BitSet_Func</b>)( <span class="keyword">int</span> y, - <span class="keyword">int</span> x, - <span class="keyword">void</span>* user ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>THIS TYPE IS DEPRECATED. DO NOT USE IT.</p> -<p>A function used as a call-back by the monochrome scan-converter to set an individual target pixel. This is crucial to implement drop-out control according to the TrueType specification.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>y</b></td><td> -<p>The pixel's y coordinate.</p> -</td></tr> -<tr valign=top><td><b>x</b></td><td> -<p>The pixel's x coordinate.</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>User-supplied data that is passed to the callback.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>1 if the pixel is ‘set’, 0 otherwise.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a> 0x0 -#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> 0x1 -#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> 0x2 -#define <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a> 0x4 - - /* deprecated */ -#define ft_raster_flag_default <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a> -#define ft_raster_flag_aa <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> -#define ft_raster_flag_direct <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> -#define ft_raster_flag_clip <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of bit flag constants as used in the ‘flags’ field of a <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_RASTER_FLAG_DEFAULT</b></td><td> -<p>This value is 0.</p> -</td></tr> -<tr valign=top><td><b>FT_RASTER_FLAG_AA</b></td><td> -<p>This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).</p> -</td></tr> -<tr valign=top><td><b>FT_RASTER_FLAG_DIRECT</b></td><td> -<p>This flag is set to indicate direct rendering. In this mode, client applications must provide their own span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the target pixmap's buffer <i>must</i> be zeroed before rendering.</p> -<p>Note that for now, direct rendering is only possible with anti-aliased glyphs.</p> -</td></tr> -<tr valign=top><td><b>FT_RASTER_FLAG_CLIP</b></td><td> -<p>This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in the ‘clip_box’ field of the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure.</p> -<p>Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode where all spans are generated if no clipping box is set.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_Params">FT_Raster_Params</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Params_ - { - <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>* target; - <span class="keyword">const</span> <span class="keyword">void</span>* source; - <span class="keyword">int</span> flags; - <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> gray_spans; - <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> black_spans; /* doesn't work! */ - <a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a> bit_test; /* doesn't work! */ - <a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a> bit_set; /* doesn't work! */ - <span class="keyword">void</span>* user; - <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> clip_box; - - } <b>FT_Raster_Params</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure to hold the arguments used by a raster's render function.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>target</b></td><td> -<p>The target bitmap.</p> -</td></tr> -<tr valign=top><td><b>source</b></td><td> -<p>A pointer to the source glyph image (e.g., an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>).</p> -</td></tr> -<tr valign=top><td><b>flags</b></td><td> -<p>The rendering flags.</p> -</td></tr> -<tr valign=top><td><b>gray_spans</b></td><td> -<p>The gray span drawing callback.</p> -</td></tr> -<tr valign=top><td><b>black_spans</b></td><td> -<p>The black span drawing callback. UNIMPLEMENTED!</p> -</td></tr> -<tr valign=top><td><b>bit_test</b></td><td> -<p>The bit test callback. UNIMPLEMENTED!</p> -</td></tr> -<tr valign=top><td><b>bit_set</b></td><td> -<p>The bit set callback. UNIMPLEMENTED!</p> -</td></tr> -<tr valign=top><td><b>user</b></td><td> -<p>User-supplied data that is passed to each drawing callback.</p> -</td></tr> -<tr valign=top><td><b>clip_box</b></td><td> -<p>An optional clipping box. It is only used in direct rendering mode. Note that coordinates here should be expressed in <i>integer</i> pixels (and not in 26.6 fixed-point units).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>An anti-aliased glyph bitmap is drawn if the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> bit flag is set in the ‘flags’ field, otherwise a monochrome bitmap is generated.</p> -<p>If the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> bit flag is set in ‘flags’, the raster will call the ‘gray_spans’ callback to draw gray pixel spans, in the case of an aa glyph bitmap, it will call ‘black_spans’, and ‘bit_test’ and ‘bit_set’ in the case of a monochrome bitmap. This allows direct composition over a pre-existing bitmap through user-provided callbacks to perform the span drawing/composition.</p> -<p>Note that the ‘bit_test’ and ‘bit_set’ callbacks are required when rendering a monochrome bitmap, as they are crucial to implement correct drop-out control as defined in the TrueType specification.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_NewFunc">FT_Raster_NewFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Raster_NewFunc</b>)( <span class="keyword">void</span>* memory, - <a href="ft2-raster.html#FT_Raster">FT_Raster</a>* raster ); - -#define FT_Raster_New_Func <b>FT_Raster_NewFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to create a new raster object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>memory</b></td><td> -<p>A handle to the memory allocator.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>raster</b></td><td> -<p>A handle to the new raster object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The ‘memory’ parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the FreeType code. In practice, it is an <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_Raster_DoneFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster ); - -#define FT_Raster_Done_Func <b>FT_Raster_DoneFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to destroy a given raster object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>raster</b></td><td> -<p>A handle to the raster object.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_Raster_ResetFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, - <span class="keyword">unsigned</span> <span class="keyword">char</span>* pool_base, - <span class="keyword">unsigned</span> <span class="keyword">long</span> pool_size ); - -#define FT_Raster_Reset_Func <b>FT_Raster_ResetFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>FreeType provides an area of memory called the ‘render pool’, available to all registered rasters. This pool can be freely used during a given scan-conversion but is shared by all rasters. Its content is thus transient.</p> -<p>This function is called each time the render pool changes, or just after a new raster object is created.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>raster</b></td><td> -<p>A handle to the new raster object.</p> -</td></tr> -<tr valign=top><td><b>pool_base</b></td><td> -<p>The address in memory of the render pool.</p> -</td></tr> -<tr valign=top><td><b>pool_size</b></td><td> -<p>The size in bytes of the render pool.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Rasters can ignore the render pool and rely on dynamic memory allocation if they want to (a handle to the memory allocator is passed to the raster constructor). However, this is not recommended for efficiency purposes.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Raster_SetModeFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, - <span class="keyword">unsigned</span> <span class="keyword">long</span> mode, - <span class="keyword">void</span>* args ); - -#define FT_Raster_Set_Mode_Func <b>FT_Raster_SetModeFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This function is a generic facility to change modes or attributes in a given raster. This can be used for debugging purposes, or simply to allow implementation-specific ‘features’ in a given raster module.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>raster</b></td><td> -<p>A handle to the new raster object.</p> -</td></tr> -<tr valign=top><td><b>mode</b></td><td> -<p>A 4-byte tag used to name the mode or property.</p> -</td></tr> -<tr valign=top><td><b>args</b></td><td> -<p>A pointer to the new mode/property to use.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">int</span> - (*<b>FT_Raster_RenderFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, - <span class="keyword">const</span> <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a>* params ); - -#define FT_Raster_Render_Func <b>FT_Raster_RenderFunc</b> - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Invoke a given raster to scan-convert a given glyph image into a target bitmap.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>raster</b></td><td> -<p>A handle to the raster object.</p> -</td></tr> -<tr valign=top><td><b>params</b></td><td> -<p>A pointer to an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure used to store the rendering parameters.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The exact format of the source image depends on the raster's glyph format defined in its <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a> structure. It can be an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> or anything else in order to support a large array of glyph formats.</p> -<p>Note also that the render function can fail and return a ‘FT_Err_Unimplemented_Feature’ error code if the raster used does not support direct composition.</p> -<p>XXX: For now, the standard raster doesn't support direct composition but this should change for the final release (see the files ‘demos/src/ftgrays.c’ and ‘demos/src/ftgrays2.c’ for examples of distinct implementations that support direct composition).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Raster_Funcs">FT_Raster_Funcs</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_IMAGE_H (ftimage.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Funcs_ - { - <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> glyph_format; - <a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a> raster_new; - <a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a> raster_reset; - <a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a> raster_set_mode; - <a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a> raster_render; - <a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a> raster_done; - - } <b>FT_Raster_Funcs</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to describe a given raster class to the library.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>glyph_format</b></td><td> -<p>The supported glyph format for this raster.</p> -</td></tr> -<tr valign=top><td><b>raster_new</b></td><td> -<p>The raster constructor.</p> -</td></tr> -<tr valign=top><td><b>raster_reset</b></td><td> -<p>Used to reset the render pool within the raster.</p> -</td></tr> -<tr valign=top><td><b>raster_render</b></td><td> -<p>A function to render a glyph into a given bitmap.</p> -</td></tr> -<tr valign=top><td><b>raster_done</b></td><td> -<p>The raster destructor.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sfnt_names.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sfnt_names.html deleted file mode 100644 index a1720b13759..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sfnt_names.html +++ /dev/null @@ -1,232 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -SFNT Names -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_SfntName">FT_SfntName</a></td></tr> -<tr><td></td><td><a href="#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td></tr> -<tr><td></td><td><a href="#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td></tr> -<tr><td></td><td><a href="#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td></tr> -<tr><td></td><td><a href="#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>The TrueType and OpenType specifications allow the inclusion of a special ‘names table’ in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.</p> -<p>The definitions below are used to access them if available.</p> -<p>Note that this has nothing to do with glyph names!</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_SfntName">FT_SfntName</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SFNT_NAMES_H (ftsnames.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SfntName_ - { - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> platform_id; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> encoding_id; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> language_id; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> name_id; - - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* string; /* this string is *not* null-terminated! */ - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> string_len; /* in bytes */ - - } <b>FT_SfntName</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model an SFNT ‘name’ table entry.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>platform_id</b></td><td> -<p>The platform ID for ‘string’.</p> -</td></tr> -<tr valign=top><td><b>encoding_id</b></td><td> -<p>The encoding ID for ‘string’.</p> -</td></tr> -<tr valign=top><td><b>language_id</b></td><td> -<p>The language ID for ‘string’.</p> -</td></tr> -<tr valign=top><td><b>name_id</b></td><td> -<p>An identifier for ‘string’.</p> -</td></tr> -<tr valign=top><td><b>string</b></td><td> -<p>The ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a Pascal String, a UTF-16 one, etc.</p> -<p>Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details.</p> -</td></tr> -<tr valign=top><td><b>string_len</b></td><td> -<p>The length of ‘string’ in bytes.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.</p> -<p>See also <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a>, <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a>, <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a>, <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a>, and <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SFNT_NAMES_H (ftsnames.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) - <b>FT_Get_Sfnt_Name_Count</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the number of name strings in the SFNT ‘name’ table.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The number of strings in the ‘name’ table.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SFNT_NAMES_H (ftsnames.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_Sfnt_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> idx, - <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> *aname ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve a string of the SFNT ‘name’ table for a given index.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the source face.</p> -</td></tr> -<tr valign=top><td><b>idx</b></td><td> -<p>The index of the ‘name’ string.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aname</b></td><td> -<p>The indexed <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structure.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.</p> -<p>Use <a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a> to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SFNT_NAMES_H (ftsnames.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 'f' ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to make FT_Open_Face() ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SFNT_NAMES_H (ftsnames.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 's' ) - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sizes_management.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sizes_management.html deleted file mode 100644 index 698ef1c7b7f..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-sizes_management.html +++ /dev/null @@ -1,164 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Size Management -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_New_Size">FT_New_Size</a></td><td></td><td><a href="#FT_Done_Size">FT_Done_Size</a></td><td></td><td><a href="#FT_Activate_Size">FT_Activate_Size</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>When creating a new face object (e.g., with <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>), an <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.</p> -<p>It is however possible to create more sizes for a given face, mostly in order to manage several character pixel sizes of the same font family and style. See <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> and <a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a>.</p> -<p>Note that <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a> and <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> only modify the contents of the current ‘active’ size; you thus need to use <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> to change it.</p> -<p>99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_New_Size">FT_New_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SIZES_H (ftsizes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_New_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-base_interface.html#FT_Size">FT_Size</a>* size ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new size object from a given face object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to a parent face object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>asize</b></td><td> -<p>A handle to a new size object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>You need to call <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> in order to select the new size for upcoming calls to <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, etc.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Done_Size">FT_Done_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SIZES_H (ftsizes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Done_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Discard a given size object. Note that <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> automatically discards all size objects allocated with <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>size</b></td><td> -<p>A handle to a target size object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Activate_Size">FT_Activate_Size</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SIZES_H (ftsizes.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Activate_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Even though it is possible to create several size objects for a given face (see <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> for details), functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> only use the one that has been activated last to determine the ‘current character pixel size’.</p> -<p>This function can be used to ‘activate’ a previously created size object.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>size</b></td><td> -<p>A handle to a target size object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-system_interface.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-system_interface.html deleted file mode 100644 index 05ce8320cf6..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-system_interface.html +++ /dev/null @@ -1,415 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -System Interface -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Memory">FT_Memory</a></td><td></td><td><a href="#FT_MemoryRec">FT_MemoryRec</a></td><td></td><td><a href="#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Alloc_Func">FT_Alloc_Func</a></td><td></td><td><a href="#FT_Stream">FT_Stream</a></td><td></td><td><a href="#FT_StreamRec">FT_StreamRec</a></td></tr> -<tr><td></td><td><a href="#FT_Free_Func">FT_Free_Func</a></td><td></td><td><a href="#FT_StreamDesc">FT_StreamDesc</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_Realloc_Func">FT_Realloc_Func</a></td><td></td><td><a href="#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains various definitions related to memory management and i/o access. You need to understand this information if you want to use a custom memory manager or you own i/o streams.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Memory">FT_Memory</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MemoryRec_* <b>FT_Memory</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a given memory manager object, defined with an <a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Alloc_Func">FT_Alloc_Func</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span>* - (*<b>FT_Alloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <span class="keyword">long</span> size ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to allocate ‘size’ bytes from ‘memory’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>memory</b></td><td> -<p>A handle to the source memory manager.</p> -</td></tr> -<tr valign=top><td><b>size</b></td><td> -<p>The size in bytes to allocate.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Address of new memory block. 0 in case of failure.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Free_Func">FT_Free_Func</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_Free_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <span class="keyword">void</span>* block ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to release a given block of memory.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>memory</b></td><td> -<p>A handle to the source memory manager.</p> -</td></tr> -<tr valign=top><td><b>block</b></td><td> -<p>The address of the target memory block.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Realloc_Func">FT_Realloc_Func</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span>* - (*<b>FT_Realloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, - <span class="keyword">long</span> cur_size, - <span class="keyword">long</span> new_size, - <span class="keyword">void</span>* block ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to re-allocate a given block of memory.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>memory</b></td><td> -<p>A handle to the source memory manager.</p> -</td></tr> -<tr valign=top><td><b>cur_size</b></td><td> -<p>The block's current size in bytes.</p> -</td></tr> -<tr valign=top><td><b>new_size</b></td><td> -<p>The block's requested new size.</p> -</td></tr> -<tr valign=top><td><b>block</b></td><td> -<p>The block's current address.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>New block address. 0 in case of memory shortage.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>In case of error, the old block must still be available.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_MemoryRec">FT_MemoryRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">struct</span> FT_MemoryRec_ - { - <span class="keyword">void</span>* user; - <a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a> alloc; - <a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a> free; - <a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a> realloc; - }; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to describe a given memory manager to FreeType 2.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>user</b></td><td> -<p>A generic typeless pointer for user data.</p> -</td></tr> -<tr valign=top><td><b>alloc</b></td><td> -<p>A pointer type to an allocation function.</p> -</td></tr> -<tr valign=top><td><b>free</b></td><td> -<p>A pointer type to an memory freeing function.</p> -</td></tr> -<tr valign=top><td><b>realloc</b></td><td> -<p>A pointer type to a reallocation function.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stream">FT_Stream</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_* <b>FT_Stream</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to an input stream.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_StreamDesc">FT_StreamDesc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">union</span> FT_StreamDesc_ - { - <span class="keyword">long</span> value; - <span class="keyword">void</span>* pointer; - - } <b>FT_StreamDesc</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A union type used to store either a long or a pointer. This is used to store a file descriptor or a ‘FILE*’ in an input stream.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stream_IoFunc">FT_Stream_IoFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> - (*<b>FT_Stream_IoFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, - <span class="keyword">unsigned</span> <span class="keyword">long</span> offset, - <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer, - <span class="keyword">unsigned</span> <span class="keyword">long</span> count ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to seek and read data from a given input stream.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stream</b></td><td> -<p>A handle to the source stream.</p> -</td></tr> -<tr valign=top><td><b>offset</b></td><td> -<p>The offset of read in stream (always from start).</p> -</td></tr> -<tr valign=top><td><b>buffer</b></td><td> -<p>The address of the read buffer.</p> -</td></tr> -<tr valign=top><td><b>count</b></td><td> -<p>The number of bytes to read from the stream.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The number of bytes effectively read by the stream.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function might be called to perform a seek or skip operation with a ‘count’ of 0. A non-zero return value then indicates an error.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">void</span> - (*<b>FT_Stream_CloseFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A function used to close a given input stream.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>stream</b></td><td> -<p>A handle to the target stream.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_StreamRec">FT_StreamRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_SYSTEM_H (ftsystem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_ - { - <span class="keyword">unsigned</span> <span class="keyword">char</span>* base; - <span class="keyword">unsigned</span> <span class="keyword">long</span> size; - <span class="keyword">unsigned</span> <span class="keyword">long</span> pos; - - <a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a> descriptor; - <a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a> pathname; - <a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a> read; - <a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a> close; - - <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory; - <span class="keyword">unsigned</span> <span class="keyword">char</span>* cursor; - <span class="keyword">unsigned</span> <span class="keyword">char</span>* limit; - - } <b>FT_StreamRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to describe an input stream.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>base</b></td><td> -<p>For memory-based streams, this is the address of the first stream byte in memory. This field should always be set to NULL for disk-based streams.</p> -</td></tr> -<tr valign=top><td><b>size</b></td><td> -<p>The stream size in bytes.</p> -</td></tr> -<tr valign=top><td><b>pos</b></td><td> -<p>The current position within the stream.</p> -</td></tr> -<tr valign=top><td><b>descriptor</b></td><td> -<p>This field is a union that can hold an integer or a pointer. It is used by stream implementations to store file descriptors or ‘FILE*’ pointers.</p> -</td></tr> -<tr valign=top><td><b>pathname</b></td><td> -<p>This field is completely ignored by FreeType. However, it is often useful during debugging to use it to store the stream's filename (where available).</p> -</td></tr> -<tr valign=top><td><b>read</b></td><td> -<p>The stream's input function.</p> -</td></tr> -<tr valign=top><td><b>close</b></td><td> -<p>The stream's close function.</p> -</td></tr> -<tr valign=top><td><b>memory</b></td><td> -<p>The memory manager to use to preload frames. This is set internally by FreeType and shouldn't be touched by stream implementations.</p> -</td></tr> -<tr valign=top><td><b>cursor</b></td><td> -<p>This field is set and used internally by FreeType when parsing frames.</p> -</td></tr> -<tr valign=top><td><b>limit</b></td><td> -<p>This field is set and used internally by FreeType when parsing frames.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-toc.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-toc.html deleted file mode 100644 index 560212a9978..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-toc.html +++ /dev/null @@ -1,239 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1>Table of Contents</h1></center> -<br><table align=center width="75%"><tr><td><h2>General Remarks</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-header_inclusion.html">FreeType's header inclusion scheme</a></td><td> -<p>How client applications should include FreeType header files.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-user_allocation.html">User allocation</a></td><td> -<p>How client applications should allocate FreeType data structures.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2>Core API</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-version.html">FreeType Version</a></td><td> -<p>Functions and macros related to FreeType versions.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-basic_types.html">Basic Data Types</a></td><td> -<p>The basic data types defined by the library.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-base_interface.html">Base Interface</a></td><td> -<p>The FreeType 2 base font interface.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-glyph_variants.html">Glyph Variants</a></td><td> -<p>The FreeType 2 interface to Unicode Ideographic Variation Sequences (IVS), using the SFNT cmap format 14.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-glyph_management.html">Glyph Management</a></td><td> -<p>Generic interface to manage individual glyph data.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-mac_specific.html">Mac Specific Interface</a></td><td> -<p>Only available on the Macintosh.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-sizes_management.html">Size Management</a></td><td> -<p>Managing multiple sizes per face.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-header_file_macros.html">Header File Macros</a></td><td> -<p>Macro definitions used to #include specific header files.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2>Format-Specific API</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-multiple_masters.html">Multiple Masters</a></td><td> -<p>How to manage Multiple Masters fonts.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-truetype_tables.html">TrueType Tables</a></td><td> -<p>TrueType specific table types and functions.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-type1_tables.html">Type 1 Tables</a></td><td> -<p>Type 1 (PostScript) specific font tables.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-sfnt_names.html">SFNT Names</a></td><td> -<p>Access the names embedded in TrueType and OpenType files.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-bdf_fonts.html">BDF and PCF Files</a></td><td> -<p>BDF and PCF specific API.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-cid_fonts.html">CID Fonts</a></td><td> -<p>CID-keyed font specific API.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-pfr_fonts.html">PFR Fonts</a></td><td> -<p>PFR/TrueDoc specific API.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-winfnt_fonts.html">Window FNT Files</a></td><td> -<p>Windows FNT specific API.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-font_formats.html">Font Formats</a></td><td> -<p>Getting the font format.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-gasp_table.html">Gasp Table</a></td><td> -<p>Retrieving TrueType ‘gasp’ table entries.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2>Controlling FreeType Modules</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-auto_hinter.html">The auto-hinter</a></td><td> -<p>Controlling the auto-hinting module.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-cff_driver.html">The CFF driver</a></td><td> -<p>Controlling the CFF driver module.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-tt_driver.html">The TrueType driver</a></td><td> -<p>Controlling the TrueType driver module.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2>Cache Sub-System</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-cache_subsystem.html">Cache Sub-System</a></td><td> -<p>How to cache face, size, and glyph data with FreeType 2.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2>Support API</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-computations.html">Computations</a></td><td> -<p>Crunching fixed numbers and vectors.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-list_processing.html">List Processing</a></td><td> -<p>Simple management of lists.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-outline_processing.html">Outline Processing</a></td><td> -<p>Functions to create, transform, and render vectorial glyph images.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-quick_advance.html">Quick retrieval of advance values</a></td><td> -<p>Retrieve horizontal and vertical advance values without processing glyph outlines, if possible.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-bitmap_handling.html">Bitmap Handling</a></td><td> -<p>Handling FT_Bitmap objects.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-raster.html">Scanline Converter</a></td><td> -<p>How vectorial outlines are converted into bitmaps and pixmaps.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-glyph_stroker.html">Glyph Stroker</a></td><td> -<p>Generating bordered and stroked glyphs.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-system_interface.html">System Interface</a></td><td> -<p>How FreeType manages memory and i/o.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-module_management.html">Module Management</a></td><td> -<p>How to add, upgrade, remove, and control modules from FreeType.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-gzip.html">GZIP Streams</a></td><td> -<p>Using gzip-compressed font files.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-lzw.html">LZW Streams</a></td><td> -<p>Using LZW-compressed font files.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-bzip2.html">BZIP2 Streams</a></td><td> -<p>Using bzip2-compressed font files.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-lcd_filtering.html">LCD Filtering</a></td><td> -<p>Reduce color fringes of LCD-optimized bitmaps.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2>Miscellaneous</h2><ul class="empty"><li> -<table cellpadding=5> -<tr valign=top><td class="left"> -<a href="ft2-ot_validation.html">OpenType Validation</a></td><td> -<p>An API to validate OpenType tables.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-incremental.html">Incremental Loading</a></td><td> -<p>Custom Glyph Loading.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-truetype_engine.html">The TrueType Engine</a></td><td> -<p>TrueType bytecode support.</p> -</td></tr> -<tr valign=top><td class="left"> -<a href="ft2-gx_validation.html">TrueTypeGX/AAT Validation</a></td><td> -<p>An API to validate TrueTypeGX/AAT tables.</p> -</td></tr> -</table> -</li></ul></td></tr></table> -<br><table align=center width="75%"><tr><td><h2><a href="ft2-index.html">Global Index</a></h2><ul class="empty"><li></li></ul></td></tr></table> -<hr> -<table><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -</tr></table> - -<center><font size=-2>generated on Thu Mar 6 23:13:44 2014</font></center></body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_engine.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_engine.html deleted file mode 100644 index bc4d4e3c36e..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_engine.html +++ /dev/null @@ -1,132 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -The TrueType Engine -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td><td></td><td><a href="#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains a function used to query the level of TrueType bytecode support compiled in this version of the library.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_TrueTypeEngineType_ - { - <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a> = 0, - <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a>, - <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a> - - } <b>FT_TrueTypeEngineType</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of values describing which kind of TrueType bytecode engine is implemented in a given FT_Library instance. It is used by the <a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a> function.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_TRUETYPE_ENGINE_TYPE_NONE</b></td></tr> -<tr valign=top><td></td><td> -<p>The library doesn't implement any kind of bytecode interpreter.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</b></td></tr> -<tr valign=top><td></td><td> -<p>The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType virtual machine.</p> -<p>Its main use is to load certain Asian fonts that position and scale glyph components with bytecode instructions. It produces bad output for most other fonts.</p> -</td></tr> -<tr valign=top><td colspan=0><b>FT_TRUETYPE_ENGINE_TYPE_PATENTED</b></td></tr> -<tr valign=top><td></td><td> -<p>The library implements a bytecode interpreter that covers the full instruction set of the TrueType virtual machine (this was governed by patents until May 2010, hence the name).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.2</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_MODULE_H (ftmodapi.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> ) - <b>FT_Get_TrueType_Engine_Type</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return an <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> value to indicate which level of the TrueType virtual machine a given library instance supports.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A library instance.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>A value indicating which level is supported.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.2</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-tt_driver.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-tt_driver.html deleted file mode 100644 index 101828dfb45..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-tt_driver.html +++ /dev/null @@ -1,133 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -The TrueType driver -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#interpreter-version">interpreter-version</a></td><td></td><td><a href="#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>While FreeType's TrueType driver doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>. The following lists the available properties together with the necessary macros and structures.</p> -<p>The TrueType driver's module name is ‘truetype’.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="interpreter-version">interpreter-version</a></h4> -<table align=center width="87%"><tr><td> -<p>Currently, two versions are available, representing 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).</p> -<p>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.</p> -<p>Details on subpixel hinting and some of the necessary tweaks can be found in Greg Hitchcock's whitepaper at ‘<a href="http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx">http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx</a>’.</p> -<p>The following example code demonstrates how to activate subpixel hinting (omitting the error handling).</p> -<pre class="colored"> - 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 ); -</pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_DRIVER_H (ftttdrv.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a> 35 -#define <a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a> 38 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of constants used for the <a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a> property to select the hinting engine for Truetype fonts.</p> -<p>The numeric value in the constant names represents the version number as returned by the ‘GETINFO’ bytecode instruction.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>TT_INTERPRETER_VERSION_35</b></td></tr> -<tr valign=top><td></td><td> -<p>Version 35 corresponds to MS rasterizer v.1.7 as used e.g. in Windows 98; only grayscale and B/W rasterizing is supported.</p> -</td></tr> -<tr valign=top><td colspan=0><b>TT_INTERPRETER_VERSION_38</b></td></tr> -<tr valign=top><td></td><td> -<p>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).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This property controls the behaviour of the bytecode interpreter and thus how outlines get hinted. It does <b>not</b> control how glyph get rasterized! In particular, it does not control subpixel color filtering.</p> -<p>If FreeType has not been compiled with configuration option FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version 38 causes an ‘FT_Err_Unimplemented_Feature’ error.</p> -<p>Depending on the graphics framework, Microsoft uses different bytecode engines. As a consequence, the version numbers returned by a call to the ‘GETINFO[1]’ bytecode instruction are more convoluted than desired.</p> -<pre class="colored"> - framework Windows version result of GETINFO[1] - ---------------------------------------------------- - GDI before XP 35 - GDI XP and later 37 - GDI+ old before Vista 37 - GDI+ old Vista, 7 38 - GDI+ after 7 40 - DWrite before 8 39 - DWrite 8 and later 40 -</pre> -<p>Since FreeType doesn't provide all capabilities of DWrite ClearType, using version 38 seems justified.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-type1_tables.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-type1_tables.html deleted file mode 100644 index 199f3f57f27..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-type1_tables.html +++ /dev/null @@ -1,689 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Type 1 Tables -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#PS_FontInfoRec">PS_FontInfoRec</a></td><td></td><td><a href="#T1_Blend_Flags">T1_Blend_Flags</a></td><td></td><td><a href="#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td></tr> -<tr><td></td><td><a href="#PS_FontInfo">PS_FontInfo</a></td><td></td><td><a href="#CID_FaceDictRec">CID_FaceDictRec</a></td><td></td><td><a href="#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td></tr> -<tr><td></td><td><a href="#T1_FontInfo">T1_FontInfo</a></td><td></td><td><a href="#CID_FaceDict">CID_FaceDict</a></td><td></td><td><a href="#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td></tr> -<tr><td></td><td><a href="#PS_PrivateRec">PS_PrivateRec</a></td><td></td><td><a href="#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td></td><td><a href="#T1_EncodingType">T1_EncodingType</a></td></tr> -<tr><td></td><td><a href="#PS_Private">PS_Private</a></td><td></td><td><a href="#CID_FaceInfo">CID_FaceInfo</a></td><td></td><td><a href="#PS_Dict_Keys">PS_Dict_Keys</a></td></tr> -<tr><td></td><td><a href="#T1_Private">T1_Private</a></td><td></td><td><a href="#CID_Info">CID_Info</a></td><td></td><td><a href="#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="PS_FontInfoRec">PS_FontInfoRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_ - { - <a href="ft2-basic_types.html#FT_String">FT_String</a>* version; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* notice; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* full_name; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* family_name; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* weight; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> italic_angle; - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> is_fixed_pitch; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_position; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> underline_thickness; - - } <b>PS_FontInfoRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="PS_FontInfo">PS_FontInfo</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_* <b>PS_FontInfo</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="T1_FontInfo">T1_FontInfo</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> <b>T1_FontInfo</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="PS_PrivateRec">PS_PrivateRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_ - { - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> unique_id; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> lenIV; - - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_blue_values; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_other_blues; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_family_blues; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_family_other_blues; - - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> blue_values[14]; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> other_blues[10]; - - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> family_blues [14]; - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> family_other_blues[10]; - - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> blue_scale; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> blue_shift; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> blue_fuzz; - - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> standard_width[1]; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> standard_height[1]; - - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_snap_widths; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_snap_heights; - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> force_bold; - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> round_stem_up; - - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> snap_widths [13]; /* including std width */ - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> snap_heights[13]; /* including std height */ - - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor; - - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> language_group; - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> password; - - <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_feature[2]; - - } <b>PS_PrivateRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="PS_Private">PS_Private</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_* <b>PS_Private</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="T1_Private">T1_Private</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> <b>T1_Private</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="T1_Blend_Flags">T1_Blend_Flags</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_Blend_Flags_ - { - /*# required fields in a FontInfo blend dictionary */ - T1_BLEND_UNDERLINE_POSITION = 0, - T1_BLEND_UNDERLINE_THICKNESS, - T1_BLEND_ITALIC_ANGLE, - - /*# required fields in a Private blend dictionary */ - T1_BLEND_BLUE_VALUES, - T1_BLEND_OTHER_BLUES, - T1_BLEND_STANDARD_WIDTH, - T1_BLEND_STANDARD_HEIGHT, - T1_BLEND_STEM_SNAP_WIDTHS, - T1_BLEND_STEM_SNAP_HEIGHTS, - T1_BLEND_BLUE_SCALE, - T1_BLEND_BLUE_SHIFT, - T1_BLEND_FAMILY_BLUES, - T1_BLEND_FAMILY_OTHER_BLUES, - T1_BLEND_FORCE_BOLD, - - /*# never remove */ - T1_BLEND_MAX - - } <b>T1_Blend_Flags</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="CID_FaceDictRec">CID_FaceDictRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_ - { - <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> private_dict; - - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> len_buildchar; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> forcebold_threshold; - <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> stroke_width; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor; - - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> paint_type; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> font_type; - <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a> font_matrix; - <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> font_offset; - - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_subrs; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> subrmap_offset; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> sd_bytes; - - } <b>CID_FaceDictRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to represent data in a CID top-level dictionary.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="CID_FaceDict">CID_FaceDict</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_* <b>CID_FaceDict</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="CID_FaceInfoRec">CID_FaceInfoRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_ - { - <a href="ft2-basic_types.html#FT_String">FT_String</a>* cid_font_name; - <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> cid_version; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> cid_font_type; - - <a href="ft2-basic_types.html#FT_String">FT_String</a>* registry; - <a href="ft2-basic_types.html#FT_String">FT_String</a>* ordering; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> supplement; - - <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> font_info; - <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> font_bbox; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> uid_base; - - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_xuid; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> xuid[16]; - - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> cidmap_offset; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> fd_bytes; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> gd_bytes; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> cid_count; - - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_dicts; - <a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a> font_dicts; - - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> data_offset; - - } <b>CID_FaceInfoRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to represent CID Face information.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="CID_FaceInfo">CID_FaceInfo</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_* <b>CID_FaceInfo</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="CID_Info">CID_Info</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> <b>CID_Info</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>This type is equivalent to <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) - <b>FT_Has_PS_Glyph_Names</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return true if a given face provides reliable PostScript glyph names. This is similar to using the <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a> macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.</p> -<p>When this function returns true, the caller is sure that the glyph names returned by <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a> are reliable.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>face handle</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>Boolean. True if glyph names are reliable.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_PS_Font_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a> afont_info ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure corresponding to a given PostScript font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>PostScript face handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>afont_info</b></td><td> -<p>Output font info structure pointer.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.</p> -<p>If the font's format is not PostScript-based, this function will return the ‘FT_Err_Invalid_Argument’ error code.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_PS_Font_Private</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-type1_tables.html#PS_Private">PS_Private</a> afont_private ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure corresponding to a given PostScript font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>PostScript face handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>afont_private</b></td><td> -<p>Output private dictionary structure pointer.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The string pointers within the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure are owned by the face and don't need to be freed by the caller.</p> -<p>If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="T1_EncodingType">T1_EncodingType</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_EncodingType_ - { - T1_ENCODING_TYPE_NONE = 0, - T1_ENCODING_TYPE_ARRAY, - T1_ENCODING_TYPE_STANDARD, - T1_ENCODING_TYPE_ISOLATIN1, - T1_ENCODING_TYPE_EXPERT - - } <b>T1_EncodingType</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="PS_Dict_Keys">PS_Dict_Keys</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">enum</span> PS_Dict_Keys_ - { - /* conventionally in the font dictionary */ - PS_DICT_FONT_TYPE, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_FONT_MATRIX, /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> */ - PS_DICT_FONT_BBOX, /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> */ - PS_DICT_PAINT_TYPE, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_FONT_NAME, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_UNIQUE_ID, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ - PS_DICT_NUM_CHAR_STRINGS, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ - PS_DICT_CHAR_STRING_KEY, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_CHAR_STRING, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_ENCODING_TYPE, /* <a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a> */ - PS_DICT_ENCODING_ENTRY, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - - /* conventionally in the font Private dictionary */ - PS_DICT_NUM_SUBRS, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ - PS_DICT_SUBR, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_STD_HW, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ - PS_DICT_STD_VW, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ - PS_DICT_NUM_BLUE_VALUES, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_BLUE_VALUE, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_BLUE_FUZZ, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ - PS_DICT_NUM_OTHER_BLUES, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_OTHER_BLUE, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_NUM_FAMILY_BLUES, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_FAMILY_BLUE, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_NUM_FAMILY_OTHER_BLUES, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_FAMILY_OTHER_BLUE, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_BLUE_SCALE, /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> */ - PS_DICT_BLUE_SHIFT, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ - PS_DICT_NUM_STEM_SNAP_H, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_STEM_SNAP_H, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_NUM_STEM_SNAP_V, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ - PS_DICT_STEM_SNAP_V, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_FORCE_BOLD, /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> */ - PS_DICT_RND_STEM_UP, /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> */ - PS_DICT_MIN_FEATURE, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_LEN_IV, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ - PS_DICT_PASSWORD, /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a> */ - PS_DICT_LANGUAGE_GROUP, /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a> */ - - /* conventionally in the font FontInfo dictionary */ - PS_DICT_VERSION, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_NOTICE, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_FULL_NAME, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_FAMILY_NAME, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_WEIGHT, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ - PS_DICT_IS_FIXED_PITCH, /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> */ - PS_DICT_UNDERLINE_POSITION, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ - PS_DICT_UNDERLINE_THICKNESS, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ - PS_DICT_FS_TYPE, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ - PS_DICT_ITALIC_ANGLE, /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a> */ - - PS_DICT_MAX = PS_DICT_ITALIC_ANGLE - - } <b>PS_Dict_Keys</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An enumeration used in calls to <a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a> to identify the Type 1 dictionary entry to retrieve.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TYPE1_TABLES_H (t1tables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) - <b>FT_Get_PS_Font_Value</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a> key, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> idx, - <span class="keyword">void</span> *value, - <a href="ft2-basic_types.html#FT_Long">FT_Long</a> value_len ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve the value for the supplied key from a PostScript font.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>PostScript face handle.</p> -</td></tr> -<tr valign=top><td><b>key</b></td><td> -<p>An enumeration value representing the dictionary key to retrieve.</p> -</td></tr> -<tr valign=top><td><b>idx</b></td><td> -<p>For array values, this specifies the index to be returned.</p> -</td></tr> -<tr valign=top><td><b>value</b></td><td> -<p>A pointer to memory into which to write the value.</p> -</td></tr> -<tr valign=top><td><b>valen_len</b></td><td> -<p>The size, in bytes, of the memory supplied for the value.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>value</b></td><td> -<p>The value matching the above key, if it exists.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The values returned are not pointers into the internal structures of the face, but are ‘fresh’ copies, so that the memory containing them belongs to the calling application. This also enforces the ‘read-only’ nature of these values, i.e., this function cannot be used to manipulate the face.</p> -<p>‘value’ is a void pointer because the values returned can be of various types.</p> -<p>If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested entry is returned.</p> -<p>The ‘idx’ parameter is used, not only to retrieve elements of, for example, the FontMatrix or FontBBox, but also to retrieve name keys from the CharStrings dictionary, and the charstrings themselves. It is ignored for atomic values.</p> -<p>PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To get the value as in the font stream, you need to divide by 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale).</p> -<p>IMPORTANT: Only key/value pairs read by the FreeType interpreter can be retrieved. So, for example, PostScript procedures such as NP, ND, and RD are not available. Arbitrary keys are, obviously, not be available either.</p> -<p>If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-user_allocation.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-user_allocation.html deleted file mode 100644 index 4875fb2b5d0..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-user_allocation.html +++ /dev/null @@ -1,47 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -User allocation -</h1></center> -<table align=center width="87%"><tr><td> -<p>FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use ‘calloc’ (or variants of it) instead of ‘malloc’ for allocation.</p> -</td></tr></table><br> -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-version.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-version.html deleted file mode 100644 index 89d79a2eaf8..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-version.html +++ /dev/null @@ -1,219 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -FreeType Version -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FREETYPE_XXX">FREETYPE_XXX</a></td><td></td><td><a href="#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td></tr> -<tr><td></td><td><a href="#FT_Library_Version">FT_Library_Version</a></td><td></td><td><a href="#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>Note that those functions and macros are of limited use because even a new release of FreeType with only documentation changes increases the version number.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FREETYPE_XXX">FREETYPE_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a> 2 -#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a> 5 -#define <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a> 3 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>These three macros identify the FreeType source code version. Use <a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a> to access them at runtime.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FREETYPE_MAJOR</b></td><td> -<p>The major version number.</p> -</td></tr> -<tr valign=top><td><b>FREETYPE_MINOR</b></td><td> -<p>The minor version number.</p> -</td></tr> -<tr valign=top><td><b>FREETYPE_PATCH</b></td><td> -<p>The patch level.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is <i>not</i> controlled by these three macros.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Library_Version">FT_Library_Version</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <span class="keyword">void</span> ) - <b>FT_Library_Version</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *amajor, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *aminor, - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *apatch ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a>, <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a>, and <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> -<p>A source library handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>amajor</b></td><td> -<p>The major version number.</p> -</td></tr> -<tr valign=top><td><b>aminor</b></td><td> -<p>The minor version number.</p> -</td></tr> -<tr valign=top><td><b>apatch</b></td><td> -<p>The patch version number.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p> -<p>In such cases, the library version might not be available before the library object has been created.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> ) - <b>FT_Face_CheckTrueTypePatents</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are used. This is only useful if you want to be able to use the unpatented hinter with fonts that do <b>not</b> use these opcodes.</p> -<p>Note that this function parses <b>all</b> glyph instructions in the font file, which may be slow.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A face handle.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Since May 2010, TrueType hinting is no longer patented.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.5</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_FREETYPE_H (freetype.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> ) - <b>FT_Face_SetUnpatentedHinting</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> value ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Enable or disable the unpatented hinter for a given face. Only enable it if you have determined that the face doesn't use any patented opcodes (see <a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a>).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A face handle.</p> -</td></tr> -<tr valign=top><td><b>value</b></td><td> -<p>New boolean setting.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>Since May 2010, TrueType hinting is no longer patented.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> -<p>2.3.5</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-winfnt_fonts.html b/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-winfnt_fonts.html deleted file mode 100644 index 792cd9e78ff..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-winfnt_fonts.html +++ /dev/null @@ -1,278 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> - -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> - -<center><h1> -Window FNT Files -</h1></center> -<h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td><td></td><td><a href="#FT_WinFNT_Header">FT_WinFNT_Header</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td><td></td><td><a href="#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the declaration of Windows FNT specific functions.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_WINFONTS_H (ftwinfnt.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a> 0 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a> 1 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a> 2 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a> 77 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a> 128 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a> 129 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a> 130 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a> 134 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a> 136 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a> 161 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a> 162 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a> 163 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a> 177 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a> 178 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a> 186 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a> 204 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a> 222 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a> 238 -#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a> 255 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘charset’ byte in <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a>. Exact mapping tables for the various cpXXXX encodings (except for cp1361) can be found at <a href="ftp://ftp.unicode.org/public">ftp://ftp.unicode.org/public</a> in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_WinFNT_ID_DEFAULT</b></td><td> -<p>This is used for font enumeration and font creation as a ‘don't care’ value. Valid font files don't contain this value. When querying for information about the character set of the font that is currently selected into a specified device context, this return value (of the related Windows API) simply denotes failure.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_SYMBOL</b></td><td> -<p>There is no known mapping table available.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_MAC</b></td><td> -<p>Mac Roman encoding.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_OEM</b></td><td> -<p>From Michael Pöttgen <michael@poettgen.de>:</p> -<p>The ‘Windows Font Mapping’ article says that FT_WinFNT_ID_OEM is used for the charset of vector fonts, like ‘modern.fon’, ‘roman.fon’, and ‘script.fon’ on Windows.</p> -<p>The ‘CreateFont’ documentation says: The FT_WinFNT_ID_OEM value specifies a character set that is operating-system dependent.</p> -<p>The ‘IFIMETRICS’ documentation from the ‘Windows Driver Development Kit’ says: This font supports an OEM-specific character set. The OEM character set is system dependent.</p> -<p>In general OEM, as opposed to ANSI (i.e., cp1252), denotes the second default codepage that most international versions of Windows have. It is one of the OEM codepages from</p> -<p><a href="http://www.microsoft.com/globaldev/reference/cphome.mspx">http://www.microsoft.com/globaldev/reference/cphome.mspx</a>,</p> -<p>and is used for the ‘DOS boxes’, to support legacy applications. A German Windows version for example usually uses ANSI codepage 1252 and OEM codepage 850.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP874</b></td><td> -<p>A superset of Thai TIS 620 and ISO 8859-11.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP932</b></td><td> -<p>A superset of Japanese Shift-JIS (with minor deviations).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP936</b></td><td> -<p>A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP949</b></td><td> -<p>A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP950</b></td><td> -<p>A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1250</b></td><td> -<p>A superset of East European ISO 8859-2 (with slightly different ordering).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1251</b></td><td> -<p>A superset of Russian ISO 8859-5 (with different ordering).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1252</b></td><td> -<p>ANSI encoding. A superset of ISO 8859-1.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1253</b></td><td> -<p>A superset of Greek ISO 8859-7 (with minor modifications).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1254</b></td><td> -<p>A superset of Turkish ISO 8859-9.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1255</b></td><td> -<p>A superset of Hebrew ISO 8859-8 (with some modifications).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1256</b></td><td> -<p>A superset of Arabic ISO 8859-6 (with different ordering).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1257</b></td><td> -<p>A superset of Baltic ISO 8859-13 (with some deviations).</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1258</b></td><td> -<p>For Vietnamese. This encoding doesn't cover all necessary characters.</p> -</td></tr> -<tr valign=top><td><b>FT_WinFNT_ID_CP1361</b></td><td> -<p>Korean (Johab).</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_WINFONTS_H (ftwinfnt.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_ - { - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> version; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> file_size; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> copyright[60]; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> file_type; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> nominal_point_size; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> vertical_resolution; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> horizontal_resolution; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> ascent; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> internal_leading; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> external_leading; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> italic; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> underline; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> strike_out; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> weight; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> charset; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> pixel_width; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> pixel_height; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> pitch_and_family; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> avg_width; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> max_width; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> first_char; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> last_char; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> default_char; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> break_char; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> bytes_per_row; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> device_offset; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> face_name_offset; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> bits_pointer; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> bits_offset; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> reserved; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> flags; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> A_space; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> B_space; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> C_space; - <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> color_table_offset; - <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> reserved1[4]; - - } <b>FT_WinFNT_HeaderRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Windows FNT Header info.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_WinFNT_Header">FT_WinFNT_Header</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_WINFONTS_H (ftwinfnt.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_* <b>FT_WinFNT_Header</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to an <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_WINFONTS_H (ftwinfnt.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FT_Get_WinFNT_Header</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, - <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> *aheader ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve a Windows FNT font info header.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> -<p>A handle to the input face.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aheader</b></td><td> -<p>The WinFNT header.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function only works with Windows FNT faces, returning an error otherwise.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -</body> -</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/tohtml.py b/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/tohtml.py deleted file mode 100644 index 7944f1c995b..00000000000 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/tohtml.py +++ /dev/null @@ -1,566 +0,0 @@ -# ToHTML (c) 2002, 2003, 2005-2008, 2013 -# David Turner <david@freetype.org> - -from sources import * -from content import * -from formatter import * - -import time - - -# The following defines the HTML header used by all generated pages. -html_header_1 = """\ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" -"http://www.w3.org/TR/html4/loose.dtd"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>\ -""" - -html_header_2 = """\ - API Reference</title> -<style type="text/css"> - body { font-family: Verdana, Geneva, Arial, Helvetica, serif; - color: #000000; - background: #FFFFFF; } - - p { text-align: justify; } - h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } - - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } - - span.keyword { font-family: monospace; - text-align: left; - white-space: pre; - color: darkblue; } - - pre.colored { color: blue; } - - ul.empty { list-style-type: none; } -</style> -</head> -<body> -""" - -html_header_3 = """ -<table align=center><tr><td><font size=-1>[<a href="\ -""" - -html_header_3i = """ -<table align=center><tr><td width="100%"></td> -<td><font size=-1>[<a href="\ -""" - -html_header_4 = """\ -">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="\ -""" - -html_header_5 = """\ -">TOC</a>]</font></td></tr></table> -<center><h1>\ -""" - -html_header_5t = """\ -">Index</a>]</font></td> -<td width="100%"></td></tr></table> -<center><h1>\ -""" - -html_header_6 = """\ - API Reference</h1></center> -""" - - -# The HTML footer used by all generated pages. -html_footer = """\ -</body> -</html>\ -""" - -# The header and footer used for each section. -section_title_header = "<center><h1>" -section_title_footer = "</h1></center>" - -# The header and footer used for code segments. -code_header = '<pre class="colored">' -code_footer = '</pre>' - -# Paragraph header and footer. -para_header = "<p>" -para_footer = "</p>" - -# Block header and footer. -block_header = '<table align=center width="75%"><tr><td>' -block_footer_start = """\ -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="\ -""" -block_footer_middle = """\ -">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="\ -""" -block_footer_end = """\ -">TOC</a>]</font></td></tr></table> -""" - -# Description header/footer. -description_header = '<table align=center width="87%"><tr><td>' -description_footer = "</td></tr></table><br>" - -# Marker header/inter/footer combination. -marker_header = '<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>' -marker_inter = "</b></em></td></tr><tr><td>" -marker_footer = "</td></tr></table>" - -# Header location header/footer. -header_location_header = '<table align=center width="87%"><tr><td>' -header_location_footer = "</td></tr></table><br>" - -# Source code extracts header/footer. -source_header = '<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre>\n' -source_footer = "\n</pre></table><br>" - -# Chapter header/inter/footer. -chapter_header = '<br><table align=center width="75%"><tr><td><h2>' -chapter_inter = '</h2><ul class="empty"><li>' -chapter_footer = '</li></ul></td></tr></table>' - -# Index footer. -index_footer_start = """\ -<hr> -<table><tr><td width="100%"></td> -<td><font size=-2>[<a href="\ -""" -index_footer_end = """\ -">TOC</a>]</font></td></tr></table> -""" - -# TOC footer. -toc_footer_start = """\ -<hr> -<table><tr><td><font size=-2>[<a href="\ -""" -toc_footer_end = """\ -">Index</a>]</font></td> -<td width="100%"></td> -</tr></table> -""" - - -# source language keyword coloration/styling -keyword_prefix = '<span class="keyword">' -keyword_suffix = '</span>' - -section_synopsis_header = '<h2>Synopsis</h2>' -section_synopsis_footer = '' - - -# Translate a single line of source to HTML. This will convert -# a "<" into "<.", ">" into ">.", etc. -def html_quote( line ): - result = string.replace( line, "&", "&" ) - result = string.replace( result, "<", "<" ) - result = string.replace( result, ">", ">" ) - return result - - - -class HtmlFormatter( Formatter ): - - def __init__( self, processor, project_title, file_prefix ): - Formatter.__init__( self, processor ) - - global html_header_1, html_header_2, html_header_3 - global html_header_4, html_header_5, html_footer - - if file_prefix: - file_prefix = file_prefix + "-" - else: - file_prefix = "" - - self.headers = processor.headers - self.project_title = project_title - self.file_prefix = file_prefix - self.html_header = html_header_1 + project_title + \ - html_header_2 + \ - html_header_3 + file_prefix + "index.html" + \ - html_header_4 + file_prefix + "toc.html" + \ - html_header_5 + project_title + \ - html_header_6 - - self.html_index_header = html_header_1 + project_title + \ - html_header_2 + \ - html_header_3i + file_prefix + "toc.html" + \ - html_header_5 + project_title + \ - html_header_6 - - self.html_toc_header = html_header_1 + project_title + \ - html_header_2 + \ - html_header_3 + file_prefix + "index.html" + \ - html_header_5t + project_title + \ - html_header_6 - - self.html_footer = "<center><font size=""-2"">generated on " + \ - time.asctime( time.localtime( time.time() ) ) + \ - "</font></center>" + html_footer - - self.columns = 3 - - def make_section_url( self, section ): - return self.file_prefix + section.name + ".html" - - def make_block_url( self, block ): - return self.make_section_url( block.section ) + "#" + block.name - - def make_html_word( self, word ): - """analyze a simple word to detect cross-references and styling""" - # look for cross-references - m = re_crossref.match( word ) - if m: - try: - name = m.group( 1 ) - rest = m.group( 2 ) - block = self.identifiers[name] - url = self.make_block_url( block ) - return '<a href="' + url + '">' + name + '</a>' + rest - except: - # we detected a cross-reference to an unknown item - sys.stderr.write( \ - "WARNING: undefined cross reference '" + name + "'.\n" ) - return '?' + name + '?' + rest - - # look for italics and bolds - m = re_italic.match( word ) - if m: - name = m.group( 1 ) - rest = m.group( 3 ) - return '<i>' + name + '</i>' + rest - - m = re_bold.match( word ) - if m: - name = m.group( 1 ) - rest = m.group( 3 ) - return '<b>' + name + '</b>' + rest - - return html_quote( word ) - - def make_html_para( self, words ): - """ convert words of a paragraph into tagged HTML text, handle xrefs """ - line = "" - if words: - line = self.make_html_word( words[0] ) - for word in words[1:]: - line = line + " " + self.make_html_word( word ) - # handle hyperlinks - line = re_url.sub( r'<a href="\1">\1</a>', line ) - # convert `...' quotations into real left and right single quotes - line = re.sub( r"(^|\W)`(.*?)'(\W|$)", \ - r'\1‘\2’\3', \ - line ) - # convert tilde into non-breakable space - line = string.replace( line, "~", " " ) - - return para_header + line + para_footer - - def make_html_code( self, lines ): - """ convert a code sequence to HTML """ - line = code_header + '\n' - for l in lines: - line = line + html_quote( l ) + '\n' - - return line + code_footer - - def make_html_items( self, items ): - """ convert a field's content into some valid HTML """ - lines = [] - for item in items: - if item.lines: - lines.append( self.make_html_code( item.lines ) ) - else: - lines.append( self.make_html_para( item.words ) ) - - return string.join( lines, '\n' ) - - def print_html_items( self, items ): - print self.make_html_items( items ) - - def print_html_field( self, field ): - if field.name: - print "<table><tr valign=top><td><b>" + field.name + "</b></td><td>" - - print self.make_html_items( field.items ) - - if field.name: - print "</td></tr></table>" - - def html_source_quote( self, line, block_name = None ): - result = "" - while line: - m = re_source_crossref.match( line ) - if m: - name = m.group( 2 ) - prefix = html_quote( m.group( 1 ) ) - length = len( m.group( 0 ) ) - - if name == block_name: - # this is the current block name, if any - result = result + prefix + '<b>' + name + '</b>' - elif re_source_keywords.match( name ): - # this is a C keyword - result = result + prefix + keyword_prefix + name + keyword_suffix - elif self.identifiers.has_key( name ): - # this is a known identifier - block = self.identifiers[name] - result = result + prefix + '<a href="' + \ - self.make_block_url( block ) + '">' + name + '</a>' - else: - result = result + html_quote( line[:length] ) - - line = line[length:] - else: - result = result + html_quote( line ) - line = [] - - return result - - def print_html_field_list( self, fields ): - print "<p></p>" - print "<table cellpadding=3 border=0>" - for field in fields: - if len( field.name ) > 22: - print "<tr valign=top><td colspan=0><b>" + field.name + "</b></td></tr>" - print "<tr valign=top><td></td><td>" - else: - print "<tr valign=top><td><b>" + field.name + "</b></td><td>" - - self.print_html_items( field.items ) - print "</td></tr>" - print "</table>" - - def print_html_markup( self, markup ): - table_fields = [] - for field in markup.fields: - if field.name: - # we begin a new series of field or value definitions, we - # will record them in the 'table_fields' list before outputting - # all of them as a single table - # - table_fields.append( field ) - else: - if table_fields: - self.print_html_field_list( table_fields ) - table_fields = [] - - self.print_html_items( field.items ) - - if table_fields: - self.print_html_field_list( table_fields ) - - # - # Formatting the index - # - def index_enter( self ): - print self.html_index_header - self.index_items = {} - - def index_name_enter( self, name ): - block = self.identifiers[name] - url = self.make_block_url( block ) - self.index_items[name] = url - - def index_exit( self ): - # block_index already contains the sorted list of index names - count = len( self.block_index ) - rows = ( count + self.columns - 1 ) / self.columns - - print "<table align=center border=0 cellpadding=0 cellspacing=0>" - for r in range( rows ): - line = "<tr>" - for c in range( self.columns ): - i = r + c * rows - if i < count: - bname = self.block_index[r + c * rows] - url = self.index_items[bname] - line = line + '<td><a href="' + url + '">' + bname + '</a></td>' - else: - line = line + '<td></td>' - line = line + "</tr>" - print line - - print "</table>" - - print index_footer_start + \ - self.file_prefix + "toc.html" + \ - index_footer_end - - print self.html_footer - - self.index_items = {} - - def index_dump( self, index_filename = None ): - if index_filename == None: - index_filename = self.file_prefix + "index.html" - - Formatter.index_dump( self, index_filename ) - - # - # Formatting the table of content - # - def toc_enter( self ): - print self.html_toc_header - print "<center><h1>Table of Contents</h1></center>" - - def toc_chapter_enter( self, chapter ): - print chapter_header + string.join( chapter.title ) + chapter_inter - print "<table cellpadding=5>" - - def toc_section_enter( self, section ): - print '<tr valign=top><td class="left">' - print '<a href="' + self.make_section_url( section ) + '">' + \ - section.title + '</a></td><td>' - - print self.make_html_para( section.abstract ) - - def toc_section_exit( self, section ): - print "</td></tr>" - - def toc_chapter_exit( self, chapter ): - print "</table>" - print chapter_footer - - def toc_index( self, index_filename ): - print chapter_header + \ - '<a href="' + index_filename + '">Global Index</a>' + \ - chapter_inter + chapter_footer - - def toc_exit( self ): - print toc_footer_start + \ - self.file_prefix + "index.html" + \ - toc_footer_end - - print self.html_footer - - def toc_dump( self, toc_filename = None, index_filename = None ): - if toc_filename == None: - toc_filename = self.file_prefix + "toc.html" - - if index_filename == None: - index_filename = self.file_prefix + "index.html" - - Formatter.toc_dump( self, toc_filename, index_filename ) - - # - # Formatting sections - # - def section_enter( self, section ): - print self.html_header - - print section_title_header - print section.title - print section_title_footer - - maxwidth = 0 - for b in section.blocks.values(): - if len( b.name ) > maxwidth: - maxwidth = len( b.name ) - - width = 70 # XXX magic number - if maxwidth <> 0: - # print section synopsis - print section_synopsis_header - print "<table align=center cellspacing=5 cellpadding=0 border=0>" - - columns = width / maxwidth - if columns < 1: - columns = 1 - - count = len( section.block_names ) - rows = ( count + columns - 1 ) / columns - - for r in range( rows ): - line = "<tr>" - for c in range( columns ): - i = r + c * rows - line = line + '<td></td><td>' - if i < count: - name = section.block_names[i] - line = line + '<a href="#' + name + '">' + name + '</a>' - - line = line + '</td>' - line = line + "</tr>" - print line - - print "</table><br><br>" - print section_synopsis_footer - - print description_header - print self.make_html_items( section.description ) - print description_footer - - def block_enter( self, block ): - print block_header - - # place html anchor if needed - if block.name: - print '<h4><a name="' + block.name + '">' + block.name + '</a></h4>' - - # dump the block C source lines now - if block.code: - header = '' - for f in self.headers.keys(): - if block.source.filename.find( f ) >= 0: - header = self.headers[f] + ' (' + f + ')' - break; - -# if not header: -# sys.stderr.write( \ -# 'WARNING: No header macro for ' + block.source.filename + '.\n' ) - - if header: - print header_location_header - print 'Defined in ' + header + '.' - print header_location_footer - - print source_header - for l in block.code: - print self.html_source_quote( l, block.name ) - print source_footer - - def markup_enter( self, markup, block ): - if markup.tag == "description": - print description_header - else: - print marker_header + markup.tag + marker_inter - - self.print_html_markup( markup ) - - def markup_exit( self, markup, block ): - if markup.tag == "description": - print description_footer - else: - print marker_footer - - def block_exit( self, block ): - print block_footer_start + self.file_prefix + "index.html" + \ - block_footer_middle + self.file_prefix + "toc.html" + \ - block_footer_end - - def section_exit( self, section ): - print html_footer - - def section_dump_all( self ): - for section in self.sections: - self.section_dump( section, self.file_prefix + section.name + '.html' ) - -# eof diff --git a/Build/source/libs/freetype2/freetype-2.5.3-PATCHES/ChangeLog b/Build/source/libs/freetype2/freetype-2.5.4-PATCHES/ChangeLog index 318f7cc64ab..450f9b72657 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3-PATCHES/ChangeLog +++ b/Build/source/libs/freetype2/freetype-2.5.4-PATCHES/ChangeLog @@ -1,3 +1,8 @@ +2014-12-07 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported freetype-2.5.4 source tree from: + http://savannah.nongnu.org/download/freetype/ + 2014-03-08 Peter Breitenlohner <peb@mppmu.mpg.de> Imported freetype-2.5.3 source tree from: diff --git a/Build/source/libs/freetype2/freetype-2.5.3-PATCHES/TL-Changes b/Build/source/libs/freetype2/freetype-2.5.4-PATCHES/TL-Changes index 0a6f1d2453b..3f4aa2107d1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3-PATCHES/TL-Changes +++ b/Build/source/libs/freetype2/freetype-2.5.4-PATCHES/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the freetype-2.5.3/ tree as obtained from: +Changes applied to the freetype-2.5.4/ tree as obtained from: http://savannah.nongnu.org/download/freetype/. Updated: diff --git a/Build/source/libs/freetype2/freetype-2.5.3/CMakeLists.txt b/Build/source/libs/freetype2/freetype-2.5.4/CMakeLists.txt index a4e583d3314..7784b9e1a25 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/CMakeLists.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/CMakeLists.txt @@ -16,13 +16,28 @@ # # cmake CMakeLists.txt # -# to create a Makefile that builds a static version of the library. For a -# dynamic library, use +# to create a Makefile that builds a static version of the library. +# +# For a dynamic library, use # # cmake CMakeLists.txt -DBUILD_SHARED_LIBS:BOOL=true # -# instead. Please refer to the cmake manual for further options, in -# particular, how to modify compilation and linking parameters. +# For a framework on OS X, use +# +# cmake CMakeLists.txt -DBUILD_FRAMEWORK:BOOL=true -G Xcode +# +# instead. +# +# For an iOS static library, use +# +# cmake CMakeLists.txt -DIOS_PLATFORM=OS -G Xcode +# +# or +# +# cmake CMakeLists.txt -DIOS_PLATFORM=SIMULATOR -G Xcode +# +# Please refer to the cmake manual for further options, in particular, how +# to modify compilation and linking parameters. # # Some notes. # @@ -37,11 +52,54 @@ cmake_minimum_required(VERSION 2.6) +# CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which +# configures the base build environment and references the toolchain file +if (APPLE) + if (DEFINED IOS_PLATFORM) + if (NOT "${IOS_PLATFORM}" STREQUAL "OS" + AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR") + message(FATAL_ERROR + "IOS_PLATFORM must be set to either OS or SIMULATOR") + endif () + if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") + message(AUTHOR_WARNING + "You should use Xcode generator with IOS_PLATFORM enabled to get Universal builds.") + endif () + if (BUILD_SHARED_LIBS) + message(FATAL_ERROR + "BUILD_SHARED_LIBS can not be on with IOS_PLATFORM enabled") + endif () + if (BUILD_FRAMEWORK) + message(FATAL_ERROR + "BUILD_FRAMEWORK can not be on with IOS_PLATFORM enabled") + endif () + + # iOS only uses static libraries + set(BUILD_SHARED_LIBS OFF) + + set(CMAKE_TOOLCHAIN_FILE + ${PROJECT_SOURCE_DIR}/builds/cmake/iOS.cmake) + endif () +else () + if (DEFINED IOS_PLATFORM) + message(FATAL_ERROR "IOS_PLATFORM is not supported on this platform") + endif () +endif () + project(freetype) +if (BUILD_FRAMEWORK) + if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode") + message(FATAL_ERROR + "You should use Xcode generator with BUILD_FRAMEWORK enabled") + endif () + set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)") + set(BUILD_SHARED_LIBS ON) +endif () + set(VERSION_MAJOR "2") set(VERSION_MINOR "5") -set(VERSION_PATCH "3") +set(VERSION_PATCH "4") set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) # Compiler definitions for building the library @@ -51,22 +109,27 @@ add_definitions(-DFT2_BUILD_LIBRARY) include_directories("${PROJECT_SOURCE_DIR}/include") # Create the configuration file -message(STATUS "Creating directory, ${PROJECT_BINARY_DIR}/include.") -file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include) +message(STATUS "Creating directory, ${PROJECT_BINARY_DIR}/include/freetype2.") +file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include/freetype2) # For the auto-generated ftconfig.h file -include_directories("${PROJECT_BINARY_DIR}/include") -message(STATUS "Creating ${PROJECT_BINARY_DIR}/include/ftconfig.h.") +include_directories(BEFORE "${PROJECT_BINARY_DIR}/include/freetype2") +message(STATUS "Creating ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h.") execute_process( COMMAND sed -e "s/FT_CONFIG_OPTIONS_H/<ftoption.h>/" -e "s/FT_CONFIG_STANDARD_LIBRARY_H/<ftstdlib.h>/" -e "s?/undef ?#undef ?" INPUT_FILE ${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in - OUTPUT_FILE ${PROJECT_BINARY_DIR}/include/ftconfig.h + OUTPUT_FILE ${PROJECT_BINARY_DIR}/include/freetype2/ftconfig.h ) +file(GLOB PUBLIC_HEADERS "include/*.h") +file(GLOB PUBLIC_CONFIG_HEADERS "include/config/*.h") +file(GLOB PRIVATE_HEADERS "include/internal/*.h") + set(BASE_SRCS src/autofit/autofit.c src/base/ftadvanc.c src/base/ftbbox.c + src/base/ftbdf.c src/base/ftbitmap.c src/base/ftcalc.c src/base/ftcid.c @@ -125,7 +188,31 @@ include_directories("src/raster") include_directories("src/psaux") include_directories("src/psnames") -add_library(freetype ${BASE_SRCS}) +if (BUILD_FRAMEWORK) + set(BASE_SRCS + ${BASE_SRCS} + builds/mac/freetype-Info.plist + ) +endif () + +add_library(freetype + ${PUBLIC_HEADERS} + ${PUBLIC_CONFIG_HEADERS} + ${PRIVATE_HEADERS} + ${BASE_SRCS} +) + +if (BUILD_FRAMEWORK) + set_property(SOURCE ${PUBLIC_CONFIG_HEADERS} + PROPERTY MACOSX_PACKAGE_LOCATION Headers/config + ) + set_target_properties(freetype PROPERTIES + FRAMEWORK TRUE + MACOSX_FRAMEWORK_INFO_PLIST builds/mac/freetype-Info.plist + PUBLIC_HEADER "${PUBLIC_HEADERS}" + XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" + ) +endif () # Installations # Note the trailing slash in the argument to the `DIRECTORY' directive @@ -137,6 +224,7 @@ install(TARGETS freetype RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib + FRAMEWORK DESTINATION Library/Frameworks ) # Packaging diff --git a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog index ea1eb4acbc2..c6bb781a2cc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog +++ b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog @@ -1,3 +1,1800 @@ +2014-12-06 Werner Lemberg <wl@gnu.org> + + * Version 2.5.4 released. + ========================= + + + Tag sources with `VER-2-5-4'. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.5.4. + + * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj, + builds/windows/vc2005/index.html, + builds/windows/vc2008/freetype.vcproj, + builds/windows/vc2008/index.html, + builds/windows/vc2010/freetype.vcxproj, + builds/windows/vc2010/index.html, + builds/windows/visualc/freetype.dsp, + builds/windows/visualc/freetype.vcproj, + builds/windows/visualc/index.html, + builds/windows/visualce/freetype.dsp, + builds/windows/visualce/freetype.vcproj, + builds/windows/visualce/index.html, + builds/wince/vc2005-ce/freetype.vcproj, + builds/wince/vc2005-ce/index.html, + builds/wince/vc2008-ce/freetype.vcproj, + builds/wince/vc2008-ce/index.html: s/2.5.3/2.5.4/, s/253/254/. + + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4. + + * builds/unix/configure.raw (version_info): Set to 17:3:11. + * CMakeLists.txt (VERSION_PATCH): Set to 4. + * docs/CHANGES: Updated. + +2014-12-04 Werner Lemberg <wl@gnu.org> + + docs/CHANGES: Updated, formatted. + +2014-12-04 Dave Arnold <darnold@adobe.com> + + [cff] Modify an FT_ASSERT. + + * src/cff/cf2hints.c (cf2_hintmap_map): After the fix for Savannah + bug #43661, the test font `...aspartam.otf' still triggers an + FT_ASSERT. Since hintmap still works with count==0, ... + (cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): ... add that term to + suppress the assert. + +2014-12-04 Dave Arnold <darnold@adobe.com> + + [cff] Fix Savannah bug #43661. + + * src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM, + cf2_cmdVSTEM, cf2_cmdHINTMASK>: Don't append to stem arrays after + hintmask is constructed. + + * src/cff/cf2hints.c (cf2_hintmap_build): Add defensive code to + avoid reading past end of hintmask. + +2014-12-03 Werner Lemberg <wl@gnu.org> + + docs/CHANGES: Updated. + +2014-12-03 Werner Lemberg <wl@gnu.org> + + [autofit] Better fix for conversion specifiers in debug messages. + + Using `%ld' for pointer differences causes warnings on 32bit + platforms. The correct type would be (the relatively new) `%td', + however, this is missing on some important platforms. + + This patch improves the change from 2014-11-28. + + * src/autofit/afhints.c (AF_INDEX_NUM): Use `int' typecast. Our + pointer differences are always sufficiently small. + (af_glyph_hints_dump_points, af_glyph_hints_dump_segments, + af_glyph_hints_dump_edge): Revert to `%d' and use `AF_INDEX_NUM'. + +2014-12-03 Werner Lemberg <wl@gnu.org> + + FT_Sfnt_Tag: s/ft_sfnt_xxx/FT_SFNT_XXX/ for orthogonality. + + All public FreeType enumeration and flag values are uppercase... + + * include/tttables.h (FT_Sfnt_Tag): Implement it. For backwards + compatilibity, retain the old values as macros. + + * src/base/ftfstype.c (FT_Get_FSType_Flags), src/sfnt/sfdriver.c + (get_sfnt_table): Updated. + +2014-12-02 Werner Lemberg <wl@gnu.org> + + * include/*: Improve structure of documentation. + + . Add and update many `<Order>' tags. + . Apply various documentation fixes. + . Remove details to deprecated (or never implemented) data. + +2014-12-02 Werner Lemberg <wl@gnu.org> + + [docmaker] Always handle `<Order>' section elements. + + Previously, those elements were handled only for sections present in + a `<Sections>' chapter element. + + * src/tools/docmaker/content.py (ContentProcessor::finish): + Implement it. + +2014-12-02 Werner Lemberg <wl@gnu.org> + + [docmaker] Properly handle empty rows in Synopsis. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit + ` ' for empty fields. + +2014-12-02 Werner Lemberg <wl@gnu.org> + + [docmaker] Thinko. + + * src/tools/docmaker/content.py (DocBlock::get_markup_words_all): + Emit `/empty/' string for first element also. + +2014-12-02 Werner Lemberg <wl@gnu.org> + + [docmaker] Honour empty lines in `<Order>' section element. + + This greatly improves the readability of the `Synopsis' links. + + * src/tools/docmaker/content.py (DocBlock::get_markup_words_all): + Insert string `/empty/' between items. + + * src/tools/docmaker/formatter.py (Formatter::section_dump): Make it + robust against nonexistent keys. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Emit + empty <td> elements for `/empty/'. + +2014-12-02 Werner Lemberg <wl@gnu.org> + + [docmaker] Ensure Python 3 compatibility. + + * src/tools/docmaker/content.py (ContentProcessor::set_section, + ContentProcessor::finish): Replace `has_key' function with `in' + keyword. + + * src/tools/docmaker/formatter.py (Formatter::__init__): Replace + sorting function with a key generator. + (Formatter::add_identifier): Replace `has_key' function with `in' + keyword. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::html_source_quote): + Replace `has_key' function with `in' keyword. + (HtmlFormatter::index_exit, HtmlFormatter::section_enter): Use + integer division. + s/<>/>/. + + * src/tools/docmaker/utils.py: Import `itertools'. + (index_sort): Replaced by... + (index_key): ... this new key generator (doing exactly the same). + +2014-11-29 Werner Lemberg <wl@gnu.org> + + [docmaker] Don't output a block multiple times. + + This bug was hidden by not processing all lines of `<Order>' blocks. + + * src/tools/docmaker/formatter.py (Formatter::section_dump): Filter + out field names. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + [docmaker] Use field values as HTML link targets where possible. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::make_block_url): + Accept second, optional argument to specify a name. + (HtmlFormatter::html_source_quote): Link to field ID if possible. + (HtmlFormatter::print_html_field_list): Emit `id' attribute. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + [docmaker] Allow empty lines in `<Order>' blocks. + + Before this patch, the suggested order of entries stopped at the + first empty line. + + Obviously, nobody noticed that this problem caused a much reduced + set of links in the `Synopsis' sections; in particular, the + `<Order>' blocks contain a lot of entries that wouldn't be listed + otherwise... + + * src/tools/docmaker/content.py (DocBlock::get_markup_words_all): + New function to iterate over all items. + (DocSection::process): Use it. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/sources.py (column) [Format 2]: Fix regexp. + + After the single asterisk there must be no other immediately following + asterisk. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Improve CSS for vertical spacing. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + [docmaker] Improve HTML code for table of contents. + + * src/tools/docmaker/tohtml.py: Introduce a new table class `toc', + together with proper CSS. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + [docmaker] Provide higher-level markup and simplify HTML. + + * src/tools/docmaker/tohtml.py: Instead of using extraneous `<div>' + elements, use CSS descendants (of class `section') to format the + data. + + Also remove reduntant <p> and <br> elements, replacing them with + proper CSS. + + Globally reduce page width to 75%. + + (block_header): Rename <div> class to `section'. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + [docmaker] Add `top' links after blocks. + + * src/tools/docmaker/tohtml.py (block_footer_middle): Implement it. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Improve CSS for fields. + + Make fields align horizontally relative to full line width. + +2014-11-29 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Fix index and TOC templates. + + This thinko was introduced 2014-11-27. + +2014-11-28 Werner Lemberg <wl@gnu.org> + + [docmaker] Format field lists with CSS. + + This also simplifies the inserted HTML code. + + * src/tools/docmaker/tohtml.py + (HtmlFormatter::print_html_field_list): Do it. + +2014-11-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + Fix compiler warning to the comparison between signed and + unsigned variable. + + * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix the comparison + between `ypos + ysize' and FT_INT_{MAX,MIN}. + +2014-11-28 Werner Lemberg <wl@gnu.org> + + [docmaker] Replace empty `<td>' with CSS. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::section_enter): Do + it. + +2014-11-28 Werner Lemberg <wl@gnu.org> + + [docmaker] Replace some `<table>' tags with `<h4>' and `<div>'. + + * src/tools/docmaker/tohtml.py (marker_*): Use `<h4>'. + (source_*): Use `<div>'. + (HtmlFormatter::block_enter): s/<h4>/<h3>/. + +2014-11-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + Fix compiler warning to conversion specifiers in debug messages. + + * src/autofit/afhints.c (af_glyph_hints_dump_points): Add length + modifier to dump long integers. + (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Ditto. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Use more CSS for index. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + [docmaker] Replace `name' attribute of `<a>' with `id'. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::block_enter): Do it. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Remove remaining `width' attributes. + + For `Index' and `TOC' links, we now simply use the `text-align' CSS + property of `<td>' to enforce flush-left and flush-right, + eliminating the hack with an empty, full-width `<td>' element + inbetween. + + The change also enforces the same (smaller) size for all index and + TOC links. + +2014-11-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + * src/cff/cf2font.c: Include `ftcalc.h' to use FT_MSB(), + cf2font.c could not find it under `make multi' build. + +2014-11-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove + unrequired negative value check for `width' and `height'. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: More HTML table refactoring. + + Replace some `<table>' tags with `<div>' to simplify structure. + + Move `bgcolor' attribute to CSS. + + Replace most `width' attributes with CSS. The remaining instances + (providing a similar effect as LaTeX's `\hfill' command) are removed + in a later patch. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Replace <font> with CSS. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Center <table> with CSS. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Replace `<center>' with `<div>'. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/tohtml.py: Remove redundant `<center>' tags. + + This starts a series of commits into the direction of generating + valid HTML 5 code, especially using much more CSS. + +2014-11-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + Prevent too negative values (< FT_INT_MIN) in bitmap metrics, + suggested by Alexei. + + * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Prevent too + negative values in `xpos' and `ypos + ysize'. + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Prevent + too negative values in `x_left' and `y_top'. Either negative + values in `width' and `height' are checked. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + [docmaker] Produce better HTML code. + + * src/tools/docmaker/tohtml.py: Always use double quotes for + attribute values. + (source_footer): Close `td' and `tr' groups. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + Use better way to disable creation of .pyc files for `make refdoc'. + + Python 2.6 was released in 2008... + + * builds/freetype.mk (refdoc): Use python's `-B' option. + + * builds/detect.mk (std_setup, dos_setup): Mention required python + version for `refdoc' target. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/tools/docmaker/sources.py (re_bold, re_italic): Use + non-grouping parentheses. + * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): + Updated. + +2014-11-27 Werner Lemberg <wl@gnu.org> + + * src/base/ftobjs.c (FT_Get_Glyph_Name): Fix compiler warning. + + Introdruced in previous change. Reported by Alexei. + +2014-11-26 Werner Lemberg <wl@gnu.org> + + * src/*: Add checks for parameters of API functions where missing. + + `API functions' are functions tagged with `FT_EXPORT_DEF'. + + Besides trivial fixes, the following changes are included, too. + + * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Set + error code if no service is available. + + * src/base/ftinit.c (FT_Done_FreeType): Change return value for + invalid `library' parameter to `Invalid_Library_Handle'. + + * src/base/ftobjs.c (FT_New_Size): Change return value for invalid + `asize' parameter to `Invalid_Argument'. + + * src/base/ftoutln.c (FT_Outline_Copy): Change return value for + invalid `source' and `target' parameters to `Invalid_Outline'. + (FT_Outline_Done_Internal): Change return value for invalid + `outline' parameter to `Invalid_Outline'. + +2014-11-26 Werner Lemberg <wl@gnu.org> + + * src/cache/ftcbasic.c: Use single calls to `FT_TRACE'. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + * src/base/ftobj.c (Mac_Read_POST_Resource): Additional + overflow check in the summation of POST fragment lengths, + suggested by Mateusz Jurczyk <mjurczyk@google.com>. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + * src/base/ftobjs.c (Mac_Read_POST_Resource): Insert comments + and fold too long tracing messages. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + Fix Savannah bug #43540. + + * src/base/ftmac.c (parse_fond): Prevent a buffer overrun + caused by a font including too many (> 63) strings to store + names[] table. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + * src/base/ftobjs.c (Mac_Read_POST_Resource): Use unsigned long + variables to read the lengths in POST fragments. Suggested by + Mateusz Jurczyk <mjurczyk@google.com>. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + Fix Savannah bug #43539. + + * src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow + by a broken POST table in resource-fork. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + Fix Savannah bug #43538. + + * src/base/ftobjs.c (Mac_Read_POST_Resource): Fix integer overflow + by a broken POST table in resource-fork. + +2014-11-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp> + + * src/base/ftobjs.c (Mac_Read_POST_Resource): Avoid memory leak + by a broken POST table in resource-fork. Return after freeing + the buffered POST table when it is found to be broken. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + */*: s/Invalid_Argument/Invalid_Size_Handle/ where appropriate. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + */*: s/Invalid_Argument/Invalid_Stream_Handle/ where appropriate. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + */*: s/Invalid_Argument/Invalid_Library_Handle/ where appropriate. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + */*: s/Invalid_Argument/Invalid_Outline/ where appropriate. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + */*: s/Invalid_Argument/Invalid_Face_Handle/ where appropriate. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + [Savannah bug #43682] Adjust some renderer callbacks. + + * src/raster/ftraster.c (ft_black_set_mode): Change return type to + `int' to stay in sync with `FT_Renderer_SetModeFunc' prototype. + + * src/smooth/ftgrays.c (gray_raster_set_mode): New dummy function + for orthogonality. + (ft_grays_raster): Use it. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + [Savannah bug #43682] Properly handle missing return errors. + + The functions in this patch *do* return non-trivial errors that must + be taken care of. + + * src/autofit/afloader.c (af_loader_load_g), src/base/ftobjs.c + (FT_Render_Glyph_Internal), src/base/ftoutln.c (FT_Outline_Render), + src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_endchar>, + src/psaux/psobjs.c (ps_parser_load_field_table), src/psaux/t1decode + (t1_decoder_parse_charstrings) <op_endchar>, src/truetype/ttgload.c + (load_truetype_glyph <subglyph loop>, tt_loader_init, + TT_Load_Glyph), src/truetype/ttgxvar.c (TT_Set_MM_Blend), + src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Do it. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + [Savannah bug #43682] Add/remove `void' casts to some functions. + + We use a cast to indicate that we intentionally ignore a function's + return value. However, this doesn't apply to API functions where + errors can only happen for trivially invalid input. + + * src/base/ftstroke.c (FT_Glyph_Stroke, FT_Glyph_StrokeBorder), + src/base/ftsynth.c (FT_GlyphSlot_Embolden), src/cff/cffgload.c + (cff_slot_load), src/pfr/pfrdrivr.c (pfr_get_kerning), + src/type1/t1load.c (parse_encoding), src/type42/t42parse.c + (t42_parse_encoding): Do it. + +2014-11-25 Werner Lemberg <wl@gnu.org> + + [Savannah bug #43682] Change some signatures to `void' return type. + + * include/internal/pshints.h (PSH_Globals_SetScaleFunc), + include/internal/sfnt.h (TT_Get_Metrics_Func), + src/pshinter/pshglob.c (psh_globals_set_scale), + src/pshinter/pshrec.c (ps_hints_init), src/sfnt/ttmtx.c + (tt_face_get_metrics), src/truetype/ttinterp.c (TT_Goto_CodeRange, + TT_Set_CodeRange, TT_Clear_CodeRange, TT_Done_Context, + TT_Save_Context): Do it. + + * src/pshinter/pshglob.h, src/pshinter/pshrec.h, src/sfnt/ttmtx.h, + src/truetype/ttgload.c (TT_Hint_Glyph), src/truetype/ttinterp.c + (TT_Run_Context), src/truetype/ttinterp.h, src/truetype/ttobjs.c + (tt_size_run_fpgm, tt_size_run_prep): Updated. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + Remove all code related to FT_MAX_CHARMAP_CACHEABLE. + + This is no longer used. + + * src/base/ftobjs.c, src/cache/ftccmap.c, src/cff/cffobjs.c, + src/sfnt/ttcmap.c: Do it. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43680. + + This adds an additional constraint to make the fix from 2013-01-25 + really work. + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_image) <index_format==4>: + Check `p' before `num_glyphs'. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + [truetype] Fix Savannah bug #43679. + + * src/truetype/ttpload.c (tt_face_load_hdmx): Check minimum size of + `record_size'. + +2014-11-24 Jarkko Pöyry <jarkko.poyry@gmail.com> + + [cff, pfr, psaux, winfonts] Fix Savannah bug #43676. + + Don't cast cmap init function pointers to an incompatible type. + + Without this patch, the number of parameters between declaration and + the real signature differs. Calling such a function results in + undefined behavior. + + ISO/IEC 9899:TC3 (Committee Draft September 7, 2007) + 6.5.2.2 Function calls + 9 If the function is defined with a type that is not + compatible with the type (of the expression) pointed to by + the expression that denotes the called function, the + behavior is undefined. + + On certain platforms (c -> js with emscripten) this causes + termination of execution or invalid calls because in the emscripten + implementation, function pointers of different types are stored in + different pointer arrays. Incorrect pointer type here results in + indexing of an incorrect array. + + * src/cff/cffcmap.c (cff_cmap_encoding_init, cff_cmap_unicode_init), + src/pfr/pfrcmap.c (pfr_cmap_init), src/psaux/t1cmap.c + t1_cmap_standard_init, t1_cmap_expert_init, t1_cmap_custom_init, + t1_cmap_unicode_init), src/winfonts/winfnt.c (fnt_cmap_init): Fix + signature. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43672. + + * src/sfnt/ttkern.c (tt_face_load_kern): Use correct value for + minimum table length test. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + [type1, type42] Another fix for Savannah bug #43655. + + * src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c + (t42_parse_charstrings): Add another boundary testing. + +2014-11-24 Werner Lemberg <wl@gnu.org> + + [docmaker] Formatting, copyright, improved documentation. + + * src/tools/docmaker/*: No code changes besides trivial + modifications. + +2014-11-22 Werner Lemberg <wl@gnu.org> + + [bdf] Fix Savannah bug #43660. + + * src/bdf/bdflib.c (_bdf_parse_glyphs) <"ENDFONT">: Check + `_BDF_GLYPH_BITS'. + +2014-11-22 Werner Lemberg <wl@gnu.org> + + [type42] Allow only embedded TrueType fonts. + + This is a follow-up to Savannah bug #43659. + + * src/type42/t42objs.c (T42_Face_Init): Exclusively use the + `truetype' font driver for loading the font contained in the `sfnts' + array. + +2014-11-22 Werner Lemberg <wl@gnu.org> + + [type42] Fix Savannah bug #43659. + + * src/type42/t42objs.c (T42_Open_Face): Initialize `face->ttf_size'. + + * src/type42/t42parse.c (t42_parse_sfnts): Always set + `face->ttf_size' directly. This ensures a correct stream size in + the call to `FT_Open_Face', which follows after parsing, even for + buggy input data. + Fix error messages. + +2014-11-22 Werner Lemberg <wl@gnu.org> + + [cff] Fix Savannah bug #43658. + + * src/cff/cf2ft.c (cf2_builder_lineTo, cf2_builder_cubeTo): Handle + return values of point allocation routines. + +2014-11-22 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43656. + + * src/sfnt/ttcmap.c (tt_cmap4_validate): Fix order of validity + tests. + +2014-11-21 Werner Lemberg <wl@gnu.org> + + [type1, type42] Fix Savannah bug #43655. + + * src/type1/t1load.c (parse_charstrings), src/type42/t42parse.c + (t42_parse_charstrings): Fix boundary testing. + +2014-11-21 Werner Lemberg <wl@gnu.org> + + * src/pcf/pcfread.c (pcf_get_metrics): Sanitize invalid metrics. + +2014-11-21 Werner Lemberg <wl@gnu.org> + + [ftlcdfil] Obey flow direction. + + * src/base/ftlcdfil.c (_ft_lcd_filter_fir, _ft_lcd_filter_legacy): + Handle `up' flow. + +2014-11-21 Werner Lemberg <wl@gnu.org> + + * src/base/ftbitmap.c (FT_Bitmap_Convert): Improve. + + This commit completes argument checks and adds support for different + flow directions. + +2014-11-21 Werner Lemberg <wl@gnu.org> + + * src/base/ftbitmap.c (FT_Bitmap_Copy): Improve. + + This commit adds argument checks and support for different flow + directions. + +2014-11-20 Werner Lemberg <wl@gnu.org> + + * src/base/ftbitmap.c (FT_Bitmap_New): Check argument. + +2014-11-19 Werner Lemberg <wl@gnu.org> + + Change some fields in `FT_Bitmap' to unsigned type. + + This doesn't break ABI. + + * include/ftimage.h (FT_Bitmap): Make `rows', `width', `num_grays', + `pixel_mode', and `palette_mode' unsigned types. + + * src/base/ftbitmap.c: Updated. + (FT_Bitmap_Copy): Fix casts. + + * src/cache/ftcsbits.c, src/raster/ftraster.c, src/sfnt/pngshim.c: + Updated. + +2014-11-19 Werner Lemberg <wl@gnu.org> + + Make `FT_Bitmap_Convert' correctly handle negative `pitch' values. + + * src/base/ftbitmap.c (FT_Bitmap_Convert): Always use positive value + for the pitch while copying data. + Correctly set pitch sign in target bitmap. + +2014-11-19 Werner Lemberg <wl@gnu.org> + + Minor code improvement in `FT_Bitmap_Embolden'. + + * src/base/ftbitmap.c (FT_Bitmap_Embolden) <FT_PIXEL_MODE_GRAY[24]>: + Fix thinko. + +2014-11-19 Alexei Podtelezhnikov <apodtele@gmail.com> + + * src/base/fttrigon.c: Use dedicated `FT_Angle' for arctan table. + +2014-11-19 Behdad Esfahbod <behdad@behdad.org> + + Avoid compiler warnings on x86-64 for `FT_MulFix'. + + `FT_MulFix' takes `FT_Long' parameters as defined in `freetype.h', + but several inline implementations of it in `ftcalc.h' take + `FT_Int32' arguments. This is causing compiler warnings on x86-64: + If parameters of type `FT_Fixed' (= `FT_Long') are passed to the + inline implementation of this function, integer values are truncated + from 64bit to 32bit. + + * include/internal/ftcalc.h (FT_MulFix) [FT_MULFIX_ASSEMBLER]: Add + casts. + +2014-11-15 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43597. + + * src/sfnt/pngshim.c (Load_SBit_Png): Protect against too large + bitmaps. + +2014-11-12 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43591. + + * src/sfnt/ttsbit.c (tt_sbit_decoder_init): Protect against addition + and multiplication overflow. + +2014-11-12 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43590. + + * src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): + Protect against addition overflow. + +2014-11-12 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43589. + + * src/sfnt/sfobjs.c (woff_open_font): Protect against addition + overflow. + +2014-11-12 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43588. + + * src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate, + tt_cmap12_validate, tt_cmap13_validate, tt_cmap14_validate): Protect + against overflow in additions and multiplications. + +2014-11-10 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] CORDIC improvements. + + The scaling between the hypotenuse and its CORDIC approximation is + based on regression analysis. The smaller padding for `theta' is + justifed by its maximum error of less than 6. + + * src/base/fttrigon.c (ft_trig_downscale): Borrow code from + ./ftcalc.c (ft_multo64), change linear intercept. + (ft_trig_pseudo_polarize): Decrease `theta' padding. + +2014-11-09 Werner Lemberg <wl@gnu.org> + + * src/base/ftstroke.c (ft_stroker_inside): Fix border intersections. + + One more place to check whether `radius' is zero. + + Problem reported by Marco Wertz <marco.wertz@gmx.de>. + +2014-11-07 Werner Lemberg <wl@gnu.org> + + [bdf] Fix Savannah bug #43535. + + * src/bdf/bdflib.c (_bdf_strncmp): New macro that checks one + character more than `strncmp'. + s/ft_strncmp/_bdf_strncmp/ everywhere. + +2014-11-06 Werner Lemberg <wl@gnu.org> + + [pcf] Fix Savannah bug #43548. + + * src/pcf/pcfread.c (pcf_get_encodings): Add sanity checks for row + and column values. + +2014-11-06 Werner Lemberg <wl@gnu.org> + + [pcf] Fix Savannah bug #43547. + + * src/pcf/pcfread.c (pcf_read_TOC): Check `size' and `offset' + values. + +2014-11-06 Werner Lemberg <wl@gnu.org> + + * src/pcf/pcfread.c (pcf_read_TOC): Avoid memory leak. + +2014-11-03 Infinality <infinality@infinality.net> + + * src/truetype/ttsubpix.c (COMPATIBILITY_MODE_Rules): Updated. + + The previous commit deteriorates rendering of DejaVu and similar + fonts; this gets compensated with this rule. + +2014-11-03 Werner Lemberg <wl@gnu.org> + + * src/truetype/ttinterp.c (Ins_DELTAP): Fix subpixel hinting. + + Before this patch, it was impossible to ever call DELTAP[123] in + subpixel hinting mode as described in the ClearType whitepaper; it + only worked if in `compatibility mode'. However, compatibility mode + essentially disables SHPIX, completely ruining hinting of + ttfautohint output, for example. + + We now follow the whitepaper more closely so that DELTAP[123] + instructions for touched points in the non-subpixel direction are + executed. + +2014-10-31 Alexei Podtelezhnikov <apodtele@gmail.com> + + [smooth] Improve code readability. + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code. + +2014-10-31 Alexei Podtelezhnikov <apodtele@gmail.com> + + [smooth] Reduce outline translations during rendering. + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Translate origin + virtually by modifying cbox, actually translate outline if cumulative + shift is not zero. + +2014-10-30 Alexei Podtelezhnikov <apodtele@gmail.com> + + [smooth] Fix Savannah bug #35604 (cont'd). + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove checks and + casts that became unnecessary after the variable type upgrades. + +2014-10-29 Alexei Podtelezhnikov <apodtele@gmail.com> + + [smooth] Improve code readability. + + * src/smooth/ftsmooth.c (ft_smooth_render_generic): Rearrange code. + +2014-10-29 Alexei Podtelezhnikov <apodtele@gmail.com> + + Unify hypotenuse approximations. + + * include/internal/ftcalc.h (FT_HYPOT): Move macro from here... + * include/internal/ftobjs.h: ... to here, next to required `FT_ABS'. + * src/smooth/ftgrays.c (gray_render_cubic): Use it here. + +2014-10-25 Werner Lemberg <wl@gnu.org> + + [cff] Test valid darkening parameter macros in `ftoption.h'. + + We no longer need an otherwise unused typedef that can cause a gcc + warning. + Problem reported by Alexei. + + * src/cff/cffobjs.c (cff_driver_init): Use + `CFF_CONFIG_OPTION_DARKENING_PARAMETER_XXX' macros directly. + (SET_DARKENING_PARAMETERS): Removed. + Compile time tests are now ... + + * devel/ftoption.h, include/config/ftoption.h: ... here. + +2014-10-25 Alexei Podtelezhnikov <apodtele@gmail.com> + + Improve flat corner definition. + + * include/internal/ftcalc.h (FT_HYPOT): Macro to approximate Euclidean + distance with the alpha max plus beta min algorithm. + * src/base/ftcalc.c (ft_corner_is_flat): Use it instead of Taxicab + metric. + +2014-10-23 David Weiß <David.Weiss@ptvgroup.com> + + [build] Improve property file for vc2010. + + User-defined properties should be empty by default to prevent linker + failures. + + * builds/windows/vc2010/freetype.user.props, + builds/windows/vc2010/freetype.vcxproj: + s/OptionsDirectory/UserOptionDirectory/. + Comment out all user options. + +2014-10-23 Werner Lemberg <wl@gnu.org> + + [cff] Work around bug in preprocessor of MSVC 2010. + + We have been hit by + + https://connect.microsoft.com/VisualStudio/feedback/details/718976/msvc-pr + + * devel/ftoption.h, include/config/ftoption.h: Replace + `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' with eight macros + `CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4}'. + + * src/cff/cffobjs.c (SET_DARKENING_PARAMETERS): Removed. We no + longer need double expansion. + (SET_DARKENING_PARAMETERS_0): Renamed to ... + (SET_DARKENING_PARAMETERS): ... this. + Update call. + +2014-10-20 Werner Lemberg <wl@gnu.org> + + [sbit] Minor fixes. + + * src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]: + Accept overlay format also, but emit warning message in that case. + (tt_sbit_decoder_load_metrics): Add missing newline to error + message. + (tt_sbit_load_sbix_image): Add `rgbl' graphic type (as used on iOS + 7.1) to the list of unsupported formats. + +2014-10-19 Alexei Podtelezhnikov <apodtele@gmail.com> + + [truetype] Clean up bytecode rounding. + + Zero distance does not have to be treated specially if you follow + specifications and check the sign as the very last step of rounding. + + * src/truetype/ttinterp.c (Round_None, Round_To_Grid, + Round_Down_To_Grid, Round_Up_To_Grid, Round_To_Double_Grid): Use + macros when available, do not check for non-zero distance. + (Round_To_Half_Grid, Round_Super, Round_Super_45): Ditto, return phase + if sign changed. + +2014-10-18 Alexei Podtelezhnikov <apodtele@gmail.com> + + [truetype] Unwrap engine compensation settings. + + * src/truetype/ttobjs.c (tt_size_init_bytecode): Updated. + +2014-10-18 David Weiß <David.Weiss@ptvgroup.com> + + [build] Add property file to vc2010 project. + + This simplifies custom build configurations, especially for + automated build environments. + + * builds/windows/vc2010/freetype.user.props: New configuration file. + + * builds/windows/vc2010/freetype.vcxproj: Include + `freetype.user.props' and use its data fields. + + * builds/windows/vc2010/index.html: Updated. + +2014-10-18 Werner Lemberg <wl@gnu.org> + + [autofit] Add blue-zone support for Telugu. + + This essentially moves the Telugu script from the `Indic' hinter to + the `Latin' hinter. + + Note that this is a first shot and quite certainly needs + refinements. + + * src/autofit/afblue.dat: Add blue zone data for Telugu. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afscript.h: Add Telugu standard characters and move + data out of AF_CONFIG_OPTION_INDIC block. + + * src/autofit/afranges.c: Move Telugu data out of + AF_CONFIG_OPTION_INDIC block. + + * src/autofit/afstyles.h: Update Telugu data; in particular, use + AF_WRITING_SYSTEM_LATIN. + +2014-10-18 David Wimsey <david@wimsey.us> + + [cmake] Add iOS build support. + From Savannah patch #8497. + + * builds/cmake/iOS.cmake: New file. Universal binaries are built + with both 32 and 64 bit arm architectures. + + * CMakeLists.txt (IOS_PLATFORM): New variable for running the iOS + toolchain. Possible values are `OS' to build on iOS, or + `SIMULATOR' to build on APPLE. + +2014-10-16 Behdad Esfahbod <behdad@behdad.org> + Werner Lemberg <wl@gnu.org> + + [cff] Add `CFF_CONFIG_OPTION_DARKENING_PARAMETERS' config macro. + + * devel/ftoption.h, include/config/ftoption.h + (CFF_CONFIG_OPTION_DARKENING_PARAMETERS): New macro. + + * src/cff/cffobjs.c (SET_DARKENING_PARAMETERS, + SET_DARKENING_PARAMETERS_0): New macros. + (cff_driver_init): Use new macros. + +2014-10-14 Alexei Podtelezhnikov <apodtele@gmail.com> + + [truetype] Limit delta shift range. + + The valid range for delta shift is zero through six. Negative values + are invalid according to + + https://developer.apple.com/fonts/TrueType-Reference-Manual/RM04/Chap4.html#delta%20shift + + * src/truetype/ttobjs.h (delta_shift, delta_base): Make unsigned. + * src/truetype/ttinterp.h (DO_SDS): Throw an error if `delta_shift' + is out of range. + (Ins_DELTAP, Ins_DELTAC): Optimize for valid `delta_shift'. + +2014-10-16 Werner Lemberg <wl@gnu.org> + + A better fix for Savannah bug #43392. + Suggested by Doug Felt <dougfelt@gmail.com>. + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Set + `vertAdvance' to zero... + + * src/truetype/ttgload.c (TT_Load_Glyph): ... and set here a default + value for `vertAdvance' based on `linearVertAdvance' in case + `vertAdvance' is zero. Note that the previous computed ad-hoc value + for `linearVertAdvance' was apparently not tested in a real-life + situation. + +2014-10-14 David Weiß <David.Weiss@ptvgroup.com> + + [build] Better optimization settings for vc2010 solution file. + + * builds/windows/vc2010/freetype.sln, + builds/windows/vc2010/freetype.vcxproj: Updated. + +2014-10-14 Werner Lemberg <wl@gnu.org> + + [autofit] Adjust Devenagari character range. + + * src/autofit/afranges.c (af_deva_uniranges): Omit characters that + are common to all other Indic scripts. + +2014-10-12 Werner Lemberg <wl@gnu.org> + + [sfnt] Fix Savannah bug #43392. + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics): Don't let + vertical metrics uninitialized. + +2014-10-11 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Small bbox correction. + + * src/base/ftbbox.c (FT_Outline_Get_BBox): Start from nonsense bbox + instead of initial point that could be `off' in conic outlines. + +2014-10-08 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Fix Savannah bug #43356. + + * src/base/ftbbox.c (BBox_Move_To, BBox_Conic_To): Update bbox in case + of implicit `to'. + (BBox_Line_To): New emitter that does not update bbox. + +2014-10-08 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Introduce and use new macro `FT_UPDATE_BBOX' + + * src/base/ftbbox.c (FT_UPDATE_BBOX): New macro. + (FT_Outline_Get_BBox): Use it here. + +2014-10-02 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Significant optimization of `ft_div64by32' + + We shift as many bits as we can into the high register, perform + 32-bit division with modulo there, then work through the remaining + bits with long division. This optimization is especially noticeable + for smaller dividends that barely use the high register. + + * src/base/ftcalc.c (ft_div64by32): Updated. + +2014-10-02 Dave Arnold <darnold@adobe.com> + + [cff] Fix Savannah bug #43271. + + * src/cff/cf2font.c (cf2_computeDarkening): Change overflow + detection to use logarithms and clamp `scaledStem'. + +2014-10-01 Alexei Podtelezhnikov <apodtele@gmail.com> + + * src/base/ftcalc.c: Remove miscellaneous type casts. + +2014-10-01 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Use more common `FT_MSB' implementation with masks. + + * src/base/ftcalc.c (FT_MSB): Updated. + +2014-09-30 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Clean up. + + * src/base/ftcalc.c (FT_MOVE_SIGN): New macro for frequently used + code. + +2014-09-25 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Avoid unnecessary long division. + + This applies to `FT_MulDiv' but not to `FT_DivFix', where overflows or + lack thereof are predicted accurately. + + * src/base/ftcalc.c (ft_div64by32): Improve readability. + (FT_MulDiv, FT_MulDiv_No_Round) [!FT_LONG64]: Use straight division + when multiplication stayed within 32 bits. + +2014-09-24 Werner Lemberg <wl@gnu.org> + + [autofit] Minor clean-ups. + + * src/autofit/afhints.c (AF_FLAGS): Remove obsolete values. + + * src/autofit/afhints.c (af_glyph_hints_dump_points, + af_glyph_hints_align_strong_points): Updated. + + * src/autofit/aflatin.c (af_latin_hints_link_segments, + af_latin_hints_compute_segments), src/autofit/afcjk.c + (af_cjk_hints_link_segments), src/autofit/aflatin2.c + (af_latin2_hints_link_segments, af_latin2_hints_compute_segments): + There are no longer fake segments since more than 10 years... + +2014-09-22 Werner Lemberg <wl@gnu.org> + + [autofit] Minor code streamlining. + + * src/autofit/afhints.c (af_axis_hints_new_edge): Remove redundant + initialization. + +2014-09-19 Alexei Podtelezhnikov <apodtele@gmail.com> + + * src/base/ftcalc.c: Harmonize code. + +2014-09-15 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Tighten the overflow check in `FT_MulDiv'. + + * src/base/ftcalc.c (FT_MulDiv) [!FT_LONG64]: Updated. + +2014-09-08 Alexei Podtelezhnikov <apodtele@gmail.com> + + Fix Savannah bug #43153. + + * src/psaux/psconv.c (PS_Conv_ToFixed): Add protection against + overflow in `divider'. + +2014-09-03 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Tighten the overflow check in `FT_DivFix'. + + This fixes a 13-year old bug. The original overflow check should have + been updated when rounding was introduced into this function + (c2cd00443b). + + * src/base/ftcalc.c (FT_DivFix) [!FT_LONG64]: Updated. + * include/freetype.h (FT_DivFix): Updated documentation. + +2014-09-03 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Tighten the overflow check in `FT_MulFix'. + + * src/base/ftcalc.c (FT_MulFix) [!FT_LONG64]: Updated. + +2014-09-02 Alexei Podtelezhnikov <apodtele@gmail.com> + + [truetype] Shortcut ppem calculations for square pixels. + + * src/truetype/ttinterp.h (TT_ExecContextRec): New field + `cur_ppem_func' with a function pointer. + * src/truetype/ttinterp.c (TT_RunIns): Initialize `cur_ppem_func' + depending on the pixel geometry to either... + (Current_Ppem_Stretched): ... this for stretched pixels. + (Current_Ppem): ... or this for square pixels. + (DO_MPPEM, DO_MPS, Ins_DELTAP, Ins_DELTAC): Use `cur_ppem_func'. + +2014-08-31 Behdad Esfahbod <behdad@behdad.org> + + Don't use `register' keyword. Fixes compiler warnings. + + * src/base/ftcalc.c (FT_Add64) [!FT_LONG64]: Do it. + * src/gzip/inftrees.c (huft_build): Ditto. + * src/truetype/ttinterp.c (TT_MulFix14_arm): Ditto. + +2014-08-24 Alexei Podtelezhnikov <apodtele@gmail.com> + + [truetype] Optimize DELTAP and DELTAC. + + * src/truetype/ttinterp.c (Ins_DELTAP, Ins_DELTAC): Move ppem + calculations outside of the loop. + +2014-08-21 Alexei Podtelezhnikov <apodtele@gmail.com> + + Fix Savannah bug #43033. + + * include/config/ftconfig.h, builds/unix/ftconfig.in, + builds/vms/ftconfig.h [FT_LONG64]: Do not disable the macro when + 64-bit type is `long'. + +2014-08-20 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Small optimization of `FT_MulFix'. + + * src/base/ftcalc.c (FT_MulFix): Loosen up the condition for direct + 32-bit calculations. + +2014-08-19 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Use unsigned calculation in `FT_MulDiv'. + + * src/base/ftcalc.c (FT_MulDiv): Updated to expand 32-bit range. + +2014-08-18 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Remove truncation in `FT_DivFix'. + + * src/base/ftcalc.c (FT_DivFix): Updated. + +2014-08-14 Alexei Podtelezhnikov <apodtele@gmail.com> + + Minor refactoring. + + * src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Updated. + +2014-08-14 Alexei Podtelezhnikov <apodtele@gmail.com> + + Turn FT_MSB into a macro when using gcc builtins. + + * src/base/ftcalc.c, include/internal/ftcalc.h: Updated. + +2014-08-12 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Avoid undefined FT_MSB in `BBox_Cubic_Check'. + + * src/base/ftbbox.c (BBox_Cubic_Check): Update. + (update_cubic_max): Repalce with... + (cubic_peak): ... this, which now handles upscaling. + +2014-08-11 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Handle collapsed outlines to avoid undefined FT_MSB. + + * src/base/ftoutln.c (FT_Outline_Get_Orientation): Update. + +2014-08-11 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Restore FT_MulFix inlining. + + * include/freetype.h (FT_MulFix): Unconditionally defined. + + * src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: Move code from here... + + * include/internal/ftcalc.h [FT_MULFIX_ASSEMBLER]: ... to here, + which conditionally replaces the function with an inline version + through the macro. + +2014-08-08 Alexei Podtelezhnikov <apodtele@gmail.com> + + * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Refactor. + +2014-07-26 Werner Lemberg <wl@gnu.org> + + [cff] Fix typo. + + * src/cff/cf2hints.c (cf2_glyphpath_computeOffset): Use correct + offsets in third quadrant. + + Reported by maks <maksqwe1@ukr.net>. + +2014-07-17 Werner Lemberg <wl@gnu.org> + + Fix Savannah bug #42788. + + * src/pfr/pfrobjs.c: Include `ftcalc.h'. + +2014-07-16 Alexei Podtelezhnikov <apodtele@gmail.com> + + Replace `ft_highpow2' function. + + * src/pfr/pfrobjs.c (pfr_face_get_kerning): Use `FT_MSB' instead of + `ft_highpow2'. + + * src/base/ftutil.c, include/internal/ftobjs.h (ft_highpow2): Remove + it. + +2014-07-15 Alexei Podtelezhnikov <apodtele@gmail.com> + + * src/base/ftcalc.c (FT_MSB): Utilize gcc builtins. + +2014-07-15 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Move assembler code back in the source file. + + FT_MulFix assembler used to reside in ftcalc.c before f47d263f1b. + + * include/config/ftconfig.h, builds/unix/ftconfig.in, + builds/vms/ftconfig.h [FT_MULFIX_ASSEMBLER]: Move code from here... + + * src/base/ftcalc.c [FT_MULFIX_ASSEMBLER]: ... to here. + +2014-07-14 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Further clean up color bitmap conversion. + + * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Stop + using FT_MulFix and FT_DivFix since all calculations fit into 32 bits. + +2014-07-13 Werner Lemberg <wl@gnu.org> + + [truetype] Improve handling of buggy `prep' tables. + + In case of an error in the `prep' table, no longer try to execute it + again and again. This makes FreeType handle endless loops in buggy + fonts much faster. + + * src/truetype/ttobjs.h (TT_SizeRec): The fields `bytecode_ready' + and `cvt_ready' are now negative if not initialized yet, otherwise + they indicate the error code of the last run. + + * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep, + tt_size_done_bytecode, tt_size_init_bytecode, + tt_size_ready_bytecode, tt_size_init, tt_size_done, tt_size_reset): + Updated. + + * src/truetype/ttgload.c (tt_loader_init): Updated. + * src/truetype/ttinterp.c (TT_RunIns): Force reexecution of `fpgm' + and `prep' only if we are in the `glyf' table. + +2014-07-12 Werner Lemberg <wl@gnu.org> + + * builds/vms/ftconfig.h: Synchronize. + Problem reported by Alexei. + +2014-07-11 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Clean up bitmap conversion. + + * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use + appropriate FT_DivFix and remove superfluous upscaling. + +2014-07-04 Alexei Podtelezhnikov <apodtele@gmail.com> + + [base] Small optimization of the ancient code. + + * src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round): Loosen up the + condition for direct 32-bit calculations. + +2014-06-27 Werner Lemberg <wl@gnu.org> + + Fix Apple standard glyph names. + + * src/sfnt/ttpost.c (tt_post_default_names): Synchronize with + `tools/glnames.py' + + Problem reported by Adam Twardoch <adam@fontlab.com>. + +2014-06-17 Werner Lemberg <wl@gnu.org> + + Partially revert commit from 2014-06-13. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Move + declaration of `p_first' and `p_last' out of the loop. + +2014-06-17 Werner Lemberg <wl@gnu.org> + + * builds/unix/freetype2.m4: s/AC_PATH_PROG/AC_PATH_TOOL/. + + This simplifies cross-compiling. + +2014-06-13 Werner Lemberg <wl@gnu.org> + + Fix more compiler warnings. + Reported by Wojciech Mamrak <wmamrak@gmail.com>. + + * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): + Make integer constant unsigned. + + * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) + <TT_SBIT_TABLE_TYPE_SBIX>: Fix types. + (tt_sbit_decoder_load_compound, tt_face_load_sbix_image): Add proper + casts. + +2014-06-13 Werner Lemberg <wl@gnu.org> + + Fix compiler warnings. + Reported by Wojciech Mamrak <wmamrak@gmail.com>. + + * src/autofit/afglobal.c (af_face_globals_compute_style_coverage), + src/autofit/afmodule.c (af_property_set): Fix `signed' vs. + `unsigned' issues. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Make compiler + happy. + + * src/base/ftlcdfil.c (_ft_lcd_filter_fir): Use only four elements + for `fir'. + Fix `signed' vs. `unsigned' issues. + + * src/sfnt/sfobjs.c (WRITE_BYTE): Removed, unused. + (WRITE_USHORT, WRITE_ULONG): Add proper casts. + + * src/truetype/ttgload.c (TT_Get_VMetrics): Add proper casts. + + * src/truetype/ttinterp.c (Ins_DELTAP): Add proper casts for `B1' + and `B2'. + +2014-05-16 Alexey Petruchik <alexey.petruchik@gmail.com> + + [cmake] Add option to build OS X framework. + + * CMakeLists.txt: Update accordingly. + + * builds/mac/freetype-Info.plist: New file. + +2014-05-13 Pavel Koshevoy <pkoshevoy@gmail.com> + + * CMakeLists.txt (BASE_SRCS): Add missing `ftbdf.c'. + +2014-05-11 Werner Lemberg <wl@gnu.org> + + [autofit] Fix variable initializations. + + * src/autofit/afhints.c (af_glyph_hints_reload): Assign default + values to `in_dir' and `out_dir' for all points. + +2014-05-11 Werner Lemberg <wl@gnu.org> + + [autofit] Fix crash with font `CabinSketch-Bold.ttf'. + + Problem reported by Ralf S. Engelschall <rse@engelschall.com>. + + * src/autofit/afhints.c (af_glyph_hints_reload): Fix threshold for + finding first non-near point. + Properly initialize non-near point deltas. + +2014-05-01 Werner Lemberg <wl@gnu.org> + + [autofit] Add blue-zone support for Devanagari. + + This essentially moves the Devanagari script from the `Indic' hinter + to the `Latin' hinter. Thanks to Girish Dalvi + <girish.dalvi@gmail.com> for guidance with blue zone characters! + + * src/autofit/afblue.dat: Add blue zone data for Devanagari. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afscript.h: Add Devanagari standard characters and + move data out of AF_CONFIG_OPTION_INDIC block. + + * src/autofit/afranges.c: Move Devanagari data out of + AF_CONFIG_OPTION_INDIC block. + Move U+20B9, (new) Rupee sign, from Latin to Devanagari. + + * src/autofit/afstyles.h: Update Devanagari data; in particular, use + AF_WRITING_SYSTEM_LATIN. + +2014-05-01 Werner Lemberg <wl@gnu.org> + + [autofit] Fix handling of neutral blue zones in stems. + + * src/autofit/afhints.h (AF_Edge_Flags): New value + `AF_EDGE_NEUTRAL'. + + * src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Trace + neutral blue zones with AF_EDGE_NEUTRAL. + (af_latin_hint_edges): Skip neutral blue zones if necessary. + +2014-04-28 Werner Lemberg <wl@gnu.org> + + [autofit] Introduce neutral blue zones to the latin module. + + Such blue zones match either the top or the bottom of a contour. We + need them for scripts where accent-like elements directly touch the + base character (for example, some vowel signs in Devanagari, cf. + U+0913 or U+0914). + + * src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_NEUTRAL): New + property. + + * src/autofit/afblue.h: Regenerated. + + * src/autofit/aflatin.h (AF_LATIN_IS_NEUTRAL_BLUE): New macro. + (AF_LATIN_BLUE_NEUTRAL): New enumeration value. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues, + af_latin_hints_compute_blue_edges): Handle neutral blue zones. + +2014-04-25 Werner Lemberg <wl@gnu.org> + + * src/autofit/hbshim.c: Partially revert commit from 2014-04-17. + + Using input glyph coverage data is simply wrong. + + Problem reported by Nikolaus Waxweiler <madigens@gmail.com> and + Mantas Mikulėnas <grawity@gmail.com>. + +2014-04-23 Werner Lemberg <wl@gnu.org> + + * src/raster/ftraster.c (Vertical_Sweep_Span): Use drop-out mode. + + This spot has been missed while introducing support for various + drop-out modes years ago (including no drop-out mode, which this + commit fixes). + + Problem reported by Patrick Thomas <pthomas505@gmail.com>. + +2014-04-22 Werner Lemberg <wl@gnu.org> + + * src/sfnt/pngshim.c (error_callback): s/longjmp/ft_longjmp/. + +2014-04-20 Werner Lemberg <wl@gnu.org> + + [autofit] Fix Savannah bug #42148. + + The adaptation of the cjk auto-hinter module to blue stringsets in + 2013-08-25 had three severe bugs. Mea culpa. + + 1. Contrary to the latin auto-hinter, characters for reference and + overshoot values of a blue zone are specified separately. Due to + the screwed-up change it didn't work at all. + + 2. A boolean comparison was erroneously replaced with a cast, + causing invalid results with the `^' operator later on. The + visual artifact caused by this problem is the topic of the bug + report. + + 3. Two flag values were inverted, causing incorrect assignment of + reference and overshoot values. + + * src/autofit/afblue.dat: Fix CJK bluestrings, introducing a new + syntax to have both reference and overshoot characters in a single + string. This is error #1. + Add extensive comments. + + * src/autofit/afblue.hin (AF_BLUE_PROPERTY_CJK_FILL): Removed, no + longer used. + (AF_BLUE_PROPERTY_CJK_TOP, AF_BLUE_PROPERTY_CJK_HORIZ): Fix values. + This is error #3. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afcjk.c (af_cjk_metrics_init_blues): Correct error #1. + Use character `|' to separate characters for reference and overshoot + values. + Improve tracing messages, synchronizing them with the latin + auto-hinter. + (af_cjk_hints_compute_blue_edges): Fix value of `is_top_right_blue'. + This is error #2. + (af_cjk_align_linked_edge): Add tracing message. + + * src/autofit/afcjk.h (AF_CJK_IS_FILLED_BLUE): Removed, no longer + used. + +2014-04-17 Werner Lemberg <wl@gnu.org> + + [autofit] More coverage fixes for complex scripts. + + * src/autofit/hbshim.c (af_get_coverage): Merge input glyph coverage + of GSUB lookups into output coverage. Otherwise, ligatures are not + handled properly. + Don't check blue zone characters for default coverage. + +2014-04-17 Werner Lemberg <wl@gnu.org> + + Make `FT_Get_SubGlyph_Info' actually work. + + * src/base/ftobjs.c (FT_Get_SubGlyph_Info): Return FT_Err_Ok + if there is no error. + +2014-04-15 Werner Lemberg <wl@gnu.org> + + [afblue.pl]: Minor improvements. + + * src/tools/afblue.pl: Allow whitespace before comments. + Ignore whitespace in strings. + +2014-04-14 Werner Lemberg <wl@gnu.org> + + [autofit] Improve coverage handling. + + * src/autofit/hbshim.c (af_get_coverage): Don't exclude glyphs + appearing in the GPOS table if we are processing the default + coverage. + +2014-04-13 David Weber <weber.aulendorf@googlemail.com> + + [smooth] Fix stand-alone compilation. + + * src/smooth/ftgrays.c (FT_BEGIN_STMNT, FT_END_STMNT): Define. + +2014-04-12 Werner Lemberg <wl@gnu.org> + + [autofit] Redesign the recognition algorithm of strong points. + + In particular, local extrema without horizontal or vertical segments + are better recognized: + + + A + D + \ / + \ / + \ / + \ / + \ + C + \ / + B +/ + + If the distances AB and CD are large, point B wasn't previously + detected as an extremum since the `ft_corner_is_flat' function + `swallowed' BC regardless of its direction, tagging point B as weak. + The next iteration started at B and made `ft_corner_is_flat' swallow + point C, tagging it as weak also, et voilà. + + To improve that, another pass gets now performed before calling + `ft_corner_is_flat' to improve the `topology' of an outline: A + sequence of non-horizontal or non-vertical vectors that point into + the same quadrant are handled as a single, large vector. + + Additionally, distances of near points are now accumulated, which + makes the auto-hinter handle them as if they were prepended to the + next non-near vector. + + This generally improves the auto-hinter's rendering results. + + * src/autofit/afhints.c (af_glyph_hints_reload): Implement it. + + * src/autofit/afhints.h (AF_FLAGS): Remove no longer used flag + `AF_FLAG_NEAR'. + +2014-04-05 Werner Lemberg <wl@gnu.org> + + [autofit] Improve scoring algorithm for identifying stems. + + Problem reported by Karsten Lücke <karsten.luecke@kltf.de>. + + The new algorithm takes care of the width of stems: If the distance + between two segments is larger than the largest stem width, the + demerits quickly increase for larger distances. This improves + hinting of slanted fonts (especially if the inner parts of serifs + have non-horizontal `shoulders'), avoiding false stem links. + + * src/autofit/aflatin.c (af_latin_hints_link_segments): Use largest + stem width (if available) to compute better demerits for distances + between stems. + (af_latin_hints_detect_features): Pass stem width array and array + size. + (af_latin_metrics_init_widths): Updated to use original algorithm. + (af_latin_hints_apply): Updated to use new algorithm. + + * src/autofit/aflatin.h: Updated. + * src/autofit/afcjk.c: Updated. + +2014-04-03 Werner Lemberg <wl@gnu.org> + + Don't require `gzip' module for `sfnt'. + + Reported by Preet <prismatic.project@gmail.com>. + + * src/sfnt/sfobjs.c (woff_open_font): Guard use of + FT_Gzip_Uncompress with FT_CONFIG_OPTION_USE_ZLIB. + +2014-03-27 Werner Lemberg <wl@gnu.org> + + Fix Savannah bug #38235. + + Work around a bug in pkg-config version 0.28 and earlier: If a + variable value gets surrounded by doublequotes (in particular values + for the `prefix' variable), the prefix override mechanism fails. + + * builds/unix/freetype2.in: Don't use doublequotes. + * builds/unix/unix-def.in (freetype.pc): Escape spaces in directory + names with backslashes. + +2014-03-24 Werner Lemberg <wl@gnu.org> + + Fix Savannah bug #41946. + + Based on a patch from Marek Kašík <mkasik@redhat.com>. + + * builds/unix/configure.raw (LIBS_CONFIG): Remove. + * builds/unix/freetype-config.in (libs): Hard-code value. + * builds/unix/unix-def.in: Updated. + +2014-03-22 Werner Lemberg <wl@gnu.org> + + Another revert for the change from 2014-03-18. + + Problem reported by Nikolaus Waxweiler <madigens@gmail.com>. + + * src/base/ftcalc.c (FT_MulFix): Ensure that an `FT_MulFix' symbol + gets always exported. + +2014-03-20 Werner Lemberg <wl@gnu.org> + + CMakeLists.txt: Another fix for include directories. + + Problem reported by Taylor Holberton <taylorcholberton@gmail.com>. + +2014-03-19 Werner Lemberg <wl@gnu.org> + + CMakeLists.txt: Fix include directories. + + Problem reported by Taylor Holberton <taylorcholberton@gmail.com>. + +2014-03-19 Werner Lemberg <wl@gnu.org> + + Partially revert last commit. + + Found by Alexei. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initializing + those variables is plain wrong, since we are in a loop. + +2014-03-18 Sean McBride <sean@rogue-research.com> + Werner Lemberg <wl@gnu.org> + + Fix clang warnings. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize + some variables. + + * src/base/ftcalc.c (FT_MulFix): Only use code if + `FT_MULFIX_INLINED' is not defined. + + * src/bdf/bdfdrivr.c (bdf_cmap_class), src/cache/ftcbasic.c + (ftc_basic_image_family_class, ftc_basic_image_cache_class, + ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class), + src/cache/ftccmap.c (ftc_cmap_cache_class), src/cache/ftcmanag.c + (ftc_size_list_class, ftc_face_list_class), src/pcf/pcfdrivr.c + (pcf_cmap_class), src/pfr/pfrdrivr.c (pfr_metrics_service_rec): Make + function static. + + * src/type1/t1driver.c (t1_ps_get_font_value): Remove redundant + code. + +2014-03-17 Werner Lemberg <wl@gnu.org> + + Fix Savannah bug #41869. + + This works around a problem with HarfBuzz (<= 0.9.26), which doesn't + validate glyph indices returned by + `hb_ot_layout_lookup_collect_glyphs'. + + * src/autofit/hbshim.c (af_get_coverage): Guard `idx'. + + * docs/CHANGES: Updated. + +2014-03-14 Werner Lemberg <wl@gnu.org> + + * builds/unix/configure.raw: Don't show error messages of `which'. + +2014-03-09 Alan Coopersmith <alan.coopersmith@oracle.com> + + Fix cppcheck 1.64 warning. + + * src/autofit/afglobal.c (af_face_globals_new): Catch NULL pointer + dereference in case of error. + +2014-03-09 Sean McBride <sean@rogue-research.com> + + * src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove clang warning. + 2014-03-06 Werner Lemberg <wl@gnu.org> * Version 2.5.3 released. @@ -106,7 +1903,7 @@ option. (libs): Updated. (staticlibs): New variable, to be used if `--static' is given. - * builds/doc/freetype-config.1: Document `--static'. + * docs/freetype-config.1: Document `--static'. * builds/unix/freetype2.in, builds/unix/unix-def.in: Updated. diff --git a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.20 b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.20 index 8fcc5e70ab4..8fcc5e70ab4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.20 +++ b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.20 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.21 b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.21 index d6371d17583..300a094f203 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.21 +++ b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.21 @@ -6260,7 +6260,7 @@ Adding a new API `FT_Get_BDF_Property' to retrieve the BDF properties of a given PCF or BDF font. - * include/freetype/ftbdf.h (FT_PropertyType): New enumeration. + * include/freetype/ftbdf.h (BDF_PropertyType): New enumeration. (BDF_Property, BDF_PropertyRec): New structure. FT_Get_BDF_Property): New function. * include/freetype/internal/bdftypes.h: Include FT_BDF_H. diff --git a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.22 b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.22 index 4144288a5bf..4144288a5bf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.22 +++ b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.22 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.23 b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.23 index 1a23848f88a..1a23848f88a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.23 +++ b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.23 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.24 b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.24 index 01eb3b75f72..01eb3b75f72 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/ChangeLog.24 +++ b/Build/source/libs/freetype2/freetype-2.5.4/ChangeLog.24 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/Jamfile index 61e64b54324..abaf817ca15 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/Jamfile @@ -195,7 +195,7 @@ rule RefDoc actions RefDoc { - python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.5.3 --output=$(DOC_DIR) $(FT2_INCLUDE)/*.h $(FT2_INCLUDE)/config/*.h + python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.5.4 --output=$(DOC_DIR) $(FT2_INCLUDE)/*.h $(FT2_INCLUDE)/config/*.h } RefDoc refdoc ; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/Jamrules b/Build/source/libs/freetype2/freetype-2.5.4/Jamrules index d8d1c7e617b..d8d1c7e617b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/Jamrules +++ b/Build/source/libs/freetype2/freetype-2.5.4/Jamrules diff --git a/Build/source/libs/freetype2/freetype-2.5.3/Makefile b/Build/source/libs/freetype2/freetype-2.5.4/Makefile index c1fa16cee54..c1fa16cee54 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/Makefile +++ b/Build/source/libs/freetype2/freetype-2.5.4/Makefile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/README b/Build/source/libs/freetype2/freetype-2.5.4/README index 9a793cd881d..cced66039c4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/README @@ -1,4 +1,4 @@ - FreeType 2.5.3 + FreeType 2.5.4 ============== Homepage: http://www.freetype.org @@ -24,9 +24,9 @@ and download one of the following files. - freetype-doc-2.5.3.tar.bz2 - freetype-doc-2.5.3.tar.gz - ftdoc253.zip + freetype-doc-2.5.4.tar.bz2 + freetype-doc-2.5.4.tar.gz + ftdoc254.zip To view the documentation online, go to @@ -53,15 +53,15 @@ Bugs ==== - Please report bugs by e-mail to `freetype-devel@nongnu.org'. Don't - forget to send a detailed explanation of the problem -- there is - nothing worse than receiving a terse message that only says `it - doesn't work'. - - Alternatively, you may submit a bug report at + Please submit bug reports at https://savannah.nongnu.org/bugs/?group=freetype + Alternatively, you might report bugs by e-mail to + `freetype-devel@nongnu.org'. Don't forget to send a detailed + explanation of the problem -- there is nothing worse than receiving + a terse message that only says `it doesn't work'. + Enjoy! diff --git a/Build/source/libs/freetype2/freetype-2.5.3/README.git b/Build/source/libs/freetype2/freetype-2.5.4/README.git index 021c121413d..021c121413d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/README.git +++ b/Build/source/libs/freetype2/freetype-2.5.4/README.git diff --git a/Build/source/libs/freetype2/freetype-2.5.3/autogen.sh b/Build/source/libs/freetype2/freetype-2.5.4/autogen.sh index cc0e661ce5a..cc0e661ce5a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/autogen.sh +++ b/Build/source/libs/freetype2/freetype-2.5.4/autogen.sh diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/README b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/README index 85fcc43308c..85fcc43308c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/include/config/ftconfig.h b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/include/config/ftconfig.h index a73ace671dd..a73ace671dd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/include/config/ftconfig.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/include/config/ftconfig.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/include/config/ftmodule.h b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/include/config/ftmodule.h index 5873bab74fa..5873bab74fa 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/include/config/ftmodule.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/include/config/ftmodule.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/makefile b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/makefile index 8a1e4c61b15..8a1e4c61b15 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/makefile +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/makefile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/makefile.os4 b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/makefile.os4 index a2e6ffcedf7..a2e6ffcedf7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/makefile.os4 +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/makefile.os4 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/smakefile b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/smakefile index aee7fb9d488..aee7fb9d488 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/smakefile +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/smakefile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/src/base/ftdebug.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/src/base/ftdebug.c index 39688af783c..39688af783c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/src/base/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/src/base/ftdebug.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/src/base/ftsystem.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/src/base/ftsystem.c index 42a552dbe89..42a552dbe89 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/amiga/src/base/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/amiga/src/base/ftsystem.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/ansi/ansi-def.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/ansi/ansi-def.mk index 2c585729515..2c585729515 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/ansi/ansi-def.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/ansi/ansi-def.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/ansi/ansi.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/ansi/ansi.mk index 32b3bac3e3a..32b3bac3e3a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/ansi/ansi.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/ansi/ansi.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/ATARI.H b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/ATARI.H index 9f78c924b83..9f78c924b83 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/ATARI.H +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/ATARI.H diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/FNames.SIC b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/FNames.SIC index f3657179d91..f3657179d91 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/FNames.SIC +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/FNames.SIC diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/FREETYPE.PRJ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/FREETYPE.PRJ index 4776a5bc690..4776a5bc690 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/FREETYPE.PRJ +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/FREETYPE.PRJ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/README.TXT b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/README.TXT index 04eec63519b..04eec63519b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/README.TXT +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/README.TXT diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/deflinejoiner.awk b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/deflinejoiner.awk index 16d9e6dd933..16d9e6dd933 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/deflinejoiner.awk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/deflinejoiner.awk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/gen-purec-patch.sh b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/gen-purec-patch.sh index 1ec050c11fa..1ec050c11fa 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/atari/gen-purec-patch.sh +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/atari/gen-purec-patch.sh diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/beos/beos-def.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/beos/beos-def.mk index 4371a30aa3c..4371a30aa3c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/beos/beos-def.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/beos/beos-def.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/beos/beos.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/beos/beos.mk index b5c8bdabe32..b5c8bdabe32 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/beos/beos.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/beos/beos.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/beos/detect.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/beos/detect.mk index 24a0878862a..24a0878862a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/beos/detect.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/beos/detect.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.4/builds/cmake/iOS.cmake b/Build/source/libs/freetype2/freetype-2.5.4/builds/cmake/iOS.cmake new file mode 100644 index 00000000000..a41a7acf2ac --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/cmake/iOS.cmake @@ -0,0 +1,275 @@ +# iOS.cmake +# +# Copyright 2014 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# Written by David Wimsey <david@wimsey.us> +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. +# +# +# This file is derived from the files `Platform/Darwin.cmake' and +# `Platform/UnixPaths.cmake', which are part of CMake 2.8.4. It has been +# altered for iOS development. + + +# Options +# ------- +# +# IOS_PLATFORM = OS | SIMULATOR +# +# This decides whether SDKS are selected from the `iPhoneOS.platform' or +# `iPhoneSimulator.platform' folders. +# +# OS - the default, used to build for iPhone and iPad physical devices, +# which have an ARM architecture. +# SIMULATOR - used to build for the Simulator platforms, which have an +# x86 architecture. +# +# CMAKE_IOS_DEVELOPER_ROOT = /path/to/platform/Developer folder +# +# By default, this location is automatically chosen based on the +# IOS_PLATFORM value above. If you manually set this variable, it +# overrides the default location and forces the use of a particular +# Developer Platform. +# +# CMAKE_IOS_SDK_ROOT = /path/to/platform/Developer/SDKs/SDK folder +# +# By default, this location is automatically chosen based on the +# CMAKE_IOS_DEVELOPER_ROOT value. In this case it is always the most +# up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path. If you +# manually set this variable, it forces the use of a specific SDK +# version. +# +# +# Macros +# ------ +# +# set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE) +# +# A convenience macro for setting Xcode specific properties on targets. +# +# Example: +# +# set_xcode_property(myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1") +# +# find_host_package (PROGRAM ARGS) +# +# A macro to find executable programs on the host system, not within the +# iOS environment. Thanks to the `android-cmake' project for providing +# the command. + + +# standard settings +set(CMAKE_SYSTEM_NAME Darwin) +set(CMAKE_SYSTEM_VERSION 1) +set(UNIX True) +set(APPLE True) +set(IOS True) + +# required as of cmake 2.8.10 +set(CMAKE_OSX_DEPLOYMENT_TARGET "" + CACHE STRING "Force unset of the deployment target for iOS" FORCE +) + +# determine the cmake host system version so we know where to find the iOS +# SDKs +find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin) +if (CMAKE_UNAME) + exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION) + string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" + DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}") +endif (CMAKE_UNAME) + +# force the compilers to gcc for iOS +include(CMakeForceCompiler) +CMAKE_FORCE_C_COMPILER(gcc gcc) +CMAKE_FORCE_CXX_COMPILER(g++ g++) + +# skip the platform compiler checks for cross compiling +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_C_COMPILER_WORKS TRUE) + +# all iOS/Darwin specific settings - some may be redundant +set(CMAKE_SHARED_LIBRARY_PREFIX "lib") +set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib") +set(CMAKE_SHARED_MODULE_PREFIX "lib") +set(CMAKE_SHARED_MODULE_SUFFIX ".so") +set(CMAKE_MODULE_EXISTS 1) +set(CMAKE_DL_LIBS "") + +set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG + "-compatibility_version ") +set(CMAKE_C_OSX_CURRENT_VERSION_FLAG + "-current_version ") +set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG + "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}") +set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG + "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}") + +# hidden visibility is required for cxx on iOS +set(CMAKE_C_FLAGS_INIT "") +set(CMAKE_CXX_FLAGS_INIT + "-headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden") + +set(CMAKE_C_LINK_FLAGS + "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}") +set(CMAKE_CXX_LINK_FLAGS + "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}") + +set(CMAKE_PLATFORM_HAS_INSTALLNAME 1) +set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS + "-dynamiclib -headerpad_max_install_names") +set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS + "-bundle -headerpad_max_install_names") +set(CMAKE_SHARED_MODULE_LOADER_C_FLAG + "-Wl,-bundle_loader,") +set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG + "-Wl,-bundle_loader,") +set(CMAKE_FIND_LIBRARY_SUFFIXES + ".dylib" ".so" ".a") + +# hack: If a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old +# build tree (where `install_name_tool' was hardcoded), and where +# CMAKE_INSTALL_NAME_TOOL isn't in the cache and still cmake didn't +# fail in `CMakeFindBinUtils.cmake' (because it isn't rerun), hardcode +# CMAKE_INSTALL_NAME_TOOL here to `install_name_tool' so it behaves as +# it did before. +if (NOT DEFINED CMAKE_INSTALL_NAME_TOOL) + find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool) +endif (NOT DEFINED CMAKE_INSTALL_NAME_TOOL) + +# set up iOS platform unless specified manually with IOS_PLATFORM +if (NOT DEFINED IOS_PLATFORM) + set(IOS_PLATFORM "OS") +endif (NOT DEFINED IOS_PLATFORM) + +set(IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING "Type of iOS Platform") + +# check the platform selection and setup for developer root +if (${IOS_PLATFORM} STREQUAL "OS") + set(IOS_PLATFORM_LOCATION "iPhoneOS.platform") + + # this causes the installers to properly locate the output libraries + set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos") + +elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR") + set(IOS_PLATFORM_LOCATION "iPhoneSimulator.platform") + + # this causes the installers to properly locate the output libraries + set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator") + +else (${IOS_PLATFORM} STREQUAL "OS") + message(FATAL_ERROR + "Unsupported IOS_PLATFORM value selected. Please choose OS or SIMULATOR.") + +endif (${IOS_PLATFORM} STREQUAL "OS") + +# set up iOS developer location unless specified manually with +# CMAKE_IOS_DEVELOPER_ROOT -- +# note that Xcode 4.3 changed the installation location; choose the most +# recent one available +set(XCODE_POST_43_ROOT + "/Applications/Xcode.app/Contents/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer") +set(XCODE_PRE_43_ROOT + "/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer") + +if (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT) + if (EXISTS ${XCODE_POST_43_ROOT}) + set(CMAKE_IOS_DEVELOPER_ROOT ${XCODE_POST_43_ROOT}) + elseif (EXISTS ${XCODE_PRE_43_ROOT}) + set(CMAKE_IOS_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT}) + endif (EXISTS ${XCODE_POST_43_ROOT}) +endif (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT) + +set(CMAKE_IOS_DEVELOPER_ROOT ${CMAKE_IOS_DEVELOPER_ROOT} + CACHE PATH "Location of iOS Platform" +) + +# find and use the most recent iOS SDK unless specified manually with +# CMAKE_IOS_SDK_ROOT +if (NOT DEFINED CMAKE_IOS_SDK_ROOT) + file(GLOB _CMAKE_IOS_SDKS "${CMAKE_IOS_DEVELOPER_ROOT}/SDKs/*") + if (_CMAKE_IOS_SDKS) + list(SORT _CMAKE_IOS_SDKS) + list(REVERSE _CMAKE_IOS_SDKS) + list(GET _CMAKE_IOS_SDKS 0 CMAKE_IOS_SDK_ROOT) + else (_CMAKE_IOS_SDKS) + message(FATAL_ERROR + "No iOS SDK's found in default search path ${CMAKE_IOS_DEVELOPER_ROOT}. Manually set CMAKE_IOS_SDK_ROOT or install the iOS SDK.") + endif (_CMAKE_IOS_SDKS) + + message(STATUS "Toolchain using default iOS SDK: ${CMAKE_IOS_SDK_ROOT}") +endif (NOT DEFINED CMAKE_IOS_SDK_ROOT) + +set(CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT} + CACHE PATH "Location of the selected iOS SDK" +) + +# set the sysroot default to the most recent SDK +set(CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT} + CACHE PATH "Sysroot used for iOS support" +) + +# set the architecture for iOS -- +# note that currently both ARCHS_STANDARD_32_BIT and +# ARCHS_UNIVERSAL_IPHONE_OS set armv7 only, so set both manually +if (${IOS_PLATFORM} STREQUAL "OS") + set(IOS_ARCH $(ARCHS_STANDARD_32_64_BIT)) +else (${IOS_PLATFORM} STREQUAL "OS") + set(IOS_ARCH i386) +endif (${IOS_PLATFORM} STREQUAL "OS") + +set(CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} + CACHE string "Build architecture for iOS" +) + +# set the find root to the iOS developer roots and to user defined paths +set(CMAKE_FIND_ROOT_PATH + ${CMAKE_IOS_DEVELOPER_ROOT} + ${CMAKE_IOS_SDK_ROOT} + ${CMAKE_PREFIX_PATH} + CACHE string "iOS find search path root" +) + +# default to searching for frameworks first +set(CMAKE_FIND_FRAMEWORK FIRST) + +# set up the default search directories for frameworks +set(CMAKE_SYSTEM_FRAMEWORK_PATH + ${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks + ${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks + ${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks +) + +# only search the iOS SDKs, not the remainder of the host filesystem +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) + +# this little macro lets you set any Xcode specific property +macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE) + set_property(TARGET ${TARGET} + PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE}) +endmacro(set_xcode_property) + +# this macro lets you find executable programs on the host system +macro(find_host_package) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) + set(IOS FALSE) + + find_package(${ARGN}) + + set(IOS TRUE) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endmacro(find_host_package) + +# eof diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/ansi-cc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/ansi-cc.mk index 3b668e20102..3b668e20102 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/ansi-cc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/ansi-cc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/bcc-dev.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/bcc-dev.mk index 42a99b0c006..42a99b0c006 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/bcc-dev.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/bcc-dev.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/bcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/bcc.mk index 855edadf0a3..855edadf0a3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/bcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/bcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/emx.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/emx.mk index c237005cb1e..c237005cb1e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/emx.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/emx.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/gcc-dev.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/gcc-dev.mk index c63e1262ebe..c63e1262ebe 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/gcc-dev.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/gcc-dev.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/gcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/gcc.mk index f6b7101b38a..f6b7101b38a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/gcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/gcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/intelc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/intelc.mk index 413ce5bacc7..413ce5bacc7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/intelc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/intelc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/unix-lcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/unix-lcc.mk index d79f50846cb..d79f50846cb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/unix-lcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/unix-lcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/visualage.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/visualage.mk index c109659bf73..c109659bf73 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/visualage.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/visualage.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/visualc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/visualc.mk index 2e19ef86a31..2e19ef86a31 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/visualc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/visualc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/watcom.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/watcom.mk index 4db1e7fecea..4db1e7fecea 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/watcom.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/watcom.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/win-lcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/win-lcc.mk index 5d02d82462e..5d02d82462e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/compiler/win-lcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/compiler/win-lcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/detect.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/detect.mk index ce407baf6d3..ff4045d5c02 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/detect.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/detect.mk @@ -3,7 +3,7 @@ # -# Copyright 1996-2003, 2006, 2008, 2013 by +# Copyright 1996-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, modified, @@ -124,7 +124,7 @@ std_setup: @echo "\`$(CONFIG_MK)' from this directory then read the INSTALL file for help." @echo "" @echo "Otherwise, simply type \`$(MAKE)' again to build the library," - @echo "or \`$(MAKE) refdoc' to build the API reference (the latter needs python)." + @echo "or \`$(MAKE) refdoc' to build the API reference (this needs python >= 2.6)." @echo "" @$(COPY) $(CONFIG_RULES) $(CONFIG_MK) @@ -146,7 +146,7 @@ dos_setup: @echo '$(CONFIG_MK)' from this directory then read the INSTALL file for help. @type builds$(SEP)newline @echo Otherwise, simply type 'make' again to build the library. - @echo or 'make refdoc' to build the API reference (the latter needs python). + @echo or 'make refdoc' to build the API reference (this needs python >= 2.6). @type builds$(SEP)newline @$(COPY) $(subst /,$(SEP),$(CONFIG_RULES) $(CONFIG_MK)) > nul diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/detect.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/detect.mk index 3e5e967e430..3e5e967e430 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/detect.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/detect.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-def.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-def.mk index 950f581a00b..950f581a00b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-def.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-def.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-emx.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-emx.mk index 6ea8f6d872f..6ea8f6d872f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-emx.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-emx.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-gcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-gcc.mk index e14255c1f27..e14255c1f27 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-gcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-gcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-wat.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-wat.mk index c763b163cd9..c763b163cd9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/dos/dos-wat.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/dos/dos-wat.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/exports.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/exports.mk index 96b10db8747..96b10db8747 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/exports.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/exports.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/freetype.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/freetype.mk index 3f1519eba6d..8b2e2eace4d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/freetype.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/freetype.mk @@ -297,19 +297,16 @@ ifneq ($(findstring refdoc,$(MAKECMDGOALS)),) version := $(major).$(minor).$(patch) endif -# We write-protect the docmaker directory to suppress generation -# of .pyc files. +# Option `-B' disables generation of .pyc files (available since python 2.6) # refdoc: - -chmod -w $(SRC_DIR)/tools/docmaker - python $(SRC_DIR)/tools/docmaker/docmaker.py \ - --prefix=ft2 \ - --title=FreeType-$(version) \ - --output=$(DOC_DIR) \ - $(PUBLIC_DIR)/*.h \ - $(PUBLIC_DIR)/config/*.h \ - $(PUBLIC_DIR)/cache/*.h - -chmod +w $(SRC_DIR)/tools/docmaker + python -B $(SRC_DIR)/tools/docmaker/docmaker.py \ + --prefix=ft2 \ + --title=FreeType-$(version) \ + --output=$(DOC_DIR) \ + $(PUBLIC_DIR)/*.h \ + $(PUBLIC_DIR)/config/*.h \ + $(PUBLIC_DIR)/cache/*.h .PHONY: clean_project_std distclean_project_std diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/link_dos.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/link_dos.mk index c37ac7e52c1..c37ac7e52c1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/link_dos.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/link_dos.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/link_std.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/link_std.mk index 0bd2163bb19..0bd2163bb19 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/link_std.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/link_std.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.m68k_cfm.make.txt b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.m68k_cfm.make.txt index 425f9f9ce28..425f9f9ce28 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.m68k_cfm.make.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.m68k_cfm.make.txt diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.m68k_far.make.txt b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.m68k_far.make.txt index ebf5a1b56ab..ebf5a1b56ab 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.m68k_far.make.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.m68k_far.make.txt diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.ppc_carbon.make.txt b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.ppc_carbon.make.txt index 2926413f395..2926413f395 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.ppc_carbon.make.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.ppc_carbon.make.txt diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.ppc_classic.make.txt b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.ppc_classic.make.txt index 377de9ab98f..377de9ab98f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/FreeType.ppc_classic.make.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/FreeType.ppc_classic.make.txt diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/README b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/README index f58e47d4ad2..f58e47d4ad2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ascii2mpw.py b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ascii2mpw.py index ad32b219772..ad32b219772 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ascii2mpw.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ascii2mpw.py diff --git a/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/freetype-Info.plist b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/freetype-Info.plist new file mode 100644 index 00000000000..b3d114dad8b --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/freetype-Info.plist @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" + "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + + <key>CFBundleExecutable</key> + <string>FreeType</string> + + <key>CFBundleGetInfoString</key> + <string>FreeType ${PROJECT_VERSION}</string> + + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + + <key>CFBundleName</key> + <string>FreeType</string> + + <key>CFBundlePackageType</key> + <string>FMWK</string> + + <key>CFBundleShortVersionString</key> + <string>${PROJECT_VERSION}</string> + + <key>CFBundleSignature</key> + <string>????</string> + + <key>CFBundleVersion</key> + <string>${PROJECT_VERSION}</string> +</dict> + +</plist> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ftlib.prj.xml b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ftlib.prj.xml index cbbc45ee55c..cbbc45ee55c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ftlib.prj.xml +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ftlib.prj.xml diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ftmac.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ftmac.c index 40f6bd20c9b..27b5511c025 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/mac/ftmac.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/mac/ftmac.c @@ -5,7 +5,7 @@ /* Mac FOND support. Written by just@letterror.com. */ /* Heavily Fixed by mpsuzuki, George Williams and Sean McBride */ /* */ -/* Copyright 1996-2008, 2013 by */ +/* Copyright 1996-2008, 2013, 2014 by */ /* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -204,6 +204,9 @@ typedef short ResourceIndex; FMFontFamily family = 0; + if ( !fontName || !face_index ) + return FT_THROW( Invalid_Argument ); + *face_index = 0; while ( status == 0 && !the_font ) { @@ -381,7 +384,7 @@ typedef short ResourceIndex; err = FT_GetFileRef_From_Mac_ATS_Name( fontName, &ref, face_index ); - if ( FT_Err_Ok != err ) + if ( err ) return err; if ( noErr != FSRefMakePath( &ref, path, maxPathSize ) ) @@ -420,7 +423,7 @@ typedef short ResourceIndex; err = FT_GetFileRef_From_Mac_ATS_Name( fontName, &ref, face_index ); - if ( FT_Err_Ok != err ) + if ( err ) return err; if ( noErr != FSGetCatalogInfo( &ref, kFSCatInfoNone, NULL, NULL, @@ -1238,6 +1241,9 @@ typedef short ResourceIndex; FT_Error error = FT_Err_Ok; + /* test for valid `aface' and `library' delayed to */ + /* `FT_New_Face_From_XXX' */ + GetResInfo( fond, &fond_id, &fond_type, fond_name ); if ( ResError() != noErr || fond_type != TTAG_FOND ) return FT_THROW( Invalid_File_Format ); @@ -1442,6 +1448,8 @@ typedef short ResourceIndex; UInt8 pathname[PATH_MAX]; + /* test for valid `library' and `aface' delayed to `FT_Open_Face' */ + if ( !ref ) return FT_THROW( Invalid_Argument ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/modules.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/modules.mk index 3c1b083dd71..3c1b083dd71 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/modules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/modules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/newline b/Build/source/libs/freetype2/freetype-2.5.4/builds/newline index 8b137891791..8b137891791 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/newline +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/newline diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/detect.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/detect.mk index 47a40a2f857..47a40a2f857 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/detect.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/detect.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-def.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-def.mk index 01cda9285af..01cda9285af 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-def.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-def.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-dev.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-dev.mk index 83da8dea33e..83da8dea33e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-dev.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-dev.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-gcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-gcc.mk index 446073e4f56..446073e4f56 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/os2/os2-gcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/os2/os2-gcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/symbian/bld.inf b/Build/source/libs/freetype2/freetype-2.5.4/builds/symbian/bld.inf index bc8c1609c9d..bc8c1609c9d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/symbian/bld.inf +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/symbian/bld.inf diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/symbian/freetype.mmp b/Build/source/libs/freetype2/freetype-2.5.4/builds/symbian/freetype.mmp index cb0008c4463..cb0008c4463 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/symbian/freetype.mmp +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/symbian/freetype.mmp diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/toplevel.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/toplevel.mk index 812750ac54f..812750ac54f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/toplevel.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/toplevel.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/aclocal.m4 b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/aclocal.m4 index 2c0316495ec..2c0316495ec 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/aclocal.m4 +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/aclocal.m4 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/config.guess b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/config.guess index 6c32c8645c8..6c32c8645c8 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/config.guess +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/config.guess diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/config.sub b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/config.sub index 7ffe3737842..7ffe3737842 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/config.sub +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/config.sub diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure index 4ae00dd58b1..31d697599a9 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeType 2.5.3. +# Generated by GNU Autoconf 2.69 for FreeType 2.5.4. # # Report bugs to <freetype@nongnu.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='FreeType' PACKAGE_TARNAME='freetype' -PACKAGE_VERSION='2.5.3' -PACKAGE_STRING='FreeType 2.5.3' +PACKAGE_VERSION='2.5.4' +PACKAGE_STRING='FreeType 2.5.4' PACKAGE_BUGREPORT='freetype@nongnu.org' PACKAGE_URL='' @@ -639,7 +639,6 @@ build_libtool_libs wl hardcode_libdir_flag_spec LIBSSTATIC_CONFIG -LIBS_CONFIG LIBS_PRIVATE REQUIRES_PRIVATE ftmac_c @@ -1326,7 +1325,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures FreeType 2.5.3 to adapt to many kinds of systems. +\`configure' configures FreeType 2.5.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1391,7 +1390,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeType 2.5.3:";; + short | recursive ) echo "Configuration of FreeType 2.5.4:";; esac cat <<\_ACEOF @@ -1532,7 +1531,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeType configure 2.5.3 +FreeType configure 2.5.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2130,7 +2129,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by FreeType $as_me 2.5.3, which was +It was created by FreeType $as_me 2.5.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2486,7 +2485,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't forget to update docs/VERSION.DLL! -version_info='17:2:11' +version_info='17:3:11' ft_version=`echo $version_info | tr : .` @@ -12966,7 +12965,7 @@ fi # fall back to config script. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpng-config" >&5 $as_echo_n "checking for libpng-config... " >&6; } - if which libpng-config > /dev/null; then + if which libpng-config > /dev/null 2>&1; then LIBPNG_CFLAGS=`libpng-config --cflags` LIBPNG_LIBS=`libpng-config --ldflags` libpng_libpriv=`libpng-config --static --ldflags` @@ -13324,7 +13323,7 @@ else fi -# Whether to use FileManager which is deprecated since Mac OS X 10.4. +# Whether to use FileManager, which is deprecated since Mac OS X 10.4. # Check whether --with-fsspec was given. @@ -13478,7 +13477,7 @@ rm -f core conftest.err conftest.$ac_objext \ fi -# Whether to use QuickDraw API in ToolBox which is deprecated since +# Whether to use QuickDraw API in ToolBox, which is deprecated since # Mac OS X 10.4. @@ -13540,7 +13539,7 @@ rm -f core conftest.err conftest.$ac_objext \ fi -# Whether to use QuickDraw API in Carbon which is deprecated since +# Whether to use QuickDraw API in Carbon, which is deprecated since # Mac OS X 10.4. @@ -13715,21 +13714,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \ -e 's/ *$//' \ -e 's/ */ /g'` -LIBS_CONFIG="-lfreetype \ - $ZLIB_LIBS \ - $BZIP2_LIBS \ - $LIBPNG_LIBS \ - $HARFBUZZ_LIBS \ - $ft2_extra_libs" -# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later -# on if necessary; also beautify -LIBS_CONFIG=`echo "$LIBS_CONFIG" \ - | sed -e 's|-L */usr/lib64/* | |g' \ - -e 's|-L */usr/lib/* | |g' \ - -e 's/^ *//' \ - -e 's/ *$//' \ - -e 's/ */ /g'` - LIBSSTATIC_CONFIG="-lfreetype \ $zlib_libstaticconf \ $bzip2_libstaticconf \ @@ -13756,7 +13740,6 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \ - # changing LDFLAGS value should only be done after # lt_cv_prog_compiler_static_works test @@ -14305,7 +14288,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by FreeType $as_me 2.5.3, which was +This file was extended by FreeType $as_me 2.5.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14371,7 +14354,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeType config.status 2.5.3 +FreeType config.status 2.5.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure.ac b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure.ac index 4dcbf46172d..ab6ee8e6b2f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure.ac +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure.ac @@ -11,13 +11,13 @@ # indicate that you have read the license and understand and accept it # fully. -AC_INIT([FreeType], [2.5.3], [freetype@nongnu.org], [freetype]) +AC_INIT([FreeType], [2.5.4], [freetype@nongnu.org], [freetype]) AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='17:2:11' +version_info='17:3:11' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -437,7 +437,7 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then else # fall back to config script. AC_MSG_CHECKING([for libpng-config]) - if which libpng-config > /dev/null; then + if which libpng-config > /dev/null 2>&1; then LIBPNG_CFLAGS=`libpng-config --cflags` LIBPNG_LIBS=`libpng-config --ldflags` libpng_libpriv=`libpng-config --static --ldflags` @@ -656,7 +656,7 @@ else fi -# Whether to use FileManager which is deprecated since Mac OS X 10.4. +# Whether to use FileManager, which is deprecated since Mac OS X 10.4. AC_ARG_WITH([fsspec], AS_HELP_STRING([--with-fsspec], @@ -765,7 +765,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then fi -# Whether to use QuickDraw API in ToolBox which is deprecated since +# Whether to use QuickDraw API in ToolBox, which is deprecated since # Mac OS X 10.4. AC_ARG_WITH([quickdraw-toolbox], @@ -807,7 +807,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then fi -# Whether to use QuickDraw API in Carbon which is deprecated since +# Whether to use QuickDraw API in Carbon, which is deprecated since # Mac OS X 10.4. AC_ARG_WITH([quickdraw-carbon], @@ -937,21 +937,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \ -e 's/ *$//' \ -e 's/ */ /g'` -LIBS_CONFIG="-lfreetype \ - $ZLIB_LIBS \ - $BZIP2_LIBS \ - $LIBPNG_LIBS \ - $HARFBUZZ_LIBS \ - $ft2_extra_libs" -# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later -# on if necessary; also beautify -LIBS_CONFIG=`echo "$LIBS_CONFIG" \ - | sed -e 's|-L */usr/lib64/* | |g' \ - -e 's|-L */usr/lib/* | |g' \ - -e 's/^ *//' \ - -e 's/ *$//' \ - -e 's/ */ /g'` - LIBSSTATIC_CONFIG="-lfreetype \ $zlib_libstaticconf \ $bzip2_libstaticconf \ @@ -971,7 +956,6 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \ AC_SUBST([ftmac_c]) AC_SUBST([REQUIRES_PRIVATE]) AC_SUBST([LIBS_PRIVATE]) -AC_SUBST([LIBS_CONFIG]) AC_SUBST([LIBSSTATIC_CONFIG]) AC_SUBST([hardcode_libdir_flag_spec]) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure.raw b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure.raw index dd7e576f3c1..e72d28f7e7f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/configure.raw +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/configure.raw @@ -17,7 +17,7 @@ AC_CONFIG_SRCDIR([ftconfig.in]) # Don't forget to update docs/VERSION.DLL! -version_info='17:2:11' +version_info='17:3:11' AC_SUBST([version_info]) ft_version=`echo $version_info | tr : .` AC_SUBST([ft_version]) @@ -437,7 +437,7 @@ if test x"$with_png" = xyes -o x"$with_png" = xauto; then else # fall back to config script. AC_MSG_CHECKING([for libpng-config]) - if which libpng-config > /dev/null; then + if which libpng-config > /dev/null 2>&1; then LIBPNG_CFLAGS=`libpng-config --cflags` LIBPNG_LIBS=`libpng-config --ldflags` libpng_libpriv=`libpng-config --static --ldflags` @@ -656,7 +656,7 @@ else fi -# Whether to use FileManager which is deprecated since Mac OS X 10.4. +# Whether to use FileManager, which is deprecated since Mac OS X 10.4. AC_ARG_WITH([fsspec], AS_HELP_STRING([--with-fsspec], @@ -765,7 +765,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_fsref != x; then fi -# Whether to use QuickDraw API in ToolBox which is deprecated since +# Whether to use QuickDraw API in ToolBox, which is deprecated since # Mac OS X 10.4. AC_ARG_WITH([quickdraw-toolbox], @@ -807,7 +807,7 @@ elif test x$with_old_mac_fonts = xyes -a x$with_quickdraw_toolbox != x; then fi -# Whether to use QuickDraw API in Carbon which is deprecated since +# Whether to use QuickDraw API in Carbon, which is deprecated since # Mac OS X 10.4. AC_ARG_WITH([quickdraw-carbon], @@ -937,21 +937,6 @@ LIBS_PRIVATE=`echo "$LIBS_PRIVATE" \ -e 's/ *$//' \ -e 's/ */ /g'` -LIBS_CONFIG="-lfreetype \ - $ZLIB_LIBS \ - $BZIP2_LIBS \ - $LIBPNG_LIBS \ - $HARFBUZZ_LIBS \ - $ft2_extra_libs" -# remove -L/usr/lib and -L/usr/lib64 since `freetype-config' adds them later -# on if necessary; also beautify -LIBS_CONFIG=`echo "$LIBS_CONFIG" \ - | sed -e 's|-L */usr/lib64/* | |g' \ - -e 's|-L */usr/lib/* | |g' \ - -e 's/^ *//' \ - -e 's/ *$//' \ - -e 's/ */ /g'` - LIBSSTATIC_CONFIG="-lfreetype \ $zlib_libstaticconf \ $bzip2_libstaticconf \ @@ -971,7 +956,6 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \ AC_SUBST([ftmac_c]) AC_SUBST([REQUIRES_PRIVATE]) AC_SUBST([LIBS_PRIVATE]) -AC_SUBST([LIBS_CONFIG]) AC_SUBST([LIBSSTATIC_CONFIG]) AC_SUBST([hardcode_libdir_flag_spec]) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/detect.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/detect.mk index 0506e7d04b9..0506e7d04b9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/detect.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/detect.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype-config.in b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype-config.in index 41c3a88077e..ebc311f077f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype-config.in +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype-config.in @@ -142,7 +142,7 @@ if test "$echo_cflags" = "yes" ; then fi if test "$echo_libs" = "yes" ; then - libs="%LIBS_CONFIG%" + libs="-lfreetype" staticlibs="%LIBSSTATIC_CONFIG%" if test "$show_static" = "yes" ; then libs="$staticlibs" diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype2.in b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype2.in index 6e7fb104f54..a488d960968 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype2.in +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype2.in @@ -1,7 +1,7 @@ -prefix="%prefix%" -exec_prefix="%exec_prefix%" -libdir="%libdir%" -includedir="%includedir%/freetype2" +prefix=%prefix% +exec_prefix=%exec_prefix% +libdir=%libdir% +includedir=%includedir%/freetype2 Name: FreeType 2 URL: http://freetype.org diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype2.m4 b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype2.m4 index 3d0ecb35540..3a806d90f5b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/freetype2.m4 +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/freetype2.m4 @@ -1,7 +1,7 @@ # Configure paths for FreeType2 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor # -# Copyright 2001, 2003, 2007, 2009 by +# Copyright 2001, 2003, 2007, 2009, 2014 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, @@ -15,7 +15,7 @@ # generated by Autoconf, under the same distribution terms as the rest of # that program. # -# serial 3 +# serial 4 # AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) # Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. @@ -61,7 +61,7 @@ AC_DEFUN([AC_CHECK_FT2], fi if test "x$FT2_CONFIG" = x ; then - AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no]) + AC_PATH_TOOL([FT2_CONFIG], [freetype-config], [no]) fi min_ft_version=m4_if([$1], [], [7.0.1], [$1]) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ft-munmap.m4 b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ft-munmap.m4 index 68b3361e2b1..68b3361e2b1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ft-munmap.m4 +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ft-munmap.m4 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ftconfig.in b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ftconfig.in index 2cf67081595..e66f3eab3d8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ftconfig.in +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ftconfig.in @@ -296,7 +296,16 @@ FT_BEGIN_HEADER #define FT_INT64 long #define FT_UINT64 unsigned long -#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ + /*************************************************************************/ + /* */ + /* A 64-bit data type may create compilation problems if you compile */ + /* in strict ANSI mode. To avoid them, we disable other 64-bit data */ + /* types if __STDC__ is defined. You can however ignore this rule */ + /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ + /* */ +#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 ) + +#if defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ /* this compiler provides the __int64 type */ #define FT_LONG64 @@ -330,30 +339,9 @@ FT_BEGIN_HEADER #define FT_INT64 long long int #define FT_UINT64 unsigned long long int -#endif /* FT_SIZEOF_LONG == 8 */ - - - /*************************************************************************/ - /* */ - /* A 64-bit data type will create compilation problems if you compile */ - /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */ - /* is defined. You can however ignore this rule by defining the */ - /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ - /* */ -#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) - -#ifdef __STDC__ - - /* Undefine the 64-bit macros in strict ANSI compilation mode. */ - /* Since `#undef' doesn't survive in configuration header files */ - /* we use the postprocessing facility of AC_CONFIG_HEADERS to */ - /* replace the leading `/' with `#'. */ -/undef FT_LONG64 -/undef FT_INT64 - -#endif /* __STDC__ */ +#endif /* _MSC_VER */ -#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ +#endif /* FT_SIZEOF_LONG == 8 */ #ifdef FT_LONG64 typedef FT_INT64 FT_Int64; @@ -366,219 +354,6 @@ FT_BEGIN_HEADER #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT -#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER - /* Provide assembler fragments for performance-critical functions. */ - /* These must be defined `static __inline__' with GCC. */ - -#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 t, t2; - - - __asm - { - smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ - mov a, t, asr #31 /* a = (hi >> 31) */ - add a, a, #0x8000 /* a += 0x8000 */ - adds t2, t2, a /* t2 += a */ - adc t, t, #0 /* t += carry */ - mov a, t2, lsr #16 /* a = t2 >> 16 */ - orr a, a, t, lsl #16 /* a |= t << 16 */ - } - return a; - } - -#endif /* __CC_ARM || __ARMCC__ */ - - -#ifdef __GNUC__ - -#if defined( __arm__ ) && \ - ( !defined( __thumb__ ) || defined( __thumb2__ ) ) && \ - !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 t, t2; - - - __asm__ __volatile__ ( - "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ - "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ -#if defined( __clang__ ) && defined( __thumb2__ ) - "add.w %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ -#else - "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ -#endif - "adds %1, %1, %0\n\t" /* %1 += %0 */ - "adc %2, %2, #0\n\t" /* %2 += carry */ - "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ - "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ - : "=r"(a), "=&r"(t2), "=&r"(t) - : "r"(a), "r"(b) - : "cc" ); - return a; - } - -#endif /* __arm__ && */ - /* ( __thumb2__ || !__thumb__ ) && */ - /* !( __CC_ARM || __ARMCC__ ) */ - - -#if defined( __i386__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 result; - - - __asm__ __volatile__ ( - "imul %%edx\n" - "movl %%edx, %%ecx\n" - "sarl $31, %%ecx\n" - "addl $0x8000, %%ecx\n" - "addl %%ecx, %%eax\n" - "adcl $0, %%edx\n" - "shrl $16, %%eax\n" - "shll $16, %%edx\n" - "addl %%edx, %%eax\n" - : "=a"(result), "=d"(b) - : "a"(a), "d"(b) - : "%ecx", "cc" ); - return result; - } - -#endif /* i386 */ - -#endif /* __GNUC__ */ - - -#ifdef _MSC_VER /* Visual C++ */ - -#ifdef _M_IX86 - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 result; - - __asm - { - mov eax, a - mov edx, b - imul edx - mov ecx, edx - sar ecx, 31 - add ecx, 8000h - add eax, ecx - adc edx, 0 - shr eax, 16 - shl edx, 16 - add eax, edx - mov result, eax - } - return result; - } - -#endif /* _M_IX86 */ - -#endif /* _MSC_VER */ - - -#if defined( __GNUC__ ) && defined( __x86_64__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_x86_64 - - static __inline__ FT_Int32 - FT_MulFix_x86_64( FT_Int32 a, - FT_Int32 b ) - { - /* Temporarily disable the warning that C90 doesn't support */ - /* `long long'. */ -#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wlong-long" -#endif - -#if 1 - /* Technically not an assembly fragment, but GCC does a really good */ - /* job at inlining it and generating good machine code for it. */ - long long ret, tmp; - - - ret = (long long)a * b; - tmp = ret >> 63; - ret += 0x8000 + tmp; - - return (FT_Int32)( ret >> 16 ); -#else - - /* For some reason, GCC 4.6 on Ubuntu 12.04 generates invalid machine */ - /* code from the lines below. The main issue is that `wide_a' is not */ - /* properly initialized by sign-extending `a'. Instead, the generated */ - /* machine code assumes that the register that contains `a' on input */ - /* can be used directly as a 64-bit value, which is wrong most of the */ - /* time. */ - long long wide_a = (long long)a; - long long wide_b = (long long)b; - long long result; - - - __asm__ __volatile__ ( - "imul %2, %1\n" - "mov %1, %0\n" - "sar $63, %0\n" - "lea 0x8000(%1, %0), %0\n" - "sar $16, %0\n" - : "=&r"(result), "=&r"(wide_a) - : "r"(wide_b) - : "cc" ); - - return (FT_Int32)result; -#endif - -#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) -#pragma GCC diagnostic pop -#endif - } - -#endif /* __GNUC__ && __x86_64__ */ - -#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ - - -#ifdef FT_CONFIG_OPTION_INLINE_MULFIX -#ifdef FT_MULFIX_ASSEMBLER -#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER -#endif -#endif - - #ifdef FT_MAKE_OPTION_SINGLE_OBJECT #define FT_LOCAL( x ) static x diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ftsystem.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ftsystem.c index 7f7b3acb308..7f7b3acb308 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ftsystem.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/install-sh b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/install-sh index 0b0fdcbba69..0b0fdcbba69 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/install-sh +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/install-sh diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/install.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/install.mk index 83525ee41d6..83525ee41d6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/install.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/install.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ltmain.sh b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ltmain.sh index 08f3a26e3b8..08f3a26e3b8 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/ltmain.sh +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/ltmain.sh diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/mkinstalldirs b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/mkinstalldirs index ef7e16fdafe..ef7e16fdafe 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/mkinstalldirs +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/mkinstalldirs diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/pkg.m4 b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/pkg.m4 index f26f84c9aef..f26f84c9aef 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/pkg.m4 +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/pkg.m4 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-cc.in b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-cc.in index b84bc5d27b1..b84bc5d27b1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-cc.in +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-cc.in diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-def.in b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-def.in index 35ea9c86c95..4c06a05c747 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-def.in +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-def.in @@ -64,7 +64,6 @@ version_info := @version_info@ # REQUIRES_PRIVATE := @REQUIRES_PRIVATE@ LIBS_PRIVATE := @LIBS_PRIVATE@ -LIBS_CONFIG := @LIBS_CONFIG@ LIBSSTATIC_CONFIG := @LIBSSTATIC_CONFIG@ build_libtool_libs := @build_libtool_libs@ ft_version := @ft_version@ @@ -102,8 +101,7 @@ NO_OUTPUT := 2> /dev/null $(OBJ_BUILD)/freetype-config: $(TOP_DIR)/builds/unix/freetype-config.in rm -f $@ $@.tmp - sed -e 's|%LIBS_CONFIG%|$(LIBS_CONFIG)|' \ - -e 's|%LIBSSTATIC_CONFIG%|$(LIBSSTATIC_CONFIG)|' \ + sed -e 's|%LIBSSTATIC_CONFIG%|$(LIBSSTATIC_CONFIG)|' \ -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \ -e 's|%exec_prefix%|$(exec_prefix)|' \ -e 's|%ft_version%|$(ft_version)|' \ @@ -116,16 +114,29 @@ $(OBJ_BUILD)/freetype-config: $(TOP_DIR)/builds/unix/freetype-config.in chmod a-w $@.tmp mv $@.tmp $@ +# To support directory names with spaces (as might easily happen on Windows +# platforms), the right solution would be to surround the pkg-variables in +# `freetype2.pc' with double quotes. However, doing so ironically disables +# the prefix override mechanism especially written for Windows. This is a +# bug in pkg-config version 0.28 and earlier. +# +# For this reason, we escape spaces with backslashes. + +exec_prefix_x := $(subst $(space),\\$(space),$(exec_prefix)) +includedir_x := $(subst $(space),\\$(space),$(includedir)) +libdir_x := $(subst $(space),\\$(space),$(libdir)) +prefix_x := $(subst $(space),\\$(space),$(prefix)) + $(OBJ_BUILD)/freetype2.pc: $(TOP_DIR)/builds/unix/freetype2.in rm -f $@ $@.tmp sed -e 's|%REQUIRES_PRIVATE%|$(REQUIRES_PRIVATE)|' \ -e 's|%LIBS_PRIVATE%|$(LIBS_PRIVATE)|' \ -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \ - -e 's|%exec_prefix%|$(exec_prefix)|' \ + -e 's|%exec_prefix%|$(exec_prefix_x)|' \ -e 's|%ft_version%|$(ft_version)|' \ - -e 's|%includedir%|$(includedir)|' \ - -e 's|%libdir%|$(libdir)|' \ - -e 's|%prefix%|$(prefix)|' \ + -e 's|%includedir%|$(includedir_x)|' \ + -e 's|%libdir%|$(libdir_x)|' \ + -e 's|%prefix%|$(prefix_x)|' \ $< \ > $@.tmp chmod a-w $@.tmp diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-dev.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-dev.mk index 76bae3862ae..76bae3862ae 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-dev.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-dev.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-lcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-lcc.mk index 6038e523921..6038e523921 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix-lcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix-lcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix.mk index 7f9d9a34fb9..7f9d9a34fb9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unix.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unix.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unixddef.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unixddef.mk index 130d6b0f623..130d6b0f623 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/unix/unixddef.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/unix/unixddef.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/vms/ftconfig.h b/Build/source/libs/freetype2/freetype-2.5.4/builds/vms/ftconfig.h index 3fb8f84fdca..b3096512e56 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/vms/ftconfig.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/vms/ftconfig.h @@ -4,7 +4,7 @@ /* */ /* VMS-specific configuration file (specification only). */ /* */ -/* Copyright 1996-2004, 2006-2008, 2011, 2013 by */ +/* Copyright 1996-2004, 2006-2008, 2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -239,7 +239,16 @@ FT_BEGIN_HEADER #define FT_INT64 long #define FT_UINT64 unsigned long -#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ + /*************************************************************************/ + /* */ + /* A 64-bit data type may create compilation problems if you compile */ + /* in strict ANSI mode. To avoid them, we disable other 64-bit data */ + /* types if __STDC__ is defined. You can however ignore this rule */ + /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ + /* */ +#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 ) + +#if defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ /* this compiler provides the __int64 type */ #define FT_LONG64 @@ -273,27 +282,9 @@ FT_BEGIN_HEADER #define FT_INT64 long long int #define FT_UINT64 unsigned long long int -#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */ - - - /*************************************************************************/ - /* */ - /* A 64-bit data type will create compilation problems if you compile */ - /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */ - /* is defined. You can however ignore this rule by defining the */ - /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ - /* */ -#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) - -#ifdef __STDC__ - - /* undefine the 64-bit macros in strict ANSI compilation mode */ -#undef FT_LONG64 -#undef FT_INT64 - -#endif /* __STDC__ */ +#endif /* _MSC_VER */ -#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ +#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */ #ifdef FT_LONG64 typedef FT_INT64 FT_Int64; @@ -306,215 +297,6 @@ FT_BEGIN_HEADER #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT -#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER - /* Provide assembler fragments for performance-critical functions. */ - /* These must be defined `static __inline__' with GCC. */ - -#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 t, t2; - - - __asm - { - smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ - mov a, t, asr #31 /* a = (hi >> 31) */ - add a, a, #0x8000 /* a += 0x8000 */ - adds t2, t2, a /* t2 += a */ - adc t, t, #0 /* t += carry */ - mov a, t2, lsr #16 /* a = t2 >> 16 */ - orr a, a, t, lsl #16 /* a |= t << 16 */ - } - return a; - } - -#endif /* __CC_ARM || __ARMCC__ */ - - -#ifdef __GNUC__ - -#if defined( __arm__ ) && \ - ( !defined( __thumb__ ) || defined( __thumb2__ ) ) && \ - !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 t, t2; - - - __asm__ __volatile__ ( - "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ - "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ - "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ - "adds %1, %1, %0\n\t" /* %1 += %0 */ - "adc %2, %2, #0\n\t" /* %2 += carry */ - "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ - "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ - : "=r"(a), "=&r"(t2), "=&r"(t) - : "r"(a), "r"(b) - : "cc" ); - return a; - } - -#endif /* __arm__ && */ - /* ( __thumb2__ || !__thumb__ ) && */ - /* !( __CC_ARM || __ARMCC__ ) */ - - -#if defined( __i386__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 result; - - - __asm__ __volatile__ ( - "imul %%edx\n" - "movl %%edx, %%ecx\n" - "sarl $31, %%ecx\n" - "addl $0x8000, %%ecx\n" - "addl %%ecx, %%eax\n" - "adcl $0, %%edx\n" - "shrl $16, %%eax\n" - "shll $16, %%edx\n" - "addl %%edx, %%eax\n" - : "=a"(result), "=d"(b) - : "a"(a), "d"(b) - : "%ecx", "cc" ); - return result; - } - -#endif /* i386 */ - -#endif /* __GNUC__ */ - - -#ifdef _MSC_VER /* Visual C++ */ - -#ifdef _M_IX86 - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 result; - - __asm - { - mov eax, a - mov edx, b - imul edx - mov ecx, edx - sar ecx, 31 - add ecx, 8000h - add eax, ecx - adc edx, 0 - shr eax, 16 - shl edx, 16 - add eax, edx - mov result, eax - } - return result; - } - -#endif /* _M_IX86 */ - -#endif /* _MSC_VER */ - - -#if defined( __GNUC__ ) && defined( __x86_64__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_x86_64 - - static __inline__ FT_Int32 - FT_MulFix_x86_64( FT_Int32 a, - FT_Int32 b ) - { - /* Temporarily disable the warning that C90 doesn't support */ - /* `long long'. */ -#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wlong-long" -#endif - -#if 1 - /* Technically not an assembly fragment, but GCC does a really good */ - /* job at inlining it and generating good machine code for it. */ - long long ret, tmp; - - - ret = (long long)a * b; - tmp = ret >> 63; - ret += 0x8000 + tmp; - - return (FT_Int32)( ret >> 16 ); -#else - - /* For some reason, GCC 4.6 on Ubuntu 12.04 generates invalid machine */ - /* code from the lines below. The main issue is that `wide_a' is not */ - /* properly initialized by sign-extending `a'. Instead, the generated */ - /* machine code assumes that the register that contains `a' on input */ - /* can be used directly as a 64-bit value, which is wrong most of the */ - /* time. */ - long long wide_a = (long long)a; - long long wide_b = (long long)b; - long long result; - - - __asm__ __volatile__ ( - "imul %2, %1\n" - "mov %1, %0\n" - "sar $63, %0\n" - "lea 0x8000(%1, %0), %0\n" - "sar $16, %0\n" - : "=&r"(result), "=&r"(wide_a) - : "r"(wide_b) - : "cc" ); - - return (FT_Int32)result; -#endif - -#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) -#pragma GCC diagnostic pop -#endif - } - -#endif /* __GNUC__ && __x86_64__ */ - -#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ - - -#ifdef FT_CONFIG_OPTION_INLINE_MULFIX -#ifdef FT_MULFIX_ASSEMBLER -#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER -#endif -#endif - - #ifdef FT_MAKE_OPTION_SINGLE_OBJECT #define FT_LOCAL( x ) static x diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/vms/ftsystem.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/vms/ftsystem.c index 5c2819edb53..5c2819edb53 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/vms/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/vms/ftsystem.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/ftdebug.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/ftdebug.c index 24f96582815..24f96582815 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/ftdebug.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/freetype.sln b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/freetype.sln index 67b2216dcd5..67b2216dcd5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/freetype.sln +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/freetype.sln diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/freetype.vcproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/freetype.vcproj index 029afb86895..c4161a947d9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/freetype.vcproj @@ -21,7 +21,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -41,7 +41,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -61,7 +61,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -81,7 +81,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -101,7 +101,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -121,7 +121,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -141,7 +141,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -161,7 +161,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -181,7 +181,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -201,7 +201,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -221,7 +221,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -241,7 +241,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -261,7 +261,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -281,7 +281,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -301,7 +301,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -321,7 +321,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -341,7 +341,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -361,7 +361,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -381,7 +381,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -401,7 +401,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -421,7 +421,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -441,7 +441,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -461,7 +461,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -481,7 +481,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -501,7 +501,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -521,7 +521,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -541,7 +541,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -561,7 +561,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -581,7 +581,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -601,7 +601,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -621,7 +621,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -641,7 +641,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -661,7 +661,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -681,7 +681,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -701,7 +701,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -721,7 +721,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -741,7 +741,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -758,7 +758,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\wince\vc2005-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/index.html index fdbf4881372..b05a7fd9bbf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2005-ce/index.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2005-ce/index.html @@ -21,14 +21,14 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.5.3 sources:</p> +It compiles the following libraries from the FreeType 2.5.4 sources:</p> <ul> <pre> - freetype253.lib - release build; single threaded - freetype253_D.lib - debug build; single threaded - freetype253MT.lib - release build; multi-threaded - freetype253MT_D.lib - debug build; multi-threaded</pre> + freetype254.lib - release build; single threaded + freetype254_D.lib - debug build; single threaded + freetype254MT.lib - release build; multi-threaded + freetype254MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/freetype.sln b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/freetype.sln index 0468e903b71..0468e903b71 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/freetype.sln +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/freetype.sln diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/freetype.vcproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/freetype.vcproj index 3f2c1a73c68..abbda6adda2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/freetype.vcproj @@ -88,7 +88,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -177,7 +177,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -266,7 +266,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -355,7 +355,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -444,7 +444,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -533,7 +533,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -621,7 +621,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -709,7 +709,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -797,7 +797,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -885,7 +885,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -973,7 +973,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -1061,7 +1061,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -1149,7 +1149,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1236,7 +1236,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1323,7 +1323,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1410,7 +1410,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1497,7 +1497,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1584,7 +1584,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1668,7 +1668,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1753,7 +1753,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1838,7 +1838,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1923,7 +1923,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2008,7 +2008,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2093,7 +2093,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2178,7 +2178,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2263,7 +2263,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2348,7 +2348,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2433,7 +2433,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2518,7 +2518,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2603,7 +2603,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253ST_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2689,7 +2689,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2775,7 +2775,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2861,7 +2861,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2947,7 +2947,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -3033,7 +3033,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -3119,7 +3119,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -3205,7 +3205,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -3279,7 +3279,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\wince\vc2008-ce\freetype253MT_D.lib" + OutputFile="..\..\..\objs\wince\vc2008-ce\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/index.html index 29959d2f98e..20b250cabd5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/wince/vc2008-ce/index.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/wince/vc2008-ce/index.html @@ -21,14 +21,14 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.5.3 sources:</p> +It compiles the following libraries from the FreeType 2.5.4 sources:</p> <ul> <pre> - freetype253.lib - release build; single threaded - freetype253_D.lib - debug build; single threaded - freetype253MT.lib - release build; multi-threaded - freetype253MT_D.lib - debug build; multi-threaded</pre> + freetype254.lib - release build; single threaded + freetype254_D.lib - debug build; single threaded + freetype254MT.lib - release build; multi-threaded + freetype254MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/detect.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/detect.mk index 9dca2612719..9dca2612719 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/detect.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/detect.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/ftdebug.c b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/ftdebug.c index dd2c2ad7cdd..dd2c2ad7cdd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/ftdebug.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/freetype.sln b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/freetype.sln index b90da27bb36..b90da27bb36 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/freetype.sln +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/freetype.sln diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/freetype.vcproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/freetype.vcproj index 24eaac83137..32e7709eb62 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/freetype.vcproj @@ -16,7 +16,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype253.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype254.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -33,7 +33,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype253MT.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -50,7 +50,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype253ST.lib" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype254ST.lib" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -67,7 +67,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype253_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -84,7 +84,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype253ST_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> @@ -101,7 +101,7 @@ <Tool Name="VCManagedResourceCompilerTool" /> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033" /> <Tool Name="VCPreLinkEventTool" /> - <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype253MT_D.lib" SuppressStartupBanner="true" /> + <Tool Name="VCLibrarianTool" OutputFile="..\..\..\objs\win32\vc2005\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool Name="VCALinkTool" /> <Tool Name="VCXDCMakeTool" /> <Tool Name="VCBscMakeTool" /> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/index.html index 6d9261600d9..8d782971e94 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2005/index.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2005/index.html @@ -11,14 +11,14 @@ <p>This directory contains project files for Visual C++, named <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It -compiles the following libraries from the FreeType 2.5.3 sources:</p> +compiles the following libraries from the FreeType 2.5.4 sources:</p> <ul> <pre> - freetype253.lib - release build; single threaded - freetype253_D.lib - debug build; single threaded - freetype253MT.lib - release build; multi-threaded - freetype253MT_D.lib - debug build; multi-threaded</pre> + freetype254.lib - release build; single threaded + freetype254_D.lib - debug build; single threaded + freetype254MT.lib - release build; multi-threaded + freetype254MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/freetype.sln b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/freetype.sln index 0995f806174..0995f806174 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/freetype.sln +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/freetype.sln diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/freetype.vcproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/freetype.vcproj index 8e41d725f37..5507d10f3dc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/freetype.vcproj @@ -70,7 +70,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\win32\vc2008\freetype253.lib" + OutputFile="..\..\..\objs\win32\vc2008\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -145,7 +145,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\win32\vc2008\freetype253MT.lib" + OutputFile="..\..\..\objs\win32\vc2008\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -220,7 +220,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\win32\vc2008\freetype253ST.lib" + OutputFile="..\..\..\objs\win32\vc2008\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -292,7 +292,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\win32\vc2008\freetype253_D.lib" + OutputFile="..\..\..\objs\win32\vc2008\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -365,7 +365,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\win32\vc2008\freetype253ST_D.lib" + OutputFile="..\..\..\objs\win32\vc2008\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -439,7 +439,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\win32\vc2008\freetype253MT_D.lib" + OutputFile="..\..\..\objs\win32\vc2008\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/index.html index 6588b61fbc9..dd83bb05755 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2008/index.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2008/index.html @@ -11,14 +11,14 @@ <p>This directory contains project files for Visual C++, named <tt>freetype.vcproj</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It -compiles the following libraries from the FreeType 2.5.3 sources:</p> +compiles the following libraries from the FreeType 2.5.4 sources:</p> <ul> <pre> - freetype253.lib - release build; single threaded - freetype253_D.lib - debug build; single threaded - freetype253MT.lib - release build; multi-threaded - freetype253MT_D.lib - debug build; multi-threaded</pre> + freetype254.lib - release build; single threaded + freetype254_D.lib - debug build; single threaded + freetype254MT.lib - release build; multi-threaded + freetype254MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.sln b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.sln index 48d41830b4f..ce0b15b2d6c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.sln +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.sln @@ -5,20 +5,24 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcxpro EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Debug Multithreaded|Win32 = Debug Multithreaded|Win32 Debug Multithreaded|x64 = Debug Multithreaded|x64 Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32 Debug Singlethreaded|x64 = Debug Singlethreaded|x64 - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 Release Multithreaded|Win32 = Release Multithreaded|Win32 Release Multithreaded|x64 = Release Multithreaded|x64 Release Singlethreaded|Win32 = Release Singlethreaded|Win32 Release Singlethreaded|x64 = Release Singlethreaded|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.ActiveCfg = Debug|x64 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.Build.0 = Debug|x64 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|x64.ActiveCfg = Debug Multithreaded|x64 @@ -27,10 +31,10 @@ Global {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.ActiveCfg = Debug Singlethreaded|x64 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|x64.Build.0 = Debug Singlethreaded|x64 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.ActiveCfg = Debug|x64 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|x64.Build.0 = Debug|x64 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.ActiveCfg = Release|x64 + {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.Build.0 = Release|x64 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|x64.ActiveCfg = Release Multithreaded|x64 @@ -39,10 +43,6 @@ Global {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.ActiveCfg = Release Singlethreaded|x64 {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|x64.Build.0 = Release Singlethreaded|x64 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.ActiveCfg = Release|x64 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.user.props b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.user.props new file mode 100644 index 00000000000..fa86299127f --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.user.props @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * freetype.user.props + * + * + * You can specify custom options here without altering the project file. + * + * Multiple entries within each property are separated by semicolons (;). + * + * NOTE: If you want to link against zlib, libpng, bzip2 or harfbuzz, you + * should alter these values appropriately. + --> + +<Project ToolsVersion="4.0" + xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Label="Globals"> + + <!-- + * `;'-separated list of symbols to #define + --> + <UserDefines></UserDefines> + + <!-- + * path where your custom `ftoption.h' lives; + * this is searched BEFORE any other path + --> + <!-- <UserOptionDirectory>..\..\..\devel</UserOptionDirectory> --> + <UserOptionDirectory></UserOptionDirectory> + + <!-- + * `;'-separated list of paths to additional include directories, + * e.g., where to find zlib.h, png.h, etc.; + * this is searched AFTER any other path + --> + <!-- <UserIncludeDirectories>..\..\..\..\zlib-1.2.8;..\..\..\..\libpng-1.6.12</UserIncludeDirectories> --> + <UserIncludeDirectories></UserIncludeDirectories> + + <!-- + * `;'-separated list of paths to additional library directories, + * e.g., where to find zlib.lib, libpng.lib, etc. + --> + <!-- <UserLibraryDirectories>..\..\..\..\zlib-1.2.8;..\..\..\..\libpng-1.6.12</UserLibraryDirectories> --> + <UserLibraryDirectories></UserLibraryDirectories> + + <!-- + * `;'-separated list of additional linker dependencies, + * e.g., zlib.lib, libpng.lib, etc. + --> + <!-- <UserDependencies>zlib.lib;libpng16.lib</UserDependencies> --> + <UserDependencies></UserDependencies> + + </PropertyGroup> + + <!-- + * Example configuration for x64 debug build only + --> + + <!-- + <PropertyGroup Label="DebugProperties" + Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <UserDefines>ENABLE_DEBUG_HELPER;ENABLE_DEBUG_LOGGING</UserDefines> + <UserOptionDirectory>config\debug</UserOptionDirectory> + <UserIncludeDirectories>C:\mydebughelp\include</UserIncludeDirectories> + <UserLibraryDirectories>C:\mydebughelp\lib</UserLibraryDirectories> + <UserDependencies>dhelper64.lib</UserDependencies> + </PropertyGroup> + --> +</Project> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.vcxproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.vcxproj index 7c7a9ca6ffa..49f0b3f5644 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.vcxproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.vcxproj @@ -1,6 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> <ProjectConfiguration Include="Debug Multithreaded|Win32"> <Configuration>Debug Multithreaded</Configuration> <Platform>Win32</Platform> @@ -17,12 +25,12 @@ <Configuration>Debug Singlethreaded</Configuration> <Platform>x64</Platform> </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release Multithreaded|Win32"> @@ -41,62 +49,54 @@ <Configuration>Release Singlethreaded</Configuration> <Platform>x64</Platform> </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}</ProjectGuid> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> @@ -114,13 +114,13 @@ <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> <PlatformToolset>v100</PlatformToolset> </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseOfMfc>false</UseOfMfc> <CharacterSet>MultiByte</CharacterSet> @@ -131,18 +131,36 @@ </ImportGroup> <PropertyGroup> <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\objs\win32\vc2010\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\objs\release\</IntDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">.\..\..\..\objs\win32\vc2010\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">.\..\..\..\objs\release_mt\</IntDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">.\..\..\..\objs\win32\vc2010\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">.\..\..\..\objs\release_st\</IntDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\objs\win32\vc2010\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\objs\debug\</IntDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">.\..\..\..\objs\win32\vc2010\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">.\..\..\..\objs\debug_st\</IntDir> - <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">.\..\..\..\objs\win32\vc2010\</OutDir> - <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">.\..\..\..\objs\debug_mt\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" /> @@ -155,12 +173,12 @@ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'" /> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">AllRules.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'" /> @@ -173,309 +191,432 @@ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'" /> <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'" /> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> - <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> - <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype253_D</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype253_D</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype253MT_D</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype253MT_D</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype253ST_D</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype253ST_D</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype253</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype253</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype253MT</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype253MT</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype253ST</TargetName> - <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype253ST</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <OutDir>.\..\..\..\objs\win64\vc2010\</OutDir> - <IntDir>.\..\..\..\objs\debug\</IntDir> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype254d</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype254d</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype254MTd</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype254MTd</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'">freetype254STd</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'">freetype254STd</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype254</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype254</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype254MT</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype254MT</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">freetype254ST</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'">freetype254ST</TargetName> </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(SolutionDir)\freetype.user.props" Condition="exists('$(SolutionDir)\freetype.user.props')" Label="UserProperties" /> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat> - </DebugInformationFormat> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat> - </DebugInformationFormat> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'"> <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessToFile>false</PreprocessToFile> + <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat> - </DebugInformationFormat> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'"> <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessToFile>false</PreprocessToFile> + <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat> - </DebugInformationFormat> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'"> <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat> - </DebugInformationFormat> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> - <Lib /> + <Lib> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> + </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'"> <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat> - </DebugInformationFormat> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> - <Lib /> + <Lib> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> + </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <WholeProgramOptimization>false</WholeProgramOptimization> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointExceptions>false</FloatingPointExceptions> + <CreateHotpatchableImage>false</CreateHotpatchableImage> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName> + </ProgramDataBaseFileName> + <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> + <DebugInformationFormat> + </DebugInformationFormat> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <WholeProgramOptimization>false</WholeProgramOptimization> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointExceptions>false</FloatingPointExceptions> + <CreateHotpatchableImage>false</CreateHotpatchableImage> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName> + </ProgramDataBaseFileName> + <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> + <DebugInformationFormat> + </DebugInformationFormat> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|Win32'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'"> <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <WholeProgramOptimization>false</WholeProgramOptimization> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointExceptions>false</FloatingPointExceptions> + <CreateHotpatchableImage>false</CreateHotpatchableImage> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName> + </ProgramDataBaseFileName> + <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> + <DebugInformationFormat> + </DebugInformationFormat> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Singlethreaded|x64'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'"> <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <WholeProgramOptimization>false</WholeProgramOptimization> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointExceptions>false</FloatingPointExceptions> + <CreateHotpatchableImage>false</CreateHotpatchableImage> + <RuntimeTypeInfo>false</RuntimeTypeInfo> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName> + </ProgramDataBaseFileName> + <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> + <DebugInformationFormat> + </DebugInformationFormat> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> <Lib> <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'"> <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PreprocessToFile>false</PreprocessToFile> - <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <WholeProgramOptimization>false</WholeProgramOptimization> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointExceptions>false</FloatingPointExceptions> + <CreateHotpatchableImage>false</CreateHotpatchableImage> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName> + </ProgramDataBaseFileName> + <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> + <DebugInformationFormat> + </DebugInformationFormat> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> + <Lib /> <Lib> - <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'"> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|x64'"> <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PreprocessToFile>false</PreprocessToFile> - <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <Optimization>Full</Optimization> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> <DisableLanguageExtensions>true</DisableLanguageExtensions> <WarningLevel>Level4</WarningLevel> - <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> <DisableSpecificWarnings>4001</DisableSpecificWarnings> <MultiProcessorCompilation>true</MultiProcessorCompilation> + <WholeProgramOptimization>false</WholeProgramOptimization> + <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet> + <FloatingPointExceptions>false</FloatingPointExceptions> + <CreateHotpatchableImage>false</CreateHotpatchableImage> + <CompileAsManaged>false</CompileAsManaged> + <ProgramDataBaseFileName> + </ProgramDataBaseFileName> + <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations> + <DebugInformationFormat> + </DebugInformationFormat> + <IntrinsicFunctions>true</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> </ClCompile> <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions> <Culture>0x0409</Culture> </ResourceCompile> + <Lib /> <Lib> - <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies> </Lib> </ItemDefinitionGroup> <ItemGroup> @@ -1574,4 +1715,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> +</Project>
\ No newline at end of file diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.vcxproj.filters b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.vcxproj.filters index f2b3659b8af..f2b3659b8af 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/vc2010/freetype.vcxproj.filters +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/freetype.vcxproj.filters diff --git a/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/index.html new file mode 100644 index 00000000000..f63d4843396 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/vc2010/index.html @@ -0,0 +1,52 @@ +<html> +<header> +<title> + FreeType 2 Project Files for VS.NET 2010 or newer +</title> + +<body> +<h1> + FreeType 2 Project Files for VS.NET 2010 or newer +</h1> + +<p>This directory contains a project file for Visual C++ (VS.NET 2010 +or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called +<tt>freetype.sln</tt>. It compiles the following libraries from the +FreeType 2.5.4 sources:</p> + +<ul> + <pre> +freetype254.lib - release build +freetype254d.lib - debug build +freetype254ST.lib - release build; single threaded +freetype254STd.lib - debug build; single threaded +freetype254MT.lib - release build; multi-threaded +freetype254MTd.lib - debug build; multi-threaded</pre> +</ul> + +<p>Both Win32 and x64 builds are supported.</p> + +<p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP +archives are already stored this way, so no further action is required. If +you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting +tool to convert the line endings. For example, with <a +href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR +file smart CR/LF Conversion</em> option. Alternatively, you may consider +using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating +around, which specifically deal with this particular problem. + +<p>Build directories are placed in the top-level <tt>objs\vc2010</tt> +directory.</p> + +<p>Customization of the FreeType library is done by editing the +<tt>ftoptions.h</tt> header file in the top-level <tt>devel</tt> path. +Alternatively, you may copy the file to another directory and change the +include directory in <tt>freetype.users.props</tt>.</p> + +<p>To configure library dependencies like <em>zlib</em> and <em>libpng</em>, +edit the <tt>freetype.users.props</tt> file in this directory. It also +simplifies automated (command-line) builds using <a +href="http://msdn.microsoft.com/library/dd393574%28v=vs.100%29.aspx">msbuild</a>.</p> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.dsp b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.dsp index 45a608d622d..360046eaab7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.dsp +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug" @@ -78,7 +78,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" @@ -102,8 +102,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype253_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype254_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254MT_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" @@ -126,8 +126,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype253.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype254.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254MT.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" @@ -151,8 +151,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype253.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype253ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype254.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype254ST.lib" # SUBTRACT LIB32 /nologo !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" @@ -177,8 +177,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype253_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype254_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254ST_D.lib" !ENDIF diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.dsw b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.dsw index b1b375dbbc9..b1b375dbbc9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.dsw +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.dsw diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.sln b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.sln index 470d4fa3034..470d4fa3034 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.sln +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.sln diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.vcproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.vcproj index fdb78df6393..f5c5b50797c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/freetype.vcproj @@ -69,7 +69,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -144,7 +144,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -219,7 +219,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -291,7 +291,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -364,7 +364,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -438,7 +438,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/index.html index 261250a7de2..4a0b332922e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualc/index.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualc/index.html @@ -11,14 +11,14 @@ <p>This directory contains project files for Visual C++, named <tt>freetype.dsp</tt>, and Visual Studio, called <tt>freetype.sln</tt>. It -compiles the following libraries from the FreeType 2.5.3 sources:</p> +compiles the following libraries from the FreeType 2.5.4 sources:</p> <ul> <pre> - freetype253.lib - release build; single threaded - freetype253_D.lib - debug build; single threaded - freetype253MT.lib - release build; multi-threaded - freetype253MT_D.lib - debug build; multi-threaded</pre> + freetype254.lib - release build; single threaded + freetype254_D.lib - debug build; single threaded + freetype254MT.lib - release build; multi-threaded + freetype254MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.dsp b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.dsp index 45a608d622d..360046eaab7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.dsp +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug" @@ -78,7 +78,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" @@ -102,8 +102,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype253_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253MT_D.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype254_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254MT_D.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" @@ -126,8 +126,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype253.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253MT.lib" +# ADD BASE LIB32 /nologo /out:"lib\freetype254.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254MT.lib" !ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" @@ -151,8 +151,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype253.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype253ST.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype254.lib" +# ADD LIB32 /out:"..\..\..\objs\freetype254ST.lib" # SUBTRACT LIB32 /nologo !ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" @@ -177,8 +177,8 @@ BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype253_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype253ST_D.lib" +# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype254_D.lib" +# ADD LIB32 /nologo /out:"..\..\..\objs\freetype254ST_D.lib" !ENDIF diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.dsw b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.dsw index b1b375dbbc9..b1b375dbbc9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.dsw +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.dsw diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.vcproj b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.vcproj index 08461aa42ae..3652f9ce57e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/freetype.vcproj +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/freetype.vcproj @@ -87,7 +87,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -162,7 +162,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -237,7 +237,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -309,7 +309,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -382,7 +382,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -456,7 +456,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -534,7 +534,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -619,7 +619,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -704,7 +704,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -785,7 +785,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -867,7 +867,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -950,7 +950,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1036,7 +1036,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -1121,7 +1121,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -1206,7 +1206,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1287,7 +1287,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1369,7 +1369,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1452,7 +1452,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1538,7 +1538,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -1623,7 +1623,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -1708,7 +1708,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -1789,7 +1789,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1871,7 +1871,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -1954,7 +1954,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2040,7 +2040,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -2125,7 +2125,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -2210,7 +2210,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -2291,7 +2291,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2373,7 +2373,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2456,7 +2456,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2542,7 +2542,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -2627,7 +2627,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -2712,7 +2712,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -2793,7 +2793,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2875,7 +2875,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -2958,7 +2958,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool @@ -3044,7 +3044,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253.lib" + OutputFile="..\..\..\objs\freetype254.lib" SuppressStartupBanner="true" /> <Tool @@ -3129,7 +3129,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT.lib" + OutputFile="..\..\..\objs\freetype254MT.lib" SuppressStartupBanner="true" /> <Tool @@ -3214,7 +3214,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST.lib" + OutputFile="..\..\..\objs\freetype254ST.lib" /> <Tool Name="VCALinkTool" @@ -3295,7 +3295,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253_D.lib" + OutputFile="..\..\..\objs\freetype254_D.lib" SuppressStartupBanner="true" /> <Tool @@ -3377,7 +3377,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253ST_D.lib" + OutputFile="..\..\..\objs\freetype254ST_D.lib" SuppressStartupBanner="true" /> <Tool @@ -3460,7 +3460,7 @@ /> <Tool Name="VCLibrarianTool" - OutputFile="..\..\..\objs\freetype253MT_D.lib" + OutputFile="..\..\..\objs\freetype254MT_D.lib" SuppressStartupBanner="true" /> <Tool diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/index.html b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/index.html index 828e0887a0b..2a4d4a97f9e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/visualce/index.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/visualce/index.html @@ -21,14 +21,14 @@ the following targets: <li>PPC/SP WM6 (Windows Mobile 6)</li> </ul> -It compiles the following libraries from the FreeType 2.5.3 sources:</p> +It compiles the following libraries from the FreeType 2.5.4 sources:</p> <ul> <pre> - freetype253.lib - release build; single threaded - freetype253_D.lib - debug build; single threaded - freetype253MT.lib - release build; multi-threaded - freetype253MT_D.lib - debug build; multi-threaded</pre> + freetype254.lib - release build; single threaded + freetype254_D.lib - debug build; single threaded + freetype254MT.lib - release build; multi-threaded + freetype254MT_D.lib - debug build; multi-threaded</pre> </ul> <p>Be sure to extract the files with the Windows (CR+LF) line endings. ZIP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-bcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-bcc.mk index 87d8ea3c2bb..87d8ea3c2bb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-bcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-bcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-bccd.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-bccd.mk index dd21eddac0b..dd21eddac0b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-bccd.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-bccd.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-dev.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-dev.mk index 3561229473a..3561229473a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-dev.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-dev.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-gcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-gcc.mk index 3bbdd3cc46e..3bbdd3cc46e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-gcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-gcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-icc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-icc.mk index 44d26bd6c05..44d26bd6c05 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-icc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-icc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-intl.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-intl.mk index 0f3e22bc3fd..0f3e22bc3fd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-intl.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-intl.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-lcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-lcc.mk index 8bd5b568542..8bd5b568542 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-lcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-lcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-mingw32.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-mingw32.mk index b35dbb0c096..b35dbb0c096 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-mingw32.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-mingw32.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-vcc.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-vcc.mk index 95f76858f85..95f76858f85 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-vcc.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-vcc.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-wat.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-wat.mk index e1ddf66e351..e1ddf66e351 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/w32-wat.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/w32-wat.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/win32-def.mk b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/win32-def.mk index 61af5df0f95..61af5df0f95 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/builds/windows/win32-def.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/builds/windows/win32-def.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/configure b/Build/source/libs/freetype2/freetype-2.5.4/configure index 4d8a945a5a9..4d8a945a5a9 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/configure +++ b/Build/source/libs/freetype2/freetype-2.5.4/configure diff --git a/Build/source/libs/freetype2/freetype-2.5.3/devel/ft2build.h b/Build/source/libs/freetype2/freetype-2.5.4/devel/ft2build.h index 6cc34b77b42..6cc34b77b42 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/devel/ft2build.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/devel/ft2build.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/devel/ftoption.h b/Build/source/libs/freetype2/freetype-2.5.4/devel/ftoption.h index d7b6a630109..10027bb5441 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/devel/ftoption.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/devel/ftoption.h @@ -4,7 +4,7 @@ /* */ /* User-selectable configuration macros (specification only). */ /* */ -/* Copyright 1996-2013 by */ +/* Copyright 1996-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -61,7 +61,7 @@ FT_BEGIN_HEADER /* that are statically linked to the library at compile time. By */ /* default, this file is <config/ftmodule.h>. */ /* */ - /* We highly recommend using the third method whenever possible. */ + /* We highly recommend using the third method whenever possible. */ /* */ /*************************************************************************/ @@ -205,7 +205,7 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ - /* PNG bitmap support. */ + /* PNG bitmap support. */ /* */ /* FreeType now handles loading color bitmap glyphs in the PNG format. */ /* This requires help from the external libpng library. Uncompressed */ @@ -219,7 +219,7 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ - /* HarfBuzz support. */ + /* HarfBuzz support. */ /* */ /* FreeType uses the HarfBuzz library to improve auto-hinting of */ /* OpenType fonts. If available, many glyphs not directly addressable */ @@ -773,6 +773,30 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ + /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */ + /* possible to set up the default values of the four control points that */ + /* define the stem darkening behaviour of the (new) CFF engine. For */ + /* more details please read the documentation of the */ + /* `darkening-parameters' property of the cff driver module (file */ + /* `ftcffdrv.h'), which allows the control at run-time. */ + /* */ + /* Do *not* undefine these macros! */ + /* */ +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0 + + + /*************************************************************************/ + /* */ /* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */ /* engine gets compiled into FreeType. If defined, it is possible to */ /* switch between the two engines using the `hinting-engine' property of */ @@ -820,8 +844,8 @@ FT_BEGIN_HEADER /* - * This macro is obsolete. Support has been removed in FreeType - * version 2.5. + * This macro is obsolete. Support has been removed in FreeType + * version 2.5. */ /* #define FT_CONFIG_OPTION_OLD_INTERNALS */ @@ -837,6 +861,35 @@ FT_BEGIN_HEADER #define TT_USE_BYTECODE_INTERPRETER #endif + + /* + * Check CFF darkening parameters. The checks are the same as in function + * `cff_property_set' in file `cffdrivr.c'. + */ +#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500 +#error "Invalid CFF darkening parameters!" +#endif + FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/CHANGES b/Build/source/libs/freetype2/freetype-2.5.4/docs/CHANGES index 803f02dc6fa..94420f0952a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/CHANGES +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/CHANGES @@ -1,11 +1,82 @@ +CHANGES BETWEEN 2.5.3 and 2.5.4 + + I. IMPORTANT BUG FIXES + + - A variant of vulnerability CVE-2014-2240 was identified + (cf. http://savannah.nongnu.org/bugs/?43661) and fixed in the + new CFF driver. All users should upgrade. + + - The new auto-hinter code using HarfBuzz crashed for some invalid + fonts. + + - Many fixes to better protect against malformed input. + + + II. IMPORTANT CHANGES + + - Full auto-hinter support of the Devanagari script. + + - Experimental auto-hinter support of the Telugu script. + + - CFF stem darkening behaviour can now be controlled at build time + using the eight macros + + CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} . + + - Some fields in the `FT_Bitmap' structure have been changed from + signed to unsigned type, which better reflects the actual usage. + It is also an additional means to protect against malformed + input. + + This change doesn't break the ABI; however, it might cause + compiler warnings. + + + III. MISCELLANEOUS + + - Improvements to the auto-hinter's algorithm to recognize stems + and local extrema. + + - Function `FT_Get_SubGlyph_Info' always returned an error even in + case of success. + + - Version 2.5.1 introduced major bugs in the cjk part of the + auto-hinter, which are now fixed. + + - The `FT_Sfnt_Tag' enumeration values have been changed to + uppercase, e.g. `FT_SFNT_HEAD'. The lowercase variants are + deprecated. This is for orthogonality with all other + enumeration (and enumeration-like) values in FreeType. + + - `cmake' now supports builds of FreeType as an OS X framework and + for iOS. + + - Improved project files for vc2010, introducing a property file. + + - The documentation generator for the API reference has been + updated to produce better HTML code (with proper CSS). At the + same time, the documentation got a better structure. + + - The FT_LOAD_BITMAP_CROP flag is obsolete; it is not used by any + driver. + + - The TrueType DELTAP[123] bytecode instructions now work in + subpixel hinting mode as described in the ClearType whitepaper + (i.e., for touched points in the non-subpixel direction). + + - Many small improvements to the internal arithmetic routines. + + +====================================================================== + 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. + - A vulnerability (CVE-2014-2240) was identified and fixed in the + new CFF driver (cf. http://savannah.nongnu.org/bugs/?41697). + All users should upgrade. - More bug fixes related to correct positioning of composite glyphs. @@ -261,6 +332,9 @@ CHANGES BETWEEN 2.4.12 and 2.5 it accepts a new command line option `-H' to select the hinting engine. + - `ftdump's verbose option has been renamed to `-V'. For all demo + programs, `-v' now shows version information. + - Another round of TrueType subpixel hinting fixes. - The `apinames' tool can now create an import file for NetWare. diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/CMAKE b/Build/source/libs/freetype2/freetype-2.5.4/docs/CMAKE index 31237ae1516..31237ae1516 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/CMAKE +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/CMAKE diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/CUSTOMIZE b/Build/source/libs/freetype2/freetype-2.5.4/docs/CUSTOMIZE index dfadb4658d8..dfadb4658d8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/CUSTOMIZE +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/CUSTOMIZE diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/DEBUG b/Build/source/libs/freetype2/freetype-2.5.4/docs/DEBUG index d8c79d187a5..d8c79d187a5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/DEBUG +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/DEBUG diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/FTL.TXT b/Build/source/libs/freetype2/freetype-2.5.4/docs/FTL.TXT index bbaba33f47d..bbaba33f47d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/FTL.TXT +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/FTL.TXT diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/GPLv2.TXT b/Build/source/libs/freetype2/freetype-2.5.4/docs/GPLv2.TXT index b2fe7b6af35..b2fe7b6af35 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/GPLv2.TXT +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/GPLv2.TXT diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL index 456b76d2b55..456b76d2b55 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.ANY b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.ANY index 8aa394f1fc5..8aa394f1fc5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.ANY +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.ANY diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.CROSS b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.CROSS index d372adcfefa..d372adcfefa 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.CROSS +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.CROSS diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.GNU b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.GNU index 3b9e0a2df0c..3b9e0a2df0c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.GNU +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.GNU diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.MAC b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.MAC index 42bb0d8637c..42bb0d8637c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.MAC +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.MAC diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.UNIX b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.UNIX index 251c749a35d..251c749a35d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.UNIX +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.UNIX diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.VMS b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.VMS index 994e566883f..994e566883f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/INSTALL.VMS +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/INSTALL.VMS diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/LICENSE.TXT b/Build/source/libs/freetype2/freetype-2.5.4/docs/LICENSE.TXT index 99dc342d764..99dc342d764 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/LICENSE.TXT +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/LICENSE.TXT diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/MAKEPP b/Build/source/libs/freetype2/freetype-2.5.4/docs/MAKEPP index 58eaf551df8..58eaf551df8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/MAKEPP +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/MAKEPP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/PROBLEMS b/Build/source/libs/freetype2/freetype-2.5.4/docs/PROBLEMS index 40bdc35a676..40bdc35a676 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/PROBLEMS +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/PROBLEMS diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/TODO b/Build/source/libs/freetype2/freetype-2.5.4/docs/TODO index be60d6f040a..be60d6f040a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/TODO +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/TODO diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/VERSION.DLL b/Build/source/libs/freetype2/freetype-2.5.4/docs/VERSION.DLL index 7446954fe37..5564acf85d3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/VERSION.DLL +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/VERSION.DLL @@ -52,6 +52,7 @@ on _most_ systems, but not all of them: release libtool so ------------------------------- + 2.5.4 17.3.11 6.11.3 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 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/formats.txt b/Build/source/libs/freetype2/freetype-2.5.4/docs/formats.txt index aed885c89c2..aed885c89c2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/formats.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/formats.txt diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/freetype-config.1 b/Build/source/libs/freetype2/freetype-2.5.4/docs/freetype-config.1 index 99a17c57697..61aa722e397 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/freetype-config.1 +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/freetype-config.1 @@ -1,4 +1,4 @@ -.TH FREETYPE-CONFIG 1 "March 2014" "FreeType 2.5.3" +.TH FREETYPE-CONFIG 1 "December 2014" "FreeType 2.5.4" . . .SH NAME diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/raster.txt b/Build/source/libs/freetype2/freetype-2.5.4/docs/raster.txt index 95d9e24010b..95d9e24010b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/raster.txt +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/raster.txt diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/README b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/README index 51b04d6f151..51b04d6f151 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-auto_hinter.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-auto_hinter.html index d434ec47cbd..679acdf9b9c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-auto_hinter.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-auto_hinter.html @@ -3,58 +3,121 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> +<title>FreeType-2.5.4 API Reference</title> <style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; - background: #FFFFFF; } + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } - p { text-align: justify; } h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } + p { text-align: justify; } + + pre.colored { color: blue; } span.keyword { font-family: monospace; text-align: left; white-space: pre; color: darkblue; } - pre.colored { color: blue; } + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } - ul.empty { list-style-type: none; } </style> </head> <body> -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> -<center><h1> -The auto-hinter -</h1></center> +<h1>The auto-hinter</h1> <h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#glyph-to-script-map">glyph-to-script-map</a></td><td></td><td><a href="#default-script">default-script</a></td></tr> -<tr><td></td><td><a href="#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td></td><td><a href="#increase-x-height">increase-x-height</a></td></tr> -<tr><td></td><td><a href="#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td></td><td><a href="#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td></tr> -<tr><td></td><td><a href="#fallback-script">fallback-script</a></td><td></td><td></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> +<table class="synopsis"> +<tr><td><a href="#glyph-to-script-map">glyph-to-script-map</a></td><td><a href="#default-script">default-script</a></td></tr> +<tr><td><a href="#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="#increase-x-height">increase-x-height</a></td></tr> +<tr><td><a href="#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td></tr> +<tr><td><a href="#fallback-script">fallback-script</a></td><td></td></tr> +</table> + + <p>While FreeType's auto-hinter doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>. The following lists the available properties together with the necessary macros and structures.</p> <p>Note that the auto-hinter's module name is ‘autofitter’ for historical reasons.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="glyph-to-script-map">glyph-to-script-map</a></h4> -<table align=center width="87%"><tr><td> + +<div class="section"> +<h3 id="glyph-to-script-map">glyph-to-script-map</h3> + <p><b>Experimental</b> <b>only</b></p> <p>The auto-hinter provides various script modules to hint glyphs. Examples of supported scripts are Latin or CJK. Before a glyph is auto-hinted, the Unicode character map of the font gets examined, and the script is then determined based on Unicode character ranges, see below.</p> <p>OpenType fonts, however, often provide much more glyphs than character codes (small caps, superscripts, ligatures, swashes, etc.), to be controlled by so-called ‘features’. Handling OpenType features can be quite complicated and thus needs a separate library on top of FreeType.</p> @@ -78,39 +141,29 @@ The auto-hinter FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT ); </pre> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_AUTOHINTER_H (ftautoh.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a> 0 -#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a> 1 -#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a> 2 -#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a> 3 - -</pre></table><br> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</h3> +<p>Defined in FT_AUTOHINTER_H (ftautoh.h).</p> +<pre> +#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_NONE">FT_AUTOHINTER_SCRIPT_NONE</a> 0 +#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_LATIN">FT_AUTOHINTER_SCRIPT_LATIN</a> 1 +#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_CJK">FT_AUTOHINTER_SCRIPT_CJK</a> 2 +#define <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_INDIC">FT_AUTOHINTER_SCRIPT_INDIC</a> 3 +</pre> + <p><b>Experimental</b> <b>only</b></p> <p>A list of constants used for the <a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a> property to specify the script submodule the auto-hinter should use for hinting a particular glyph.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_AUTOHINTER_SCRIPT_NONE</b></td></tr> -<tr valign=top><td></td><td> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_AUTOHINTER_SCRIPT_NONE">FT_AUTOHINTER_SCRIPT_NONE</td><td class="desc"> <p>Don't auto-hint this glyph.</p> </td></tr> -<tr valign=top><td colspan=0><b>FT_AUTOHINTER_SCRIPT_LATIN</b></td></tr> -<tr valign=top><td></td><td> +<tr><td class="val" id="FT_AUTOHINTER_SCRIPT_LATIN">FT_AUTOHINTER_SCRIPT_LATIN</td><td class="desc"> <p>Apply the latin auto-hinter. For the auto-hinter, ‘latin’ is a very broad term, including Cyrillic and Greek also since characters from those scripts share the same design constraints.</p> <p>By default, characters from the following Unicode ranges are assigned to this submodule.</p> <pre class="colored"> @@ -145,8 +198,7 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). </pre> <p></p> </td></tr> -<tr valign=top><td colspan=0><b>FT_AUTOHINTER_SCRIPT_CJK</b></td></tr> -<tr valign=top><td></td><td> +<tr><td class="val" id="FT_AUTOHINTER_SCRIPT_CJK">FT_AUTOHINTER_SCRIPT_CJK</td><td class="desc"> <p>Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old Vietnamese, and some other scripts.</p> <p>By default, characters from the following Unicode ranges are assigned to this submodule.</p> <pre class="colored"> @@ -185,8 +237,7 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). </pre> <p></p> </td></tr> -<tr valign=top><td colspan=0><b>FT_AUTOHINTER_SCRIPT_INDIC</b></td></tr> -<tr valign=top><td></td><td> +<tr><td class="val" id="FT_AUTOHINTER_SCRIPT_INDIC">FT_AUTOHINTER_SCRIPT_INDIC</td><td class="desc"> <p>Apply the indic auto-hinter, covering all major scripts from the Indian sub-continent and some other related scripts like Thai, Lao, or Tibetan.</p> <p>By default, characters from the following Unicode ranges are assigned to this submodule.</p> <pre class="colored"> @@ -201,41 +252,31 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). <p>Note that currently Indic support is rudimentary only, missing blue zone support.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_AUTOHINTER_H (ftautoh.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_GlyphToScriptMap_ - { - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; - <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* map; - - } <b>FT_Prop_GlyphToScriptMap</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</h3> +<p>Defined in FT_AUTOHINTER_H (ftautoh.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_GlyphToScriptMap_ + { + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* map; + + } <b>FT_Prop_GlyphToScriptMap</b>; +</pre> + <p><b>Experimental</b> <b>only</b></p> <p>The data exchange structure for the <a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a> property.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="fallback-script">fallback-script</a></h4> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="fallback-script">fallback-script</h3> + <p><b>Experimental</b> <b>only</b></p> <p>If no auto-hinter script module can be assigned to a glyph, a fallback script gets assigned to it (see also the <a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a> property). By default, this is <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a>. Using the ‘fallback-script’ property, this fallback value can be changed.</p> <pre class="colored"> @@ -248,20 +289,17 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). FT_Property_Set( library, "autofitter", "fallback-script", &fallback_script ); </pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the fallback script value gets triggered either by setting or reading a face-specific property like <a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a>, or by auto-hinting any glyph from that face. In particular, if you have already created an <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure but not loaded any glyph (using the auto-hinter), a change of the fallback script will affect this face.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="default-script">default-script</a></h4> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="default-script">default-script</h3> + <p><b>Experimental</b> <b>only</b></p> <p>If Freetype gets compiled with FT_CONFIG_OPTION_USE_HARFBUZZ to make the HarfBuzz library access OpenType features for getting better glyph coverages, this property sets the (auto-fitter) script to be used for the default (OpenType) script data of a font's GSUB table. Features for the default script are intended for all scripts not explicitly handled in GSUB; an example is a ‘dlig’ feature, containing the combination of the characters ‘T’, ‘E’, and ‘L’ to form a ‘TEL’ ligature.</p> <p>By default, this is <a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a>. Using the ‘default-script’ property, this default value can be changed.</p> @@ -275,20 +313,17 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). FT_Property_Set( library, "autofitter", "default-script", &default_script ); </pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>It's important to use the right timing for changing this value: The creation of the glyph-to-script map that eventually uses the default script value gets triggered either by setting or reading a face-specific property like <a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a>, or by auto-hinting any glyph from that face. In particular, if you have already created an <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure but not loaded any glyph (using the auto-hinter), a change of the default script will affect this face.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="increase-x-height">increase-x-height</a></h4> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="increase-x-height">increase-x-height</h3> + <p>For ppem values in the range 6 <= ppem <= ‘increase-x-height’, round up the font's x height much more often than normally. If the value is set to 0, which is the default, this feature is switched off. Use this property to improve the legibility of small font sizes if necessary.</p> <pre class="colored"> FT_Library library; @@ -306,40 +341,30 @@ Defined in FT_AUTOHINTER_H (ftautoh.h). FT_Property_Set( library, "autofitter", "increase-x-height", &prop ); </pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> <p>Set this value right after calling <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, but before loading any glyph (using the auto-hinter).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_AUTOHINTER_H (ftautoh.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_IncreaseXHeight_ - { - <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> limit; - - } <b>FT_Prop_IncreaseXHeight</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</h3> +<p>Defined in FT_AUTOHINTER_H (ftautoh.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Prop_IncreaseXHeight_ + { + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> limit; + + } <b>FT_Prop_IncreaseXHeight</b>; +</pre> + <p>The data exchange structure for the <a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a> property.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-base_interface.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-base_interface.html new file mode 100644 index 00000000000..45377402663 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-base_interface.html @@ -0,0 +1,2939 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Base Interface</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Library">FT_Library</a></td><td><a href="#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="#FT_LOAD_COLOR">FT_LOAD_COLOR</a></td></tr> +<tr><td><a href="#FT_Face">FT_Face</a></td><td><a href="#FT_SubGlyph">FT_SubGlyph</a></td><td> </td></tr> +<tr><td><a href="#FT_Size">FT_Size</a></td><td> </td><td><a href="#FT_LOAD_VERTICAL_LAYOUT">FT_LOAD_VERTICAL_LAYOUT</a></td></tr> +<tr><td><a href="#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="#FT_LOAD_IGNORE_TRANSFORM">FT_LOAD_IGNORE_TRANSFORM</a></td></tr> +<tr><td><a href="#FT_CharMap">FT_CharMap</a></td><td> </td><td><a href="#FT_LOAD_FORCE_AUTOHINT">FT_LOAD_FORCE_AUTOHINT</a></td></tr> +<tr><td><a href="#FT_Encoding">FT_Encoding</a></td><td><a href="#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="#FT_LOAD_NO_RECURSE">FT_LOAD_NO_RECURSE</a></td></tr> +<tr><td><a href="#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="#FT_LOAD_PEDANTIC">FT_LOAD_PEDANTIC</a></td></tr> +<tr><td> </td><td> </td><td> </td></tr> +<tr><td><a href="#FT_FaceRec">FT_FaceRec</a></td><td><a href="#FT_New_Face">FT_New_Face</a></td><td><a href="#FT_LOAD_TARGET_NORMAL">FT_LOAD_TARGET_NORMAL</a></td></tr> +<tr><td> </td><td><a href="#FT_Done_Face">FT_Done_Face</a></td><td><a href="#FT_LOAD_TARGET_LIGHT">FT_LOAD_TARGET_LIGHT</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a></td><td><a href="#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="#FT_LOAD_TARGET_MONO">FT_LOAD_TARGET_MONO</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD">FT_LOAD_TARGET_LCD</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="#FT_Open_Face">FT_Open_Face</a></td><td><a href="#FT_LOAD_TARGET_LCD_V">FT_LOAD_TARGET_LCD_V</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="#FT_Open_Args">FT_Open_Args</a></td><td> </td></tr> +<tr><td><a href="#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a></td><td><a href="#FT_Parameter">FT_Parameter</a></td><td><a href="#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a></td><td><a href="#FT_Attach_File">FT_Attach_File</a></td><td> </td></tr> +<tr><td><a href="#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a></td><td><a href="#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="#FT_Render_Glyph">FT_Render_Glyph</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a></td><td> </td><td><a href="#FT_Render_Mode">FT_Render_Mode</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a></td><td><a href="#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="#FT_Get_Kerning">FT_Get_Kerning</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a></td><td><a href="#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="#FT_Kerning_Mode">FT_Kerning_Mode</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="#FT_Request_Size">FT_Request_Size</a></td><td><a href="#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="#FT_Select_Size">FT_Select_Size</a></td><td><a href="#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_EXTERNAL_STREAM">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td></tr> +<tr><td><a href="#FT_FACE_FLAG_HINTER">FT_FACE_FLAG_HINTER</a></td><td><a href="#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td> </td></tr> +<tr><td><a href="#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a></td><td><a href="#FT_Size_Request">FT_Size_Request</a></td><td><a href="#FT_CharMapRec">FT_CharMapRec</a></td></tr> +<tr><td> </td><td><a href="#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="#FT_Select_Charmap">FT_Select_Charmap</a></td></tr> +<tr><td><a href="#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="#FT_Set_Charmap">FT_Set_Charmap</a></td></tr> +<tr><td><a href="#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td></tr> +<tr><td><a href="#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="#FT_Get_First_Char">FT_Get_First_Char</a></td><td> </td></tr> +<tr><td><a href="#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td></tr> +<tr><td><a href="#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td></tr> +<tr><td><a href="#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="#FT_Load_Char">FT_Load_Char</a></td><td> </td></tr> +<tr><td><a href="#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td> </td><td><a href="#FT_Face_Internal">FT_Face_Internal</a></td></tr> +<tr><td> </td><td><a href="#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a></td><td><a href="#FT_Size_Internal">FT_Size_Internal</a></td></tr> +<tr><td><a href="#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="#FT_OPEN_STREAM">FT_OPEN_STREAM</a></td><td><a href="#FT_Slot_Internal">FT_Slot_Internal</a></td></tr> +<tr><td><a href="#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="#FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</a></td><td> </td></tr> +<tr><td><a href="#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="#FT_OPEN_DRIVER">FT_OPEN_DRIVER</a></td><td><a href="#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td></tr> +<tr><td><a href="#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a></td><td><a href="#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td></tr> +<tr><td><a href="#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td> </td><td><a href="#FT_OPEN_XXX">FT_OPEN_XXX</a></td></tr> +<tr><td> </td><td><a href="#FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</a></td><td><a href="#FT_LOAD_XXX">FT_LOAD_XXX</a></td></tr> +<tr><td><a href="#FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</a></td><td><a href="#FT_LOAD_RENDER">FT_LOAD_RENDER</a></td><td><a href="#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td></tr> +<tr><td><a href="#FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</a></td><td><a href="#FT_LOAD_MONOCHROME">FT_LOAD_MONOCHROME</a></td><td><a href="#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td></tr> +<tr><td> </td><td><a href="#FT_LOAD_LINEAR_DESIGN">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td></tr> +<tr><td><a href="#FT_SizeRec">FT_SizeRec</a></td><td><a href="#FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</a></td><td> </td></tr> +<tr><td><a href="#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="#FT_LOAD_NO_HINTING">FT_LOAD_NO_HINTING</a></td><td><a href="#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td></tr> +<tr><td> </td><td><a href="#FT_LOAD_NO_BITMAP">FT_LOAD_NO_BITMAP</a></td><td></td></tr> +<tr><td><a href="#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="#FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</a></td><td></td></tr> +</table> + + +<p>This section describes the most important public high-level API functions of FreeType 2.</p> + +<div class="section"> +<h3 id="FT_Library">FT_Library</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_LibraryRec_ *<b>FT_Library</b>; +</pre> + +<p>A handle to a FreeType library instance. Each ‘library’ is completely independent from the others; it is the ‘root’ of a set of objects like fonts, faces, sizes, etc.</p> +<p>It also embeds a memory manager (see <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a>), as well as a scan-line converter object (see <a href="ft2-raster.html#FT_Raster">FT_Raster</a>).</p> +<p>In multi-threaded applications, make sure that the same FT_Library object or any of its children doesn't get accessed in parallel.</p> + +<h4>note</h4> +<p>Library objects are normally created by <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>, and destroyed with <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>. If you need reference-counting (cf. <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>), use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> and <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face">FT_Face</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_* <b>FT_Face</b>; +</pre> + +<p>A handle to a given typographic face object. A face object models a given typeface, in a given style.</p> + +<h4>note</h4> +<p>Each face object also owns a single <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object, as well as one or more <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> +<p>Use <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to create a new face object from a given filepathname or a custom input stream.</p> +<p>Use <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> to destroy it (along with its slot and sizes).</p> + +<h4>also</h4> +<p>See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the publicly accessible fields of a given face object.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Size">FT_Size</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_* <b>FT_Size</b>; +</pre> + +<p>A handle to an object used to model a face scaled to a given character size.</p> + +<h4>note</h4> +<p>Each <a href="ft2-base_interface.html#FT_Face">FT_Face</a> has an <i>active</i> <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object that is used by functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to determine the scaling transformation that in turn is used to load and hint glyphs and metrics.</p> +<p>You can use <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> or even <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> to change the content (i.e., the scaling values) of the active <a href="ft2-base_interface.html#FT_Size">FT_Size</a>.</p> +<p>You can use <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> to create additional size objects for a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a>, but they won't be used by other functions until you activate it through <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a>. Only one size can be activated at any given time per face.</p> + +<h4>also</h4> +<p>See <a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a> for the publicly accessible fields of a given size object.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GlyphSlot">FT_GlyphSlot</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_* <b>FT_GlyphSlot</b>; +</pre> + +<p>A handle to a given ‘glyph slot’. A slot is a container where it is possible to load any of the glyphs contained in its parent face.</p> +<p>In other words, each time you call <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, the slot's content is erased by the new glyph data, i.e., the glyph's metrics, its image (bitmap or outline), and other control information.</p> + +<h4>also</h4> +<p>See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for the publicly accessible glyph fields.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CharMap">FT_CharMap</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_* <b>FT_CharMap</b>; +</pre> + +<p>A handle to a given character map. A charmap is used to translate character codes in a given encoding into glyph indexes for its parent's face. Some font formats may provide several charmaps per font.</p> +<p>Each face object owns zero or more charmaps, but only one of them can be ‘active’ and used by <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p> +<p>The list of available charmaps in a face is available through the ‘face->num_charmaps’ and ‘face->charmaps’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +<p>The currently active charmap is available as ‘face->charmap’. You should call <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> to change it.</p> + +<h4>note</h4> +<p>When a new face is created (either through <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>), the library looks for a Unicode charmap within the list and automatically activates it.</p> + +<h4>also</h4> +<p>See <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> for the publicly accessible fields of a given character map.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Encoding">FT_Encoding</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Encoding_ + { + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_NONE">FT_ENCODING_NONE</a>, 0, 0, 0, 0 ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_MS_SYMBOL">FT_ENCODING_MS_SYMBOL</a>, 's', 'y', 'm', 'b' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_UNICODE">FT_ENCODING_UNICODE</a>, 'u', 'n', 'i', 'c' ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_SJIS">FT_ENCODING_SJIS</a>, 's', 'j', 'i', 's' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_GB2312">FT_ENCODING_GB2312</a>, 'g', 'b', ' ', ' ' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_BIG5">FT_ENCODING_BIG5</a>, 'b', 'i', 'g', '5' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_WANSUNG">FT_ENCODING_WANSUNG</a>, 'w', 'a', 'n', 's' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_JOHAB">FT_ENCODING_JOHAB</a>, 'j', 'o', 'h', 'a' ), + + /* for backwards compatibility */ + <a href="ft2-base_interface.html#FT_ENCODING_MS_SJIS">FT_ENCODING_MS_SJIS</a> = <a href="ft2-base_interface.html#FT_ENCODING_SJIS">FT_ENCODING_SJIS</a>, + <a href="ft2-base_interface.html#FT_ENCODING_MS_GB2312">FT_ENCODING_MS_GB2312</a> = <a href="ft2-base_interface.html#FT_ENCODING_GB2312">FT_ENCODING_GB2312</a>, + <a href="ft2-base_interface.html#FT_ENCODING_MS_BIG5">FT_ENCODING_MS_BIG5</a> = <a href="ft2-base_interface.html#FT_ENCODING_BIG5">FT_ENCODING_BIG5</a>, + <a href="ft2-base_interface.html#FT_ENCODING_MS_WANSUNG">FT_ENCODING_MS_WANSUNG</a> = <a href="ft2-base_interface.html#FT_ENCODING_WANSUNG">FT_ENCODING_WANSUNG</a>, + <a href="ft2-base_interface.html#FT_ENCODING_MS_JOHAB">FT_ENCODING_MS_JOHAB</a> = <a href="ft2-base_interface.html#FT_ENCODING_JOHAB">FT_ENCODING_JOHAB</a>, + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_STANDARD">FT_ENCODING_ADOBE_STANDARD</a>, 'A', 'D', 'O', 'B' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_EXPERT">FT_ENCODING_ADOBE_EXPERT</a>, 'A', 'D', 'B', 'E' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_CUSTOM">FT_ENCODING_ADOBE_CUSTOM</a>, 'A', 'D', 'B', 'C' ), + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_LATIN_1">FT_ENCODING_ADOBE_LATIN_1</a>, 'l', 'a', 't', '1' ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_OLD_LATIN_2">FT_ENCODING_OLD_LATIN_2</a>, 'l', 'a', 't', '2' ), + + <a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a>( <a href="ft2-base_interface.html#FT_ENCODING_APPLE_ROMAN">FT_ENCODING_APPLE_ROMAN</a>, 'a', 'r', 'm', 'n' ) + + } <b>FT_Encoding</b>; + + + /* these constants are deprecated; use the corresponding `<b>FT_Encoding</b>' */ + /* values instead */ +#define ft_encoding_none <a href="ft2-base_interface.html#FT_ENCODING_NONE">FT_ENCODING_NONE</a> +#define ft_encoding_unicode <a href="ft2-base_interface.html#FT_ENCODING_UNICODE">FT_ENCODING_UNICODE</a> +#define ft_encoding_symbol <a href="ft2-base_interface.html#FT_ENCODING_MS_SYMBOL">FT_ENCODING_MS_SYMBOL</a> +#define ft_encoding_latin_1 <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_LATIN_1">FT_ENCODING_ADOBE_LATIN_1</a> +#define ft_encoding_latin_2 <a href="ft2-base_interface.html#FT_ENCODING_OLD_LATIN_2">FT_ENCODING_OLD_LATIN_2</a> +#define ft_encoding_sjis <a href="ft2-base_interface.html#FT_ENCODING_SJIS">FT_ENCODING_SJIS</a> +#define ft_encoding_gb2312 <a href="ft2-base_interface.html#FT_ENCODING_GB2312">FT_ENCODING_GB2312</a> +#define ft_encoding_big5 <a href="ft2-base_interface.html#FT_ENCODING_BIG5">FT_ENCODING_BIG5</a> +#define ft_encoding_wansung <a href="ft2-base_interface.html#FT_ENCODING_WANSUNG">FT_ENCODING_WANSUNG</a> +#define ft_encoding_johab <a href="ft2-base_interface.html#FT_ENCODING_JOHAB">FT_ENCODING_JOHAB</a> + +#define ft_encoding_adobe_standard <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_STANDARD">FT_ENCODING_ADOBE_STANDARD</a> +#define ft_encoding_adobe_expert <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_EXPERT">FT_ENCODING_ADOBE_EXPERT</a> +#define ft_encoding_adobe_custom <a href="ft2-base_interface.html#FT_ENCODING_ADOBE_CUSTOM">FT_ENCODING_ADOBE_CUSTOM</a> +#define ft_encoding_apple_roman <a href="ft2-base_interface.html#FT_ENCODING_APPLE_ROMAN">FT_ENCODING_APPLE_ROMAN</a> +</pre> + +<p>An enumeration used to specify character sets supported by charmaps. Used in the <a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a> API function.</p> + +<h4>note</h4> +<p>Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).</p> +<p>Other encodings might be defined in the future.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_ENCODING_NONE">FT_ENCODING_NONE</td><td class="desc"> +<p>The encoding value 0 is reserved.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_UNICODE">FT_ENCODING_UNICODE</td><td class="desc"> +<p>Corresponds to the Unicode character set. This value covers all versions of the Unicode repertoire, including ASCII and Latin-1. Most fonts include a Unicode charmap, but not all of them.</p> +<p>For example, if you want to access Unicode value U+1F028 (and the font contains it), use value 0x1F028 as the input value for <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a>.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_MS_SYMBOL">FT_ENCODING_MS_SYMBOL</td><td class="desc"> +<p>Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see ‘<a href="http://www.kostis.net/charsets/symbol.htm">http://www.kostis.net/charsets/symbol.htm</a>’.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_SJIS">FT_ENCODING_SJIS</td><td class="desc"> +<p>Corresponds to Japanese SJIS encoding. More info at at ‘<a href="http://en.wikipedia.org/wiki/Shift_JIS">http://en.wikipedia.org/wiki/Shift_JIS</a>’. See note on multi-byte encodings below.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_GB2312">FT_ENCODING_GB2312</td><td class="desc"> +<p>Corresponds to an encoding system for Simplified Chinese as used used in mainland China.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_BIG5">FT_ENCODING_BIG5</td><td class="desc"> +<p>Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_WANSUNG">FT_ENCODING_WANSUNG</td><td class="desc"> +<p>Corresponds to the Korean encoding system known as Wansung. For more information see ‘<a href="http://msdn.microsoft.com/en-US/goglobal/cc305154">http://msdn.microsoft.com/en-US/goglobal/cc305154</a>’.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_JOHAB">FT_ENCODING_JOHAB</td><td class="desc"> +<p>The Korean standard character set (KS C 5601-1992), which corresponds to MS Windows code page 1361. This character set includes all possible Hangeul character combinations.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_ADOBE_LATIN_1">FT_ENCODING_ADOBE_LATIN_1</td><td class="desc"> +<p>Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It is limited to 256 character codes.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_ADOBE_STANDARD">FT_ENCODING_ADOBE_STANDARD</td><td class="desc"> +<p>Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_ADOBE_EXPERT">FT_ENCODING_ADOBE_EXPERT</td><td class="desc"> +<p>Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_ADOBE_CUSTOM">FT_ENCODING_ADOBE_CUSTOM</td><td class="desc"> +<p>Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_APPLE_ROMAN">FT_ENCODING_APPLE_ROMAN</td><td class="desc"> +<p>Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType fonts contain a charmap for this encoding, since older versions of Mac OS are able to use it.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_OLD_LATIN_2">FT_ENCODING_OLD_LATIN_2</td><td class="desc"> +<p>This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_MS_SJIS">FT_ENCODING_MS_SJIS</td><td class="desc"> +<p>Same as FT_ENCODING_SJIS. Deprecated.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_MS_GB2312">FT_ENCODING_MS_GB2312</td><td class="desc"> +<p>Same as FT_ENCODING_GB2312. Deprecated.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_MS_BIG5">FT_ENCODING_MS_BIG5</td><td class="desc"> +<p>Same as FT_ENCODING_BIG5. Deprecated.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_MS_WANSUNG">FT_ENCODING_MS_WANSUNG</td><td class="desc"> +<p>Same as FT_ENCODING_WANSUNG. Deprecated.</p> +</td></tr> +<tr><td class="val" id="FT_ENCODING_MS_JOHAB">FT_ENCODING_MS_JOHAB</td><td class="desc"> +<p>Same as FT_ENCODING_JOHAB. Deprecated.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>By default, FreeType automatically synthesizes a Unicode charmap for PostScript fonts, using their glyph names dictionaries. However, it also reports the encodings defined explicitly in the font file, for the cases when they are needed, with the Adobe values as well.</p> +<p>FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap is neither Unicode nor ISO-8859-1 (otherwise it is set to FT_ENCODING_UNICODE). Use <a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a> to find out which encoding is really present. If, for example, the ‘cs_registry’ field is ‘KOI8’ and the ‘cs_encoding’ field is ‘R’, the font is encoded in KOI8-R.</p> +<p>FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use <a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a> and examine the ‘charset’ field of the <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure to find out which encoding is really present. For example, <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a> (204) means Windows code page 1251 (for Russian).</p> +<p>FT_ENCODING_NONE is set if ‘platform_id’ is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> and ‘encoding_id’ is not <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> (otherwise it is set to FT_ENCODING_APPLE_ROMAN).</p> +<p>If ‘platform_id’ is <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a>, use the function <a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a> to query the Mac language ID that may be needed to be able to distinguish Apple encoding variants. See</p> +<p><a href="http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt">http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt</a></p> +<p>to get an idea how to do that. Basically, if the language ID is 0, don't use it, otherwise subtract 1 from the language ID. Then examine ‘encoding_id’. If, for example, ‘encoding_id’ is <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ENC_TAG">FT_ENC_TAG</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#ifndef <b>FT_ENC_TAG</b> +#define <b>FT_ENC_TAG</b>( value, a, b, c, d ) \ + value = ( ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(a) << 24 ) | \ + ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(b) << 16 ) | \ + ( (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(c) << 8 ) | \ + (<a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>)(d) ) + +#endif /* <b>FT_ENC_TAG</b> */ +</pre> + +<p>This macro converts four-letter tags into an unsigned long. It is used to define ‘encoding’ identifiers (see <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a>).</p> + +<h4>note</h4> +<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> +<pre class="colored"> + #define FT_ENC_TAG( value, a, b, c, d ) value +</pre> +<p>to get a simple enumeration without assigning special numbers.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_FaceRec">FT_FaceRec</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_FaceRec_ + { + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> num_faces; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_flags; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> style_flags; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> num_glyphs; + + <a href="ft2-basic_types.html#FT_String">FT_String</a>* family_name; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* style_name; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_fixed_sizes; + <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a>* available_sizes; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_charmaps; + <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a>* charmaps; + + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; + + /*# The following member variables (down to `underline_thickness') */ + /*# are only relevant to scalable outlines; cf. @<a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a> */ + /*# for bitmap fonts. */ + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> bbox; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> units_per_EM; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> ascender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> descender; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> height; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> max_advance_width; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> max_advance_height; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_position; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_thickness; + + <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph; + <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size; + <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap; + + /*@private begin */ + + <a href="ft2-module_management.html#FT_Driver">FT_Driver</a> driver; + <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory; + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream; + + <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a> sizes_list; + + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> autohint; /* face-specific auto-hinter data */ + <span class="keyword">void</span>* extensions; /* unused */ + + <a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a> internal; + + /*@private end */ + + } <b>FT_FaceRec</b>; +</pre> + +<p>FreeType root face class structure. A face object models a typeface in a font file.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="num_faces">num_faces</td><td class="desc"> +<p>The number of faces in the font file. Some font formats can have multiple faces in a font file.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>The index of the face in the font file. It is set to 0 if there is only one face in the font file.</p> +</td></tr> +<tr><td class="val" id="face_flags">face_flags</td><td class="desc"> +<p>A set of bit flags that give important information about the face; see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a> for the details.</p> +</td></tr> +<tr><td class="val" id="style_flags">style_flags</td><td class="desc"> +<p>A set of bit flags indicating the style of the face; see <a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a> for the details.</p> +</td></tr> +<tr><td class="val" id="num_glyphs">num_glyphs</td><td class="desc"> +<p>The number of glyphs in the face. If the face is scalable and has sbits (see ‘num_fixed_sizes’), it is set to the number of outline glyphs.</p> +<p>For CID-keyed fonts, this value gives the highest CID used in the font.</p> +</td></tr> +<tr><td class="val" id="family_name">family_name</td><td class="desc"> +<p>The face's family name. This is an ASCII string, usually in English, that describes the typeface's family (like ‘Times New Roman’, ‘Bodoni’, ‘Garamond’, etc). This is a least common denominator used to list fonts. Some formats (TrueType & OpenType) provide localized and Unicode versions of this string. Applications should use the format specific interface to access them. Can be NULL (e.g., in fonts embedded in a PDF file).</p> +</td></tr> +<tr><td class="val" id="style_name">style_name</td><td class="desc"> +<p>The face's style name. This is an ASCII string, usually in English, that describes the typeface's style (like ‘Italic’, ‘Bold’, ‘Condensed’, etc). Not all font formats provide a style name, so this field is optional, and can be set to NULL. As for ‘family_name’, some formats provide localized and Unicode versions of this string. Applications should use the format specific interface to access them.</p> +</td></tr> +<tr><td class="val" id="num_fixed_sizes">num_fixed_sizes</td><td class="desc"> +<p>The number of bitmap strikes in the face. Even if the face is scalable, there might still be bitmap strikes, which are called ‘sbits’ in that case.</p> +</td></tr> +<tr><td class="val" id="available_sizes">available_sizes</td><td class="desc"> +<p>An array of <a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a> for all bitmap strikes in the face. It is set to NULL if there is no bitmap strike.</p> +</td></tr> +<tr><td class="val" id="num_charmaps">num_charmaps</td><td class="desc"> +<p>The number of charmaps in the face.</p> +</td></tr> +<tr><td class="val" id="charmaps">charmaps</td><td class="desc"> +<p>An array of the charmaps of the face.</p> +</td></tr> +<tr><td class="val" id="generic">generic</td><td class="desc"> +<p>A field reserved for client uses. See the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type description.</p> +</td></tr> +<tr><td class="val" id="bbox">bbox</td><td class="desc"> +<p>The font bounding box. Coordinates are expressed in font units (see ‘units_per_EM’). The box is large enough to contain any glyph from the font. Thus, ‘bbox.yMax’ can be seen as the ‘maximum ascender’, and ‘bbox.yMin’ as the ‘minimum descender’. Only relevant for scalable formats.</p> +<p>Note that the bounding box might be off by (at least) one pixel for hinted fonts. See <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> for further discussion.</p> +</td></tr> +<tr><td class="val" id="units_per_EM">units_per_EM</td><td class="desc"> +<p>The number of font units per EM square for this face. This is typically 2048 for TrueType fonts, and 1000 for Type 1 fonts. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="ascender">ascender</td><td class="desc"> +<p>The typographic ascender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMax’. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="descender">descender</td><td class="desc"> +<p>The typographic descender of the face, expressed in font units. For font formats not having this information, it is set to ‘bbox.yMin’. Note that this field is usually negative. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="height">height</td><td class="desc"> +<p>This value is the vertical distance between two consecutive baselines, expressed in font units. It is always positive. Only relevant for scalable formats.</p> +<p>If you want the global glyph height, use ‘ascender - descender’.</p> +</td></tr> +<tr><td class="val" id="max_advance_width">max_advance_width</td><td class="desc"> +<p>The maximum advance width, in font units, for all glyphs in this face. This can be used to make word wrapping computations faster. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="max_advance_height">max_advance_height</td><td class="desc"> +<p>The maximum advance height, in font units, for all glyphs in this face. This is only relevant for vertical layouts, and is set to ‘height’ for fonts that do not provide vertical metrics. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="underline_position">underline_position</td><td class="desc"> +<p>The position, in font units, of the underline line for this face. It is the center of the underlining stem. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="underline_thickness">underline_thickness</td><td class="desc"> +<p>The thickness, in font units, of the underline for this face. Only relevant for scalable formats.</p> +</td></tr> +<tr><td class="val" id="glyph">glyph</td><td class="desc"> +<p>The face's associated glyph slot(s).</p> +</td></tr> +<tr><td class="val" id="size">size</td><td class="desc"> +<p>The current active size for this face.</p> +</td></tr> +<tr><td class="val" id="charmap">charmap</td><td class="desc"> +<p>The current active charmap for this face.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Fields may be changed after a call to <a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a> or <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_HORIZONTAL</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).</p> + +<h4>also</h4> +<p><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a> can be used to check for vertical metrics.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_VERTICAL">FT_HAS_VERTICAL</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_VERTICAL</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains real vertical metrics (and not only synthesized ones).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_KERNING">FT_HAS_KERNING</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_KERNING</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains kerning data that can be accessed with <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_FIXED_SIZES</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_GLYPH_NAMES</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains some glyph names that can be accessed through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_MULTIPLE_MASTERS</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains some multiple masters. The functions provided by <a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a> are then available to choose the exact design you want.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_COLOR">FT_HAS_COLOR</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_COLOR</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains tables for color glyphs.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IS_SFNT">FT_IS_SFNT</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_IS_SFNT</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.</p> +<p>If this macro is true, all functions defined in <a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a> and <a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a> are available.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IS_SCALABLE">FT_IS_SCALABLE</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_IS_SCALABLE</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_IS_FIXED_WIDTH</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IS_CID_KEYED">FT_IS_CID_KEYED</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_IS_CID_KEYED</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a> ) +</pre> + +<p>A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> for more details.</p> +<p>If this macro is true, all functions defined in <a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a> are available.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IS_TRICKY">FT_IS_TRICKY</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_IS_TRICKY</b>( face ) \ + ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a> ) +</pre> + +<p>A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SizeRec">FT_SizeRec</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SizeRec_ + { + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; /* parent face object */ + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; /* generic pointer for client uses */ + <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> metrics; /* size metrics */ + <a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a> internal; + + } <b>FT_SizeRec</b>; +</pre> + +<p>FreeType root size class structure. A size object models a face object at a given size.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>Handle to the parent face object.</p> +</td></tr> +<tr><td class="val" id="generic">generic</td><td class="desc"> +<p>A typeless pointer, unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each size object.</p> +</td></tr> +<tr><td class="val" id="metrics">metrics</td><td class="desc"> +<p>Metrics for this size object. This field is read-only.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Size_Metrics">FT_Size_Metrics</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_Metrics_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> x_ppem; /* horizontal pixels per EM */ + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> y_ppem; /* vertical pixels per EM */ + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x_scale; /* scaling values used to convert font */ + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> y_scale; /* units to 26.6 fractional pixels */ + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> ascender; /* ascender in 26.6 frac. pixels */ + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> descender; /* descender in 26.6 frac. pixels */ + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> height; /* text height in 26.6 frac. pixels */ + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> max_advance; /* max horizontal advance, in 26.6 pixels */ + + } <b>FT_Size_Metrics</b>; +</pre> + +<p>The size metrics structure gives the metrics of a size object.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="x_ppem">x_ppem</td><td class="desc"> +<p>The width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal width’.</p> +</td></tr> +<tr><td class="val" id="y_ppem">y_ppem</td><td class="desc"> +<p>The height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal height’.</p> +</td></tr> +<tr><td class="val" id="x_scale">x_scale</td><td class="desc"> +<p>A 16.16 fractional scaling value used to convert horizontal metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.</p> +</td></tr> +<tr><td class="val" id="y_scale">y_scale</td><td class="desc"> +<p>A 16.16 fractional scaling value used to convert vertical metrics from font units to 26.6 fractional pixels. Only relevant for scalable font formats.</p> +</td></tr> +<tr><td class="val" id="ascender">ascender</td><td class="desc"> +<p>The ascender in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +<tr><td class="val" id="descender">descender</td><td class="desc"> +<p>The descender in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +<tr><td class="val" id="height">height</td><td class="desc"> +<p>The height in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +<tr><td class="val" id="max_advance">max_advance</td><td class="desc"> +<p>The maximum advance width in 26.6 fractional pixels. See <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> for the details.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The scaling values, if relevant, are determined first during a size changing operation. The remaining fields are then set by the driver. For scalable formats, they are usually set to scaled values of the corresponding fields in <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +<p>Note that due to glyph hinting, these values might not be exact for certain fonts. Thus they must be treated as unreliable with an error margin of at least one pixel!</p> +<p>Indeed, the only way to get the exact metrics is to render <i>all</i> glyphs. As this would be a definite performance hit, it is up to client applications to perform such computations.</p> +<p>The FT_Size_Metrics structure is valid for bitmap fonts also.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GlyphSlotRec">FT_GlyphSlotRec</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphSlotRec_ + { + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library; + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; + <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> next; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> reserved; /* retained for binary compatibility */ + <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> generic; + + <a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a> metrics; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> linearHoriAdvance; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> linearVertAdvance; + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> advance; + + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format; + + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> bitmap; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> bitmap_left; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> bitmap_top; + + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> outline; + + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_subglyphs; + <a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a> subglyphs; + + <span class="keyword">void</span>* control_data; + <span class="keyword">long</span> control_len; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> lsb_delta; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> rsb_delta; + + <span class="keyword">void</span>* other; + + <a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a> internal; + + } <b>FT_GlyphSlotRec</b>; +</pre> + +<p>FreeType root glyph slot class structure. A glyph slot is a container where individual glyphs can be loaded, be they in outline or bitmap format.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the FreeType library instance this slot belongs to.</p> +</td></tr> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the parent face object.</p> +</td></tr> +<tr><td class="val" id="next">next</td><td class="desc"> +<p>In some cases (like some font tools), several glyph slots per face object can be a good thing. As this is rare, the glyph slots are listed through a direct, single-linked list using its ‘next’ field.</p> +</td></tr> +<tr><td class="val" id="generic">generic</td><td class="desc"> +<p>A typeless pointer unused by the FreeType library or any of its drivers. It can be used by client applications to link their own data to each glyph slot object.</p> +</td></tr> +<tr><td class="val" id="metrics">metrics</td><td class="desc"> +<p>The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> API function) and can be expressed either in 26.6 fractional pixels or font units.</p> +<p>Note that even when the glyph image is transformed, the metrics are not.</p> +</td></tr> +<tr><td class="val" id="linearHoriAdvance">linearHoriAdvance</td><td class="desc"> +<p>The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p> +</td></tr> +<tr><td class="val" id="linearVertAdvance">linearVertAdvance</td><td class="desc"> +<p>The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a> is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.</p> +</td></tr> +<tr><td class="val" id="advance">advance</td><td class="desc"> +<p>This shorthand is, depending on <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a>, the transformed (hinted) advance width for the glyph, in 26.6 fractional pixel format. As specified with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a>, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.</p> +</td></tr> +<tr><td class="val" id="format">format</td><td class="desc"> +<p>This field indicates the format of the image contained in the glyph slot. Typically <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>, or <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>, but others are possible.</p> +</td></tr> +<tr><td class="val" id="bitmap">bitmap</td><td class="desc"> +<p>This field is used as a bitmap descriptor when the slot format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>. Note that the address and content of the bitmap buffer can change between calls of <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> and a few other functions.</p> +</td></tr> +<tr><td class="val" id="bitmap_left">bitmap_left</td><td class="desc"> +<p>The bitmap's left bearing expressed in integer pixels. Only valid if the format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>, this is, if the glyph slot contains a bitmap.</p> +</td></tr> +<tr><td class="val" id="bitmap_top">bitmap_top</td><td class="desc"> +<p>The bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being <b>positive</b>.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>The outline descriptor for the current glyph image if its format is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a>. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be freed.</p> +</td></tr> +<tr><td class="val" id="num_subglyphs">num_subglyphs</td><td class="desc"> +<p>The number of subglyphs in a composite glyph. This field is only valid for the composite glyph format that should normally only be loaded with the <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a> flag.</p> +</td></tr> +<tr><td class="val" id="subglyphs">subglyphs</td><td class="desc"> +<p>An array of subglyph descriptors for composite glyphs. There are ‘num_subglyphs’ elements in there. Currently internal to FreeType.</p> +</td></tr> +<tr><td class="val" id="control_data">control_data</td><td class="desc"> +<p>Certain font drivers can also return the control data for a given glyph image (e.g. TrueType bytecode, Type 1 charstrings, etc.). This field is a pointer to such data.</p> +</td></tr> +<tr><td class="val" id="control_len">control_len</td><td class="desc"> +<p>This is the length in bytes of the control data.</p> +</td></tr> +<tr><td class="val" id="other">other</td><td class="desc"> +<p>Really wicked formats can use this pointer to present their own glyph image to client applications. Note that the application needs to know about the image format.</p> +</td></tr> +<tr><td class="val" id="lsb_delta">lsb_delta</td><td class="desc"> +<p>The difference between hinted and unhinted left side bearing while autohinting is active. Zero otherwise.</p> +</td></tr> +<tr><td class="val" id="rsb_delta">rsb_delta</td><td class="desc"> +<p>The difference between hinted and unhinted right side bearing while autohinting is active. Zero otherwise.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>If <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> is called with default flags (see <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a>) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).</p> +<p>This image can later be converted into a bitmap by calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This function finds the current renderer for the native image's format, then invokes it.</p> +<p>The renderer is in charge of transforming the native image through the slot's face transformation fields, then converting it into a bitmap that is returned in ‘slot->bitmap’.</p> +<p>Note that ‘slot->bitmap_left’ and ‘slot->bitmap_top’ are also used to specify the position of the bitmap relative to the current pen position (e.g., coordinates (0,0) on the baseline). Of course, ‘slot->format’ is also changed to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a>.</p> + +<h4>note</h4> +<p>Here a small pseudo code fragment that shows how to use ‘lsb_delta’ and ‘rsb_delta’:</p> +<pre class="colored"> + FT_Pos origin_x = 0; + FT_Pos prev_rsb_delta = 0; + + + for all glyphs do + <compute kern between current and previous glyph and add it to + `origin_x'> + + <load glyph with `FT_Load_Glyph'> + + if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 ) + origin_x -= 64; + else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 ) + origin_x += 64; + + prev_rsb_delta = face->glyph->rsb_delta; + + <save glyph image, or render glyph, or ...> + + origin_x += face->glyph->advance.x; + endfor +</pre> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_Metrics">FT_Glyph_Metrics</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Glyph_Metrics_ + { + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> width; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> height; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiBearingX; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiBearingY; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> horiAdvance; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertBearingX; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertBearingY; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> vertAdvance; + + } <b>FT_Glyph_Metrics</b>; +</pre> + +<p>A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> has been used while loading the glyph, values are expressed in font units instead.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="width">width</td><td class="desc"> +<p>The glyph's width.</p> +</td></tr> +<tr><td class="val" id="height">height</td><td class="desc"> +<p>The glyph's height.</p> +</td></tr> +<tr><td class="val" id="horiBearingX">horiBearingX</td><td class="desc"> +<p>Left side bearing for horizontal layout.</p> +</td></tr> +<tr><td class="val" id="horiBearingY">horiBearingY</td><td class="desc"> +<p>Top side bearing for horizontal layout.</p> +</td></tr> +<tr><td class="val" id="horiAdvance">horiAdvance</td><td class="desc"> +<p>Advance width for horizontal layout.</p> +</td></tr> +<tr><td class="val" id="vertBearingX">vertBearingX</td><td class="desc"> +<p>Left side bearing for vertical layout.</p> +</td></tr> +<tr><td class="val" id="vertBearingY">vertBearingY</td><td class="desc"> +<p>Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.</p> +</td></tr> +<tr><td class="val" id="vertAdvance">vertAdvance</td><td class="desc"> +<p>Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>If not disabled with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>, the values represent dimensions of the hinted glyph (in case hinting is applicable).</p> +<p>Stroking a glyph with an outside border does not increase ‘horiAdvance’ or ‘vertAdvance’; you have to manually adjust these values to account for the added width and height.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SubGlyph">FT_SubGlyph</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SubGlyphRec_* <b>FT_SubGlyph</b>; +</pre> + +<p>The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).</p> + +<h4>note</h4> +<p>The subglyph implementation is not part of the high-level API, hence the forward structure declaration.</p> +<p>You can however retrieve subglyph information with <a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bitmap_Size">FT_Bitmap_Size</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_Size_ + { + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> height; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> width; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> size; + + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x_ppem; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y_ppem; + + } <b>FT_Bitmap_Size</b>; +</pre> + +<p>This structure models the metrics of a bitmap strike (i.e., a set of glyphs for a given point size and resolution) in a bitmap font. It is used for the ‘available_sizes’ field of <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="height">height</td><td class="desc"> +<p>The vertical distance, in pixels, between two consecutive baselines. It is always positive.</p> +</td></tr> +<tr><td class="val" id="width">width</td><td class="desc"> +<p>The average width, in pixels, of all glyphs in the strike.</p> +</td></tr> +<tr><td class="val" id="size">size</td><td class="desc"> +<p>The nominal size of the strike in 26.6 fractional points. This field is not very useful.</p> +</td></tr> +<tr><td class="val" id="x_ppem">x_ppem</td><td class="desc"> +<p>The horizontal ppem (nominal width) in 26.6 fractional pixels.</p> +</td></tr> +<tr><td class="val" id="y_ppem">y_ppem</td><td class="desc"> +<p>The vertical ppem (nominal height) in 26.6 fractional pixels.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Windows FNT: The nominal size given in a FNT font is not reliable. Thus when the driver finds it incorrect, it sets ‘size’ to some calculated values and sets ‘x_ppem’ and ‘y_ppem’ to the pixel width and height given in the font, respectively.</p> +<p>TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Init_FreeType">FT_Init_FreeType</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Init_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary ); +</pre> + +<p>Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.</p> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="alibrary">alibrary</td><td class="desc"> +<p>A handle to a new library object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>In case you want to provide your own memory allocating routines, use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> instead, followed by a call to <a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a> (or a series of calls to <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>).</p> +<p>For multi-threading applications each thread should have its own FT_Library object.</p> +<p>If you need reference-counting (cf. <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>), use <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> and <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Done_FreeType">FT_Done_FreeType</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_FreeType</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); +</pre> + +<p>Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the target library object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_New_Face">FT_New_Face</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <span class="keyword">char</span>* filepathname, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); +</pre> + +<p>This function calls <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to open a font by its pathname.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library resource.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="pathname">pathname</td><td class="desc"> +<p>A path to the font file.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>The index of the face within the font. The first face has index 0.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> +<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>Use <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> to destroy the created <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object (along with its slot and sizes).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Done_Face">FT_Done_Face</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Discard a given face object, as well as all of its child slots and sizes.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a target face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Reference_Face">FT_Reference_Face</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Reference_Face</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>A counter gets initialized to 1 at the time an <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure is created. This function increments the counter. <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> then only destroys a face if the counter is 1, otherwise it simply decrements the counter.</p> +<p>This function helps in managing life-cycles of structures that reference <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a target face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>since</h4> +<p>2.4.2</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_New_Memory_Face">FT_New_Memory_Face</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Memory_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* file_base, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> file_size, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); +</pre> + +<p>This function calls <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to open a font that has been loaded into memory.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library resource.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="file_base">file_base</td><td class="desc"> +<p>A pointer to the beginning of the font data.</p> +</td></tr> +<tr><td class="val" id="file_size">file_size</td><td class="desc"> +<p>The size of the memory chunk used by the font data.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>The index of the face within the font. The first face has index 0.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> +<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> for more details.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You must not deallocate the memory before calling <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Open_Face">FT_Open_Face</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Open_Face</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>* args, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); +</pre> + +<p>Create a face object from a given resource described by <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library resource.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="args">args</td><td class="desc"> +<p>A pointer to an ‘FT_Open_Args’ structure that must be filled by the caller.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>The index of the face within the font. The first face has index 0.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> +<p>A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See note below.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object that can be accessed directly through ‘face->glyph’.</p> +<p>FT_Open_Face can be used to quickly check whether the font format of a given font resource is supported by FreeType. If the ‘face_index’ field is negative, the function's return value is 0 if the font format is recognized, or non-zero otherwise; the function returns a more or less empty face handle in ‘*aface’ (if ‘aface’ isn't NULL). The only useful field in this special case is ‘face->num_faces’ that gives the number of faces within the font file. After examination, the returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> structure should be deallocated with a call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> +<p>Each new face object created with this function also owns a default <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object, accessible as ‘face->size’.</p> +<p>One <a href="ft2-base_interface.html#FT_Library">FT_Library</a> instance can have multiple face objects, this is, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> and its siblings can be called multiple times using the same ‘library’ argument.</p> +<p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Open_Args">FT_Open_Args</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Open_Args_ + { + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> flags; + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* memory_base; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> memory_size; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* pathname; + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream; + <a href="ft2-module_management.html#FT_Module">FT_Module</a> driver; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_params; + <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a>* params; + + } <b>FT_Open_Args</b>; +</pre> + +<p>A structure used to indicate how to open a new font file or stream. A pointer to such a structure can be used as a parameter for the functions <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> and <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="flags">flags</td><td class="desc"> +<p>A set of bit flags indicating how to use the structure.</p> +</td></tr> +<tr><td class="val" id="memory_base">memory_base</td><td class="desc"> +<p>The first byte of the file in memory.</p> +</td></tr> +<tr><td class="val" id="memory_size">memory_size</td><td class="desc"> +<p>The size in bytes of the file in memory.</p> +</td></tr> +<tr><td class="val" id="pathname">pathname</td><td class="desc"> +<p>A pointer to an 8-bit file pathname.</p> +</td></tr> +<tr><td class="val" id="stream">stream</td><td class="desc"> +<p>A handle to a source stream object.</p> +</td></tr> +<tr><td class="val" id="driver">driver</td><td class="desc"> +<p>This field is exclusively used by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>; it simply specifies the font driver to use to open the face. If set to 0, FreeType tries to load the face with each one of the drivers in its list.</p> +</td></tr> +<tr><td class="val" id="num_params">num_params</td><td class="desc"> +<p>The number of extra parameters.</p> +</td></tr> +<tr><td class="val" id="params">params</td><td class="desc"> +<p>Extra parameters passed to the font driver when opening a new face.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The stream type is determined by the contents of ‘flags’ that are tested in the following order by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>:</p> +<p>If the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them <i>after</i> the corresponding call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> +<p>Otherwise, if the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> bit is set, assume that a custom input stream ‘stream’ is used.</p> +<p>Otherwise, if the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> bit is set, assume that this is a normal file and use ‘pathname’ to open it.</p> +<p>If the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> bit is set, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> only tries to open the file with the driver whose handler is in ‘driver’.</p> +<p>If the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a> bit is set, the parameters given by ‘num_params’ and ‘params’ is used. They are ignored otherwise.</p> +<p>Ideally, both the ‘pathname’ and ‘params’ fields should be tagged as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Parameter">FT_Parameter</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Parameter_ + { + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag; + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> data; + + } <b>FT_Parameter</b>; +</pre> + +<p>A simple structure used to pass more or less generic parameters to <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="tag">tag</td><td class="desc"> +<p>A four-byte identification tag.</p> +</td></tr> +<tr><td class="val" id="data">data</td><td class="desc"> +<p>A pointer to the parameter data.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Attach_File">FT_Attach_File</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Attach_File</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* filepathname ); +</pre> + +<p>This function calls <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a> to attach a file.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>The target face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="filepathname">filepathname</td><td class="desc"> +<p>The pathname.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Attach_Stream">FT_Attach_Stream</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Attach_Stream</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a>* parameters ); +</pre> + +<p>‘Attach’ data to a face object. Normally, this is used to read additional information for the face object. For example, you can attach an AFM file that comes with a Type 1 font to get the kerning values and other metrics.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>The target face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="parameters">parameters</td><td class="desc"> +<p>A pointer to <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> that must be filled by the caller.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The meaning of the ‘attach’ (i.e., what really happens when the new file is read) is not fixed by FreeType itself. It really depends on the font format (and thus the font driver).</p> +<p>Client applications are expected to know what they are doing when invoking this function. Most drivers simply do not implement file attachments.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Char_Size">FT_Set_Char_Size</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Char_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a> char_width, + <a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a> char_height, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> horz_resolution, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> vert_resolution ); +</pre> + +<p>This function calls <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to request the nominal size (in points).</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a target face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="char_width">char_width</td><td class="desc"> +<p>The nominal width, in 26.6 fractional points.</p> +</td></tr> +<tr><td class="val" id="char_height">char_height</td><td class="desc"> +<p>The nominal height, in 26.6 fractional points.</p> +</td></tr> +<tr><td class="val" id="horz_resolution">horz_resolution</td><td class="desc"> +<p>The horizontal resolution in dpi.</p> +</td></tr> +<tr><td class="val" id="vert_resolution">vert_resolution</td><td class="desc"> +<p>The vertical resolution in dpi.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If either the character width or height is zero, it is set equal to the other value.</p> +<p>If either the horizontal or vertical resolution is zero, it is set equal to the other value.</p> +<p>A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.</p> +<p>Don't use this function if you are using the FreeType cache API.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Pixel_Sizes</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> pixel_width, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> pixel_height ); +</pre> + +<p>This function calls <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to request the nominal size (in pixels).</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the target face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="pixel_width">pixel_width</td><td class="desc"> +<p>The nominal width, in pixels.</p> +</td></tr> +<tr><td class="val" id="pixel_height">pixel_height</td><td class="desc"> +<p>The nominal height, in pixels.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You should not rely on the resulting glyphs matching, or being constrained, to this pixel size. Refer to <a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a> to understand how requested sizes relate to actual sizes.</p> +<p>Don't use this function if you are using the FreeType cache API.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Request_Size">FT_Request_Size</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Request_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a> req ); +</pre> + +<p>Resize the scale of the active <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object in a face.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a target face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="req">req</td><td class="desc"> +<p>A pointer to a <a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a>.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>Although drivers may select the bitmap strike matching the request, you should not rely on this if you intend to select a particular bitmap strike. Use <a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a> instead in that case.</p> +<p>The relation between the requested size and the resulting glyph size is dependent entirely on how the size is defined in the source face. The font designer chooses the final size of each glyph relative to this size. For more information refer to ‘<a href="http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html">http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html</a>’</p> +<p>Don't use this function if you are using the FreeType cache API.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Select_Size">FT_Select_Size</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Select_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> strike_index ); +</pre> + +<p>Select a bitmap strike.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a target face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="strike_index">strike_index</td><td class="desc"> +<p>The index of the bitmap strike in the ‘available_sizes’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Size_Request_Type">FT_Size_Request_Type</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Size_Request_Type_ + { + <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_NOMINAL">FT_SIZE_REQUEST_TYPE_NOMINAL</a>, + <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_REAL_DIM">FT_SIZE_REQUEST_TYPE_REAL_DIM</a>, + <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_BBOX">FT_SIZE_REQUEST_TYPE_BBOX</a>, + <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_CELL">FT_SIZE_REQUEST_TYPE_CELL</a>, + <a href="ft2-base_interface.html#FT_SIZE_REQUEST_TYPE_SCALES">FT_SIZE_REQUEST_TYPE_SCALES</a>, + + FT_SIZE_REQUEST_TYPE_MAX + + } <b>FT_Size_Request_Type</b>; +</pre> + +<p>An enumeration type that lists the supported size request types.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_SIZE_REQUEST_TYPE_NOMINAL">FT_SIZE_REQUEST_TYPE_NOMINAL</td><td class="desc"> +<p>The nominal size. The ‘units_per_EM’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine both scaling values.</p> +</td></tr> +<tr><td class="val" id="FT_SIZE_REQUEST_TYPE_REAL_DIM">FT_SIZE_REQUEST_TYPE_REAL_DIM</td><td class="desc"> +<p>The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p> +</td></tr> +<tr><td class="val" id="FT_SIZE_REQUEST_TYPE_BBOX">FT_SIZE_REQUEST_TYPE_BBOX</td><td class="desc"> +<p>The font bounding box. The width and height of the ‘bbox’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine the horizontal and vertical scaling value, respectively.</p> +</td></tr> +<tr><td class="val" id="FT_SIZE_REQUEST_TYPE_CELL">FT_SIZE_REQUEST_TYPE_CELL</td><td class="desc"> +<p>The ‘max_advance_width’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine the horizontal scaling value; the vertical scaling value is determined the same way as <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a> does. Finally, both scaling values are set to the smaller one. This type is useful if you want to specify the font size for, say, a window of a given dimension and 80x24 cells.</p> +</td></tr> +<tr><td class="val" id="FT_SIZE_REQUEST_TYPE_SCALES">FT_SIZE_REQUEST_TYPE_SCALES</td><td class="desc"> +<p>Specify the scaling values directly.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.</p> +<p>See the note section of <a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a> if you wonder how size requesting relates to scaling values.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Size_RequestRec">FT_Size_RequestRec</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ + { + <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a> type; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> width; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> height; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> horiResolution; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> vertResolution; + + } <b>FT_Size_RequestRec</b>; +</pre> + +<p>A structure used to model a size request.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="type">type</td><td class="desc"> +<p>See <a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a>.</p> +</td></tr> +<tr><td class="val" id="width">width</td><td class="desc"> +<p>The desired width.</p> +</td></tr> +<tr><td class="val" id="height">height</td><td class="desc"> +<p>The desired height.</p> +</td></tr> +<tr><td class="val" id="horiResolution">horiResolution</td><td class="desc"> +<p>The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.</p> +</td></tr> +<tr><td class="val" id="vertResolution">vertResolution</td><td class="desc"> +<p>The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Size_Request">FT_Size_Request</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_RequestRec_ *<b>FT_Size_Request</b>; +</pre> + +<p>A handle to a size request structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Transform">FT_Set_Transform</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Set_Transform</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* delta ); +</pre> + +<p>A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="matrix">matrix</td><td class="desc"> +<p>A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.</p> +</td></tr> +<tr><td class="val" id="delta">delta</td><td class="desc"> +<p>A pointer to the translation vector. Use 0 for the null vector.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The transformation is only applied to scalable image formats after the glyph has been loaded. It means that hinting is unaltered by the transformation and is performed on the character size given in the last call to <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> or <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>.</p> +<p>Note that this also transforms the ‘face.glyph.advance’ field, but <b>not</b> the values in ‘face.glyph.metrics’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Load_Glyph">FT_Load_Glyph</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Load_Glyph</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags ); +</pre> + +<p>A function used to load a single glyph into the glyph slot of a face object.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the target face object where the glyph is loaded.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc"> +<p>The index of the glyph in the font file. For CID-keyed fonts (either in PS or in CFF format) this argument specifies the CID value.</p> +</td></tr> +<tr><td class="val" id="load_flags">load_flags</td><td class="desc"> +<p>A flag indicating what to load for this glyph. The <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a> constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The loaded glyph may be transformed. See <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> for the details.</p> +<p>For subsetted CID-keyed fonts, ‘FT_Err_Invalid_Argument’ is returned for invalid CID values (this is, for CID values that don't have a corresponding glyph in the font). See the discussion of the <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> flag for more details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Char_Index">FT_Get_Char_Index</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Get_Char_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode ); +</pre> + +<p>Return the glyph index of a given character code. This function uses a charmap object to do the mapping.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="charcode">charcode</td><td class="desc"> +<p>The character code.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The glyph index. 0 means ‘undefined character code’.</p> + +<h4>note</h4> +<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’. If the first glyph is not named ‘.notdef’, then for Type 1 and Type 42 fonts, ‘.notdef’ will be moved into the glyph ID 0 position, and whatever was there will be moved to the position ‘.notdef’ had. For Type 1 fonts, if there is no ‘.notdef’ glyph at all, then one will be created at index 0 and whatever was there will be moved to the last index -- Type 42 fonts are considered invalid under this condition.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_First_Char">FT_Get_First_Char</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) + <b>FT_Get_First_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *agindex ); +</pre> + +<p>This function is used to return the first character code in the current charmap of a given face. It also returns the corresponding glyph index.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="agindex">agindex</td><td class="desc"> +<p>Glyph index of first character code. 0 if charmap is empty.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The charmap's first character code.</p> + +<h4>note</h4> +<p>You should use this function with <a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a> to be able to parse all character codes available in a given charmap. The code should look like this:</p> +<pre class="colored"> + FT_ULong charcode; + FT_UInt gindex; + + + charcode = FT_Get_First_Char( face, &gindex ); + while ( gindex != 0 ) + { + ... do something with (charcode,gindex) pair ... + + charcode = FT_Get_Next_Char( face, charcode, &gindex ); + } +</pre> +<p>Note that ‘*agindex’ is set to 0 if the charmap is empty. The result itself can be 0 in two cases: if the charmap is empty or if the value 0 is the first valid character code.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Next_Char">FT_Get_Next_Char</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) + <b>FT_Get_Next_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> char_code, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *agindex ); +</pre> + +<p>This function is used to return the next character code in the current charmap of a given face following the value ‘char_code’, as well as the corresponding glyph index.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="char_code">char_code</td><td class="desc"> +<p>The starting character code.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="agindex">agindex</td><td class="desc"> +<p>Glyph index of next character code. 0 if charmap is empty.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The charmap's next character code.</p> + +<h4>note</h4> +<p>You should use this function with <a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a> to walk over all character codes available in a given charmap. See the note for this function for a simple code example.</p> +<p>Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Name_Index">FT_Get_Name_Index</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Get_Name_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_String">FT_String</a>* glyph_name ); +</pre> + +<p>Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="glyph_name">glyph_name</td><td class="desc"> +<p>The glyph name.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The glyph index. 0 means ‘undefined character code’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Load_Char">FT_Load_Char</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Load_Char</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> char_code, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags ); +</pre> + +<p>A function used to load a single glyph into the glyph slot of a face object, according to its character code.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a target face object where the glyph is loaded.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="char_code">char_code</td><td class="desc"> +<p>The glyph's character code, according to the current charmap used in the face.</p> +</td></tr> +<tr><td class="val" id="load_flags">load_flags</td><td class="desc"> +<p>A flag indicating what to load for this glyph. The <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a> constants can be used to control the glyph loading process (e.g., whether the outline should be scaled, whether to load bitmaps or not, whether to hint the outline, etc).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function simply calls <a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a> and <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_LOAD_TARGET_MODE</b>( x ) ( (<a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a>)( ( (x) >> 16 ) & 15 ) ) +</pre> + +<p>Return the <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> corresponding to a given <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> value.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Render_Glyph">FT_Render_Glyph</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Render_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> render_mode ); +</pre> + +<p>Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="slot">slot</td><td class="desc"> +<p>A handle to the glyph slot containing the image to convert.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="render_mode">render_mode</td><td class="desc"> +<p>This is the render mode used to render the glyph image into a bitmap. See <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> for a list of possible values.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>To get meaningful results, font scaling values must be set with functions like <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> before calling FT_Render_Glyph.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Render_Mode">FT_Render_Mode</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Render_Mode_ + { + <a href="ft2-base_interface.html#FT_RENDER_MODE_NORMAL">FT_RENDER_MODE_NORMAL</a> = 0, + <a href="ft2-base_interface.html#FT_RENDER_MODE_LIGHT">FT_RENDER_MODE_LIGHT</a>, + <a href="ft2-base_interface.html#FT_RENDER_MODE_MONO">FT_RENDER_MODE_MONO</a>, + <a href="ft2-base_interface.html#FT_RENDER_MODE_LCD">FT_RENDER_MODE_LCD</a>, + <a href="ft2-base_interface.html#FT_RENDER_MODE_LCD_V">FT_RENDER_MODE_LCD_V</a>, + + FT_RENDER_MODE_MAX + + } <b>FT_Render_Mode</b>; + + + /* these constants are deprecated; use the corresponding */ + /* `<b>FT_Render_Mode</b>' values instead */ +#define ft_render_mode_normal <a href="ft2-base_interface.html#FT_RENDER_MODE_NORMAL">FT_RENDER_MODE_NORMAL</a> +#define ft_render_mode_mono <a href="ft2-base_interface.html#FT_RENDER_MODE_MONO">FT_RENDER_MODE_MONO</a> +</pre> + +<p>An enumeration type that lists the render modes supported by FreeType 2. Each mode corresponds to a specific type of scanline conversion performed on the outline.</p> +<p>For bitmap fonts and embedded bitmaps the ‘bitmap->pixel_mode’ field in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure gives the format of the returned bitmap.</p> +<p>All modes except <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a> use 256 levels of opacity.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_RENDER_MODE_NORMAL">FT_RENDER_MODE_NORMAL</td><td class="desc"> +<p>This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.</p> +</td></tr> +<tr><td class="val" id="FT_RENDER_MODE_LIGHT">FT_RENDER_MODE_LIGHT</td><td class="desc"> +<p>This is equivalent to <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a>. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p> +</td></tr> +<tr><td class="val" id="FT_RENDER_MODE_MONO">FT_RENDER_MODE_MONO</td><td class="desc"> +<p>This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).</p> +</td></tr> +<tr><td class="val" id="FT_RENDER_MODE_LCD">FT_RENDER_MODE_LCD</td><td class="desc"> +<p>This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD screens. It produces 8-bit bitmaps that are 3 times the width of the original glyph outline in pixels, and which use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a> mode.</p> +</td></tr> +<tr><td class="val" id="FT_RENDER_MODE_LCD_V">FT_RENDER_MODE_LCD_V</td><td class="desc"> +<p>This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 times the height of the original glyph outline in pixels and use the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a> mode.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (not active in the default builds). It is up to the caller to either call <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> (if available) or do the filtering itself.</p> +<p>The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>. You can use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> to transform them into 8-bit pixmaps.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Kerning">FT_Get_Kerning</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> left_glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> right_glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> kern_mode, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> *akerning ); +</pre> + +<p>Return the kerning vector between two glyphs of a same face.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a source face object.</p> +</td></tr> +<tr><td class="val" id="left_glyph">left_glyph</td><td class="desc"> +<p>The index of the left glyph in the kern pair.</p> +</td></tr> +<tr><td class="val" id="right_glyph">right_glyph</td><td class="desc"> +<p>The index of the right glyph in the kern pair.</p> +</td></tr> +<tr><td class="val" id="kern_mode">kern_mode</td><td class="desc"> +<p>See <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a> for more information. Determines the scale and dimension of the returned kerning vector.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="akerning">akerning</td><td class="desc"> +<p>The kerning vector. This is either in font units or in pixels (26.6 format) for scalable formats, and in pixels for fixed-sizes formats.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>Only horizontal layouts (left-to-right & right-to-left) are supported by this method. Other layouts, or more sophisticated kernings, are out of the scope of this API function -- they can be implemented through format-specific interfaces.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Kerning_Mode">FT_Kerning_Mode</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Kerning_Mode_ + { + <a href="ft2-base_interface.html#FT_KERNING_DEFAULT">FT_KERNING_DEFAULT</a> = 0, + <a href="ft2-base_interface.html#FT_KERNING_UNFITTED">FT_KERNING_UNFITTED</a>, + <a href="ft2-base_interface.html#FT_KERNING_UNSCALED">FT_KERNING_UNSCALED</a> + + } <b>FT_Kerning_Mode</b>; + + + /* these constants are deprecated; use the corresponding */ + /* `<b>FT_Kerning_Mode</b>' values instead */ +#define ft_kerning_default <a href="ft2-base_interface.html#FT_KERNING_DEFAULT">FT_KERNING_DEFAULT</a> +#define ft_kerning_unfitted <a href="ft2-base_interface.html#FT_KERNING_UNFITTED">FT_KERNING_UNFITTED</a> +#define ft_kerning_unscaled <a href="ft2-base_interface.html#FT_KERNING_UNSCALED">FT_KERNING_UNSCALED</a> +</pre> + +<p>An enumeration used to specify which kerning values to return in <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_KERNING_DEFAULT">FT_KERNING_DEFAULT</td><td class="desc"> +<p>Return scaled and grid-fitted kerning distances (value is 0).</p> +</td></tr> +<tr><td class="val" id="FT_KERNING_UNFITTED">FT_KERNING_UNFITTED</td><td class="desc"> +<p>Return scaled but un-grid-fitted kerning distances.</p> +</td></tr> +<tr><td class="val" id="FT_KERNING_UNSCALED">FT_KERNING_UNSCALED</td><td class="desc"> +<p>Return the kerning vector in original font units.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Track_Kerning">FT_Get_Track_Kerning</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Track_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> point_size, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> degree, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* akerning ); +</pre> + +<p>Return the track kerning for a given face object at a given size.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a source face object.</p> +</td></tr> +<tr><td class="val" id="point_size">point_size</td><td class="desc"> +<p>The point size in 16.16 fractional points.</p> +</td></tr> +<tr><td class="val" id="degree">degree</td><td class="desc"> +<p>The degree of tightness. Increasingly negative values represent tighter track kerning, while increasingly positive values represent looser track kerning. Value zero means no track kerning.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="akerning">akerning</td><td class="desc"> +<p>The kerning in 16.16 fractional points, to be uniformly applied between all glyphs.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>Currently, only the Type 1 font driver supports track kerning, using data from AFM files (if attached with <a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a> or <a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a>).</p> +<p>Only very few AFM files come with track kerning data; please refer to the Adobe's AFM specification for more details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Glyph_Name">FT_Get_Glyph_Name</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Glyph_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> buffer, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> buffer_max ); +</pre> + +<p>Retrieve the ASCII name of a given glyph in a face. This only works for those faces where <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a>(face) returns 1.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a source face object.</p> +</td></tr> +<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc"> +<p>The glyph index.</p> +</td></tr> +<tr><td class="val" id="buffer_max">buffer_max</td><td class="desc"> +<p>The maximum number of bytes available in the buffer.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="buffer">buffer</td><td class="desc"> +<p>A pointer to a target buffer where the name is copied to.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>An error is returned if the face doesn't provide glyph names or if the glyph index is invalid. In all cases of failure, the first byte of ‘buffer’ is set to 0 to indicate an empty name.</p> +<p>The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.</p> +<p>Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the ‘missing glyph’ (called ‘.notdef’).</p> +<p>This function always returns an error if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is not defined in ‘ftoptions.h’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Postscript_Name">FT_Get_Postscript_Name</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) + <b>FT_Get_Postscript_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A pointer to the face's PostScript name. NULL if unavailable.</p> + +<h4>note</h4> +<p>The returned pointer is owned by the face and is destroyed with it.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CharMapRec">FT_CharMapRec</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_CharMapRec_ + { + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face; + <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> encoding; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> platform_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> encoding_id; + + } <b>FT_CharMapRec</b>; +</pre> + +<p>The base charmap structure.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the parent face object.</p> +</td></tr> +<tr><td class="val" id="encoding">encoding</td><td class="desc"> +<p>An <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> tag identifying the charmap. Use this with <a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a>.</p> +</td></tr> +<tr><td class="val" id="platform_id">platform_id</td><td class="desc"> +<p>An ID number describing the platform for the following encoding ID. This comes directly from the TrueType specification and should be emulated for other formats.</p> +</td></tr> +<tr><td class="val" id="encoding_id">encoding_id</td><td class="desc"> +<p>A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Select_Charmap">FT_Select_Charmap</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Select_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a> encoding ); +</pre> + +<p>Select a given charmap by its encoding tag (as listed in ‘freetype.h’).</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="encoding">encoding</td><td class="desc"> +<p>A handle to the selected encoding.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function returns an error if no charmap in the face corresponds to the encoding queried here.</p> +<p>Because many fonts contain more than a single cmap for Unicode encoding, this function has some special code to select the one that covers Unicode best (‘best’ in the sense that a UCS-4 cmap is preferred to a UCS-2 cmap). It is thus preferable to <a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a> in this case.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Charmap">FT_Set_Charmap</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Charmap</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); +</pre> + +<p>Select a given charmap for character code to glyph index mapping.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="charmap">charmap</td><td class="desc"> +<p>A handle to the selected charmap.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function returns an error if the charmap is not part of the face (i.e., if it is not listed in the ‘face->charmaps’ table).</p> +<p>It also fails if a type 14 charmap is selected.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Charmap_Index">FT_Get_Charmap_Index</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Get_Charmap_Index</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); +</pre> + +<p>Retrieve index of a given charmap.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="charmap">charmap</td><td class="desc"> +<p>A handle to a charmap.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The index into the array of character maps within the face to which ‘charmap’ belongs. If an error occurs, -1 is returned.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_FSType_Flags">FT_Get_FSType_Flags</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> ) + <b>FT_Get_FSType_Flags</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Return the fsType flags for a font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The fsType flags, <a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a>.</p> + +<h4>note</h4> +<p>Use this function rather than directly reading the ‘fs_type’ field in the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure, which is only guaranteed to return the correct results for Type 1 fonts.</p> + +<h4>since</h4> +<p>2.3.8</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_SubGlyph_Info</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> sub_index, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_index, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *p_flags, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_arg1, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *p_arg2, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a> *p_transform ); +</pre> + +<p>Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>; an error is returned otherwise.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="glyph">glyph</td><td class="desc"> +<p>The source glyph slot.</p> +</td></tr> +<tr><td class="val" id="sub_index">sub_index</td><td class="desc"> +<p>The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="p_index">p_index</td><td class="desc"> +<p>The glyph index of the subglyph.</p> +</td></tr> +<tr><td class="val" id="p_flags">p_flags</td><td class="desc"> +<p>The subglyph flags, see <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a>.</p> +</td></tr> +<tr><td class="val" id="p_arg1">p_arg1</td><td class="desc"> +<p>The subglyph's first argument (if any).</p> +</td></tr> +<tr><td class="val" id="p_arg2">p_arg2</td><td class="desc"> +<p>The subglyph's second argument (if any).</p> +</td></tr> +<tr><td class="val" id="p_transform">p_transform</td><td class="desc"> +<p>The subglyph transformation (if any).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The values of ‘*p_arg1’, ‘*p_arg2’, and ‘*p_transform’ must be interpreted depending on the flags returned in ‘*p_flags’. See the TrueType specification for details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_Internal">FT_Face_Internal</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Face_InternalRec_* <b>FT_Face_Internal</b>; +</pre> + +<p>An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object.</p> +<p>This structure might change between releases of FreeType 2 and is not generally available to client applications.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Size_Internal">FT_Size_Internal</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Size_InternalRec_* <b>FT_Size_Internal</b>; +</pre> + +<p>An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Slot_Internal">FT_Slot_Internal</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Slot_InternalRec_* <b>FT_Slot_Internal</b>; +</pre> + +<p>An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> object.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a> ( 1L << 0 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a> ( 1L << 1 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a> ( 1L << 2 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a> ( 1L << 3 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a> ( 1L << 4 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a> ( 1L << 5 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a> ( 1L << 6 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_FAST_GLYPHS">FT_FACE_FLAG_FAST_GLYPHS</a> ( 1L << 7 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ( 1L << 8 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a> ( 1L << 9 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_EXTERNAL_STREAM">FT_FACE_FLAG_EXTERNAL_STREAM</a> ( 1L << 10 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_HINTER">FT_FACE_FLAG_HINTER</a> ( 1L << 11 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a> ( 1L << 12 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a> ( 1L << 13 ) +#define <a href="ft2-base_interface.html#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a> ( 1L << 14 ) +</pre> + +<p>A list of bit flags used in the ‘face_flags’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure. They inform client applications of properties of the corresponding face.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</td><td class="desc"> +<p>Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> set.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</td><td class="desc"> +<p>Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</td><td class="desc"> +<p>Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</td><td class="desc"> +<p>Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</td><td class="desc"> +<p>Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</td><td class="desc"> +<p>Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</td><td class="desc"> +<p>Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>. Otherwise the function always return the vector (0,0). Note that FreeType doesn't handle kerning data from the ‘GPOS’ table (as present in some OpenType fonts).</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_FAST_GLYPHS">FT_FACE_FLAG_FAST_GLYPHS</td><td class="desc"> +<p>THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</td><td class="desc"> +<p>Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</td><td class="desc"> +<p>Indicates that the font contains glyph names that can be retrieved through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>. Note that some TrueType fonts contain broken glyph name tables. Use the function <a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a> when needed.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_EXTERNAL_STREAM">FT_FACE_FLAG_EXTERNAL_STREAM</td><td class="desc"> +<p>Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> is called. Don't read or test this flag.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_HINTER">FT_FACE_FLAG_HINTER</td><td class="desc"> +<p>Set if the font driver has a hinting machine of its own. For example, with TrueType fonts, it makes sense to use data from the SFNT ‘gasp’ table only if the native TrueType hinting engine (with the bytecode interpreter) is available and active.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</td><td class="desc"> +<p>Set if the font is CID-keyed. In that case, the font is not accessed by glyph indices but by CID values. For subsetted CID-keyed fonts this has the consequence that not all index values are a valid argument to FT_Load_Glyph. Only the CID values for which corresponding glyphs in the subsetted font exist make FT_Load_Glyph return successfully; in all other cases you get an ‘FT_Err_Invalid_Argument’ error.</p> +<p>Note that CID-keyed fonts that are in an SFNT wrapper don't have this flag set since the glyphs are accessed in the normal way (using contiguous indices); the ‘CID-ness’ isn't visible to the application.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</td><td class="desc"> +<p>Set if the font is ‘tricky’, this is, it always needs the font format's native hinting engine to get a reasonable result. A typical example is the Chinese font ‘mingli.ttf’ that uses TrueType bytecode instructions to move and scale all of its subglyphs.</p> +<p>It is not possible to autohint such fonts using <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>; it will also ignore <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a>. You have to set both <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> to really disable hinting; however, you probably never want this except for demonstration purposes.</p> +<p>Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.</p> +</td></tr> +<tr><td class="val" id="FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</td><td class="desc"> +<p>Set if the font has color glyph tables. To access color glyphs use <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a>.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</a> ( 1 << 0 ) +#define <a href="ft2-base_interface.html#FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</a> ( 1 << 1 ) +</pre> + +<p>A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_STYLE_FLAG_ITALIC">FT_STYLE_FLAG_ITALIC</td><td class="desc"> +<p>Indicates that a given face style is italic or oblique.</p> +</td></tr> +<tr><td class="val" id="FT_STYLE_FLAG_BOLD">FT_STYLE_FLAG_BOLD</td><td class="desc"> +<p>Indicates that a given face is bold.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The style information as provided by FreeType is very basic. More details are beyond the scope and should be done on a higher level (for example, by analyzing various fields of the ‘OS/2’ table in SFNT based fonts).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OPEN_XXX">FT_OPEN_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-base_interface.html#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a> 0x1 +#define <a href="ft2-base_interface.html#FT_OPEN_STREAM">FT_OPEN_STREAM</a> 0x2 +#define <a href="ft2-base_interface.html#FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</a> 0x4 +#define <a href="ft2-base_interface.html#FT_OPEN_DRIVER">FT_OPEN_DRIVER</a> 0x8 +#define <a href="ft2-base_interface.html#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a> 0x10 + + + /* these constants are deprecated; use the corresponding `<b>FT_OPEN_XXX</b>' */ + /* values instead */ +#define ft_open_memory <a href="ft2-base_interface.html#FT_OPEN_MEMORY">FT_OPEN_MEMORY</a> +#define ft_open_stream <a href="ft2-base_interface.html#FT_OPEN_STREAM">FT_OPEN_STREAM</a> +#define ft_open_pathname <a href="ft2-base_interface.html#FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</a> +#define ft_open_driver <a href="ft2-base_interface.html#FT_OPEN_DRIVER">FT_OPEN_DRIVER</a> +#define ft_open_params <a href="ft2-base_interface.html#FT_OPEN_PARAMS">FT_OPEN_PARAMS</a> +</pre> + +<p>A list of bit-field constants used within the ‘flags’ field of the <a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a> structure.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_OPEN_MEMORY">FT_OPEN_MEMORY</td><td class="desc"> +<p>This is a memory-based stream.</p> +</td></tr> +<tr><td class="val" id="FT_OPEN_STREAM">FT_OPEN_STREAM</td><td class="desc"> +<p>Copy the stream from the ‘stream’ field.</p> +</td></tr> +<tr><td class="val" id="FT_OPEN_PATHNAME">FT_OPEN_PATHNAME</td><td class="desc"> +<p>Create a new input stream from a C path name.</p> +</td></tr> +<tr><td class="val" id="FT_OPEN_DRIVER">FT_OPEN_DRIVER</td><td class="desc"> +<p>Use the ‘driver’ field.</p> +</td></tr> +<tr><td class="val" id="FT_OPEN_PARAMS">FT_OPEN_PARAMS</td><td class="desc"> +<p>Use the ‘num_params’ and ‘params’ fields.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The ‘FT_OPEN_MEMORY’, ‘FT_OPEN_STREAM’, and ‘FT_OPEN_PATHNAME’ flags are mutually exclusive.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_LOAD_XXX">FT_LOAD_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-base_interface.html#FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</a> 0x0 +#define <a href="ft2-base_interface.html#FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</a> ( 1L << 0 ) +#define <a href="ft2-base_interface.html#FT_LOAD_NO_HINTING">FT_LOAD_NO_HINTING</a> ( 1L << 1 ) +#define <a href="ft2-base_interface.html#FT_LOAD_RENDER">FT_LOAD_RENDER</a> ( 1L << 2 ) +#define <a href="ft2-base_interface.html#FT_LOAD_NO_BITMAP">FT_LOAD_NO_BITMAP</a> ( 1L << 3 ) +#define <a href="ft2-base_interface.html#FT_LOAD_VERTICAL_LAYOUT">FT_LOAD_VERTICAL_LAYOUT</a> ( 1L << 4 ) +#define <a href="ft2-base_interface.html#FT_LOAD_FORCE_AUTOHINT">FT_LOAD_FORCE_AUTOHINT</a> ( 1L << 5 ) +#define <a href="ft2-base_interface.html#FT_LOAD_CROP_BITMAP">FT_LOAD_CROP_BITMAP</a> ( 1L << 6 ) +#define <a href="ft2-base_interface.html#FT_LOAD_PEDANTIC">FT_LOAD_PEDANTIC</a> ( 1L << 7 ) +#define <a href="ft2-base_interface.html#FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a> ( 1L << 9 ) +#define <a href="ft2-base_interface.html#FT_LOAD_NO_RECURSE">FT_LOAD_NO_RECURSE</a> ( 1L << 10 ) +#define <a href="ft2-base_interface.html#FT_LOAD_IGNORE_TRANSFORM">FT_LOAD_IGNORE_TRANSFORM</a> ( 1L << 11 ) +#define <a href="ft2-base_interface.html#FT_LOAD_MONOCHROME">FT_LOAD_MONOCHROME</a> ( 1L << 12 ) +#define <a href="ft2-base_interface.html#FT_LOAD_LINEAR_DESIGN">FT_LOAD_LINEAR_DESIGN</a> ( 1L << 13 ) +#define <a href="ft2-base_interface.html#FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</a> ( 1L << 15 ) + /* Bits 16..19 are used by `FT_LOAD_TARGET_' */ +#define <a href="ft2-base_interface.html#FT_LOAD_COLOR">FT_LOAD_COLOR</a> ( 1L << 20 ) +</pre> + +<p>A list of bit-field constants used with <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> to indicate what kind of operations to perform during glyph loading.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_LOAD_DEFAULT">FT_LOAD_DEFAULT</td><td class="desc"> +<p>Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:</p> +<p>1. FreeType looks for a bitmap for the glyph corresponding to the face's current size. If one is found, the function returns. The bitmap data can be accessed from the glyph slot (see note below).</p> +<p>2. If no embedded bitmap is searched or found, FreeType looks for a scalable outline. If one is found, it is loaded from the font file, scaled to device pixels, then ‘hinted’ to the pixel grid in order to optimize it. The outline data can be accessed from the glyph slot (see note below).</p> +<p>Note that by default, the glyph loader doesn't render outlines into bitmaps. The following flags are used to modify this default behaviour to more specific and useful cases.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_NO_SCALE">FT_LOAD_NO_SCALE</td><td class="desc"> +<p>Don't scale the loaded outline glyph but keep it in font units.</p> +<p>This flag implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a>, and unsets <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a>.</p> +<p>If the font is ‘tricky’ (see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more), using FT_LOAD_NO_SCALE usually yields meaningless outlines because the subglyphs must be scaled and positioned with hinting instructions. This can be solved by loading the font without FT_LOAD_NO_SCALE and setting the character size to ‘font->units_per_EM’.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_NO_HINTING">FT_LOAD_NO_HINTING</td><td class="desc"> +<p>Disable hinting. This generally generates ‘blurrier’ bitmap glyphs when the glyph are rendered in any of the anti-aliased modes. See also the note below.</p> +<p>This flag is implied by <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_RENDER">FT_LOAD_RENDER</td><td class="desc"> +<p>Call <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a> after the glyph is loaded. By default, the glyph is rendered in <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a> mode. This can be overridden by <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> or <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> +<p>This flag is unset by <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_NO_BITMAP">FT_LOAD_NO_BITMAP</td><td class="desc"> +<p>Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.</p> +<p><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> always sets this flag.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_VERTICAL_LAYOUT">FT_LOAD_VERTICAL_LAYOUT</td><td class="desc"> +<p>Load the glyph for vertical text layout. In particular, the ‘advance’ value in the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure is set to the ‘vertAdvance’ value of the ‘metrics’ field.</p> +<p>In case <a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a> doesn't return true, you shouldn't use this flag currently. Reason is that in this case vertical metrics get synthesized, and those values are not always consistent across various font formats.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_FORCE_AUTOHINT">FT_LOAD_FORCE_AUTOHINT</td><td class="desc"> +<p>Indicates that the auto-hinter is preferred over the font's native hinter. See also the note below.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_PEDANTIC">FT_LOAD_PEDANTIC</td><td class="desc"> +<p>Indicates that the font driver should perform pedantic verifications during glyph loading. This is mostly used to detect broken glyphs in fonts. By default, FreeType tries to handle broken fonts also.</p> +<p>In particular, errors from the TrueType bytecode engine are not passed to the application if this flag is not set; this might result in partially hinted or distorted glyphs in case a glyph's bytecode is buggy.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_NO_RECURSE">FT_LOAD_NO_RECURSE</td><td class="desc"> +<p>Indicate that the font driver should not load composite glyphs recursively. Instead, it should set the ‘num_subglyph’ and ‘subglyphs’ values of the glyph slot accordingly, and set ‘glyph->format’ to <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a>. The description of subglyphs can then be accessed with <a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a>.</p> +<p>This flag implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> and <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a>.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_IGNORE_TRANSFORM">FT_LOAD_IGNORE_TRANSFORM</td><td class="desc"> +<p>Indicates that the transform matrix set by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> should be ignored.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_MONOCHROME">FT_LOAD_MONOCHROME</td><td class="desc"> +<p>This flag is used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> to indicate that you want to render an outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into each byte of the bitmap data.</p> +<p>Note that this has no effect on the hinting algorithm used. You should rather use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> so that the monochrome-optimized hinting algorithm is used.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_LINEAR_DESIGN">FT_LOAD_LINEAR_DESIGN</td><td class="desc"> +<p>Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> should be kept in font units. See <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> for details.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_NO_AUTOHINT">FT_LOAD_NO_AUTOHINT</td><td class="desc"> +<p>Disable auto-hinter. See also the note below.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_COLOR">FT_LOAD_COLOR</td><td class="desc"> +<p>This flag is used to request loading of color embedded-bitmap images. The resulting color bitmaps, if available, will have the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a> format. When the flag is not used and color bitmaps are found, they will be converted to 256-level gray bitmaps transparently. Those bitmaps will be in the <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a> format.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_CROP_BITMAP">FT_LOAD_CROP_BITMAP</td><td class="desc"> +<p>Ignored. Deprecated.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</td><td class="desc"> +<p>Ignored. Deprecated.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>By default, hinting is enabled and the font's native hinter (see <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a>) is preferred over the auto-hinter. You can disable hinting by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a> or change the precedence by setting <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>. You can also set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a> in case you don't want the auto-hinter to be used at all.</p> +<p>See the description of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for a special exception (affecting only a handful of Asian fonts).</p> +<p>Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a> for details.</p> +<p>Note that the auto-hinter needs a valid Unicode cmap (either a native one or synthesized by FreeType) for producing correct results. If a font provides an incorrect mapping (for example, assigning the character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a mathematical integral sign), the auto-hinter might produce useless results.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define FT_LOAD_TARGET_( x ) ( (<a href="ft2-basic_types.html#FT_Int32">FT_Int32</a>)( (x) & 15 ) << 16 ) + +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_NORMAL">FT_LOAD_TARGET_NORMAL</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_RENDER_MODE_NORMAL">FT_RENDER_MODE_NORMAL</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_LIGHT">FT_LOAD_TARGET_LIGHT</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_RENDER_MODE_LIGHT">FT_RENDER_MODE_LIGHT</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_MONO">FT_LOAD_TARGET_MONO</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_RENDER_MODE_MONO">FT_RENDER_MODE_MONO</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_LCD">FT_LOAD_TARGET_LCD</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_RENDER_MODE_LCD">FT_RENDER_MODE_LCD</a> ) +#define <a href="ft2-base_interface.html#FT_LOAD_TARGET_LCD_V">FT_LOAD_TARGET_LCD_V</a> FT_LOAD_TARGET_( <a href="ft2-base_interface.html#FT_RENDER_MODE_LCD_V">FT_RENDER_MODE_LCD_V</a> ) +</pre> + +<p>A list of values that are used to select a specific hinting algorithm to use by the hinter. You should OR one of these values to your ‘load_flags’ when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> +<p>Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a> to ensure that the auto-hinter is used.</p> +<p>Also note that <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a> is an exception, in that it always implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_LOAD_TARGET_NORMAL">FT_LOAD_TARGET_NORMAL</td><td class="desc"> +<p>This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a> instead.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_TARGET_LIGHT">FT_LOAD_TARGET_LIGHT</td><td class="desc"> +<p>A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.</p> +<p>As a special exception, this target implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a>.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_TARGET_MONO">FT_LOAD_TARGET_MONO</td><td class="desc"> +<p>Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_TARGET_LCD">FT_LOAD_TARGET_LCD</td><td class="desc"> +<p>A variant of <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> optimized for horizontally decimated LCD displays.</p> +</td></tr> +<tr><td class="val" id="FT_LOAD_TARGET_LCD_V">FT_LOAD_TARGET_LCD_V</td><td class="desc"> +<p>A variant of <a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a> optimized for vertically decimated LCD displays.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>You should use only <i>one</i> of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> is also set, the glyph is rendered in the corresponding mode (i.e., the mode that matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> +<p>You can use a hinting algorithm that doesn't correspond to the same rendering mode. As an example, it is possible to use the ‘light’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like</p> +<pre class="colored"> + FT_Load_Glyph( face, glyph_index, + load_flags | FT_LOAD_TARGET_LIGHT ); + + FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); +</pre> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a> 1 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a> 2 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a> 4 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_SCALE">FT_SUBGLYPH_FLAG_SCALE</a> 8 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XY_SCALE">FT_SUBGLYPH_FLAG_XY_SCALE</a> 0x40 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_2X2">FT_SUBGLYPH_FLAG_2X2</a> 0x80 +#define <a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_USE_MY_METRICS">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a> 0x200 +</pre> + +<p>A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_SCALE">FT_SUBGLYPH_FLAG_SCALE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_XY_SCALE">FT_SUBGLYPH_FLAG_XY_SCALE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_2X2">FT_SUBGLYPH_FLAG_2X2</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_SUBGLYPH_FLAG_USE_MY_METRICS">FT_SUBGLYPH_FLAG_USE_MY_METRICS</td><td class="desc"> +<p></p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_FSTYPE_XXX">FT_FSTYPE_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-base_interface.html#FT_FSTYPE_INSTALLABLE_EMBEDDING">FT_FSTYPE_INSTALLABLE_EMBEDDING</a> 0x0000 +#define <a href="ft2-base_interface.html#FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a> 0x0002 +#define <a href="ft2-base_interface.html#FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a> 0x0004 +#define <a href="ft2-base_interface.html#FT_FSTYPE_EDITABLE_EMBEDDING">FT_FSTYPE_EDITABLE_EMBEDDING</a> 0x0008 +#define <a href="ft2-base_interface.html#FT_FSTYPE_NO_SUBSETTING">FT_FSTYPE_NO_SUBSETTING</a> 0x0100 +#define <a href="ft2-base_interface.html#FT_FSTYPE_BITMAP_EMBEDDING_ONLY">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a> 0x0200 +</pre> + +<p>A list of bit flags used in the ‘fsType’ field of the OS/2 table in a TrueType or OpenType font and the ‘FSType’ entry in a PostScript font. These bit flags are returned by <a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a>; they inform client applications of embedding and subsetting restrictions associated with a font.</p> +<p>See <a href="http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf">http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf</a> for more details.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_FSTYPE_INSTALLABLE_EMBEDDING">FT_FSTYPE_INSTALLABLE_EMBEDDING</td><td class="desc"> +<p>Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.</p> +</td></tr> +<tr><td class="val" id="FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</td><td class="desc"> +<p>Fonts that have only this bit set must not be modified, embedded or exchanged in any manner without first obtaining permission of the font software copyright owner.</p> +</td></tr> +<tr><td class="val" id="FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</td><td class="desc"> +<p>If this bit is set, the font may be embedded and temporarily loaded on the remote system. Documents containing Preview & Print fonts must be opened ‘read-only’; no edits can be applied to the document.</p> +</td></tr> +<tr><td class="val" id="FT_FSTYPE_EDITABLE_EMBEDDING">FT_FSTYPE_EDITABLE_EMBEDDING</td><td class="desc"> +<p>If this bit is set, the font may be embedded but must only be installed temporarily on other systems. In contrast to Preview & Print fonts, documents containing editable fonts may be opened for reading, editing is permitted, and changes may be saved.</p> +</td></tr> +<tr><td class="val" id="FT_FSTYPE_NO_SUBSETTING">FT_FSTYPE_NO_SUBSETTING</td><td class="desc"> +<p>If this bit is set, the font may not be subsetted prior to embedding.</p> +</td></tr> +<tr><td class="val" id="FT_FSTYPE_BITMAP_EMBEDDING_ONLY">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</td><td class="desc"> +<p>If this bit is set, only bitmaps contained in the font may be embedded; no outline data may be embedded. If there are no bitmaps available in the font, then the font is unembeddable.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>While the fsType flags can indicate that a font may be embedded, a license with the font vendor may be separately required to use the font in this way.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <b>FT_HAS_FAST_GLYPHS</b>( face ) 0 +</pre> + +<p>Deprecated.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-basic_types.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-basic_types.html new file mode 100644 index 00000000000..eaae10bff76 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-basic_types.html @@ -0,0 +1,869 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Basic Data Types</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Byte">FT_Byte</a></td><td><a href="#FT_Bool">FT_Bool</a></td><td><a href="#FT_UnitVector">FT_UnitVector</a></td></tr> +<tr><td><a href="#FT_Bytes">FT_Bytes</a></td><td><a href="#FT_Offset">FT_Offset</a></td><td><a href="#FT_F26Dot6">FT_F26Dot6</a></td></tr> +<tr><td><a href="#FT_Char">FT_Char</a></td><td><a href="#FT_PtrDist">FT_PtrDist</a></td><td><a href="#FT_Data">FT_Data</a></td></tr> +<tr><td><a href="#FT_Int">FT_Int</a></td><td><a href="#FT_String">FT_String</a></td><td> </td></tr> +<tr><td><a href="#FT_UInt">FT_UInt</a></td><td><a href="#FT_Tag">FT_Tag</a></td><td><a href="#FT_MAKE_TAG">FT_MAKE_TAG</a></td></tr> +<tr><td><a href="#FT_Int16">FT_Int16</a></td><td><a href="#FT_Error">FT_Error</a></td><td> </td></tr> +<tr><td><a href="#FT_UInt16">FT_UInt16</a></td><td><a href="#FT_Fixed">FT_Fixed</a></td><td><a href="#FT_Generic">FT_Generic</a></td></tr> +<tr><td><a href="#FT_Int32">FT_Int32</a></td><td><a href="#FT_Pointer">FT_Pointer</a></td><td><a href="#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td></tr> +<tr><td><a href="#FT_UInt32">FT_UInt32</a></td><td><a href="#FT_Pos">FT_Pos</a></td><td> </td></tr> +<tr><td><a href="#FT_Int64">FT_Int64</a></td><td><a href="#FT_Vector">FT_Vector</a></td><td><a href="#FT_Bitmap">FT_Bitmap</a></td></tr> +<tr><td><a href="#FT_UInt64">FT_UInt64</a></td><td><a href="#FT_BBox">FT_BBox</a></td><td><a href="#FT_Pixel_Mode">FT_Pixel_Mode</a></td></tr> +<tr><td><a href="#FT_Short">FT_Short</a></td><td><a href="#FT_Matrix">FT_Matrix</a></td><td><a href="#FT_Palette_Mode">FT_Palette_Mode</a></td></tr> +<tr><td><a href="#FT_UShort">FT_UShort</a></td><td><a href="#FT_FWord">FT_FWord</a></td><td><a href="#FT_Glyph_Format">FT_Glyph_Format</a></td></tr> +<tr><td><a href="#FT_Long">FT_Long</a></td><td><a href="#FT_UFWord">FT_UFWord</a></td><td><a href="#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td></tr> +<tr><td><a href="#FT_ULong">FT_ULong</a></td><td><a href="#FT_F2Dot14">FT_F2Dot14</a></td><td></td></tr> +</table> + + +<p>This section contains the basic data types defined by FreeType 2, ranging from simple scalar types to bitmap descriptors. More font-specific structures are defined in a different section.</p> + +<div class="section"> +<h3 id="FT_Byte">FT_Byte</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Byte</b>; +</pre> + +<p>A simple typedef for the <i>unsigned</i> char type.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bytes">FT_Bytes</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* <b>FT_Bytes</b>; +</pre> + +<p>A typedef for constant memory areas.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Char">FT_Char</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">char</span> <b>FT_Char</b>; +</pre> + +<p>A simple typedef for the <i>signed</i> char type.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Int">FT_Int</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">int</span> <b>FT_Int</b>; +</pre> + +<p>A typedef for the int type.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UInt">FT_UInt</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <b>FT_UInt</b>; +</pre> + +<p>A typedef for the unsigned int type.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Int16">FT_Int16</h3> +<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Int16</b>; +</pre> + +<p>A typedef for a 16bit signed integer type.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UInt16">FT_UInt16</h3> +<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UInt16</b>; +</pre> + +<p>A typedef for a 16bit unsigned integer type.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Int32">FT_Int32</h3> +<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int32</b>; +</pre> + +<p>A typedef for a 32bit signed integer type. The size depends on the configuration.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UInt32">FT_UInt32</h3> +<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt32</b>; +</pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Int64">FT_Int64</h3> +<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> XXX <b>FT_Int64</b>; +</pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UInt64">FT_UInt64</h3> +<p>Defined in FT_CONFIG_CONFIG_H (config/ftconfig.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> XXX <b>FT_UInt64</b>; +</pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Short">FT_Short</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_Short</b>; +</pre> + +<p>A typedef for signed short.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UShort">FT_UShort</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UShort</b>; +</pre> + +<p>A typedef for unsigned short.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Long">FT_Long</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Long</b>; +</pre> + +<p>A typedef for signed long.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ULong">FT_ULong</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> <b>FT_ULong</b>; +</pre> + +<p>A typedef for unsigned long.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bool">FT_Bool</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">char</span> <b>FT_Bool</b>; +</pre> + +<p>A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Offset">FT_Offset</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> size_t <b>FT_Offset</b>; +</pre> + +<p>This is equivalent to the ANSI C ‘size_t’ type, i.e., the largest <i>unsigned</i> integer type used to express a file size or position, or a memory block size.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_PtrDist">FT_PtrDist</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> ft_ptrdiff_t <b>FT_PtrDist</b>; +</pre> + +<p>This is equivalent to the ANSI C ‘ptrdiff_t’ type, i.e., the largest <i>signed</i> integer type used to express the distance between two pointers.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_String">FT_String</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">char</span> <b>FT_String</b>; +</pre> + +<p>A simple typedef for the char type, usually used for strings.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Tag">FT_Tag</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> <b>FT_Tag</b>; +</pre> + +<p>A typedef for 32-bit tags (as used in the SFNT format).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Error">FT_Error</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> <b>FT_Error</b>; +</pre> + +<p>The FreeType error code type. A value of 0 is always interpreted as a successful operation.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Fixed">FT_Fixed</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Fixed</b>; +</pre> + +<p>This type is used to store 16.16 fixed-point values, like scaling values or matrix coefficients.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Pointer">FT_Pointer</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span>* <b>FT_Pointer</b>; +</pre> + +<p>A simple typedef for a typeless pointer.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Pos">FT_Pos</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_Pos</b>; +</pre> + +<p>The type FT_Pos is used to store vectorial coordinates. Depending on the context, these can represent distances in integer font units, or 16.16, or 26.6 fixed-point pixel coordinates.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector">FT_Vector</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Vector_ + { + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> x; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> y; + + } <b>FT_Vector</b>; +</pre> + +<p>A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="x">x</td><td class="desc"> +<p>The horizontal coordinate.</p> +</td></tr> +<tr><td class="val" id="y">y</td><td class="desc"> +<p>The vertical coordinate.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BBox">FT_BBox</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BBox_ + { + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMin, yMin; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xMax, yMax; + + } <b>FT_BBox</b>; +</pre> + +<p>A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="xMin">xMin</td><td class="desc"> +<p>The horizontal minimum (left-most).</p> +</td></tr> +<tr><td class="val" id="yMin">yMin</td><td class="desc"> +<p>The vertical minimum (bottom-most).</p> +</td></tr> +<tr><td class="val" id="xMax">xMax</td><td class="desc"> +<p>The horizontal maximum (right-most).</p> +</td></tr> +<tr><td class="val" id="yMax">yMax</td><td class="desc"> +<p>The vertical maximum (top-most).</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The bounding box is specified with the coordinates of the lower left and the upper right corner. In PostScript, those values are often called (llx,lly) and (urx,ury), respectively.</p> +<p>If ‘yMin’ is negative, this value gives the glyph's descender. Otherwise, the glyph doesn't descend below the baseline. Similarly, if ‘ymax’ is positive, this value gives the glyph's ascender.</p> +<p>‘xMin’ gives the horizontal distance from the glyph's origin to the left edge of the glyph's bounding box. If ‘xMin’ is negative, the glyph extends to the left of the origin.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Matrix">FT_Matrix</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Matrix_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> xx, xy; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> yx, yy; + + } <b>FT_Matrix</b>; +</pre> + +<p>A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed-point format. The computation performed is:</p> +<pre class="colored"> + x' = x*xx + y*xy + y' = x*yx + y*yy +</pre> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="xx">xx</td><td class="desc"> +<p>Matrix coefficient.</p> +</td></tr> +<tr><td class="val" id="xy">xy</td><td class="desc"> +<p>Matrix coefficient.</p> +</td></tr> +<tr><td class="val" id="yx">yx</td><td class="desc"> +<p>Matrix coefficient.</p> +</td></tr> +<tr><td class="val" id="yy">yy</td><td class="desc"> +<p>Matrix coefficient.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_FWord">FT_FWord</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_FWord</b>; /* distance in FUnits */ +</pre> + +<p>A signed 16-bit integer used to store a distance in original font units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UFWord">FT_UFWord</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">short</span> <b>FT_UFWord</b>; /* <span class="keyword">unsigned</span> distance */ +</pre> + +<p>An unsigned 16-bit integer used to store a distance in original font units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_F2Dot14">FT_F2Dot14</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">short</span> <b>FT_F2Dot14</b>; +</pre> + +<p>A signed 2.14 fixed-point type used for unit vectors.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UnitVector">FT_UnitVector</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_UnitVector_ + { + <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> x; + <a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a> y; + + } <b>FT_UnitVector</b>; +</pre> + +<p>A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="x">x</td><td class="desc"> +<p>Horizontal coordinate.</p> +</td></tr> +<tr><td class="val" id="y">y</td><td class="desc"> +<p>Vertical coordinate.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_F26Dot6">FT_F26Dot6</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">signed</span> <span class="keyword">long</span> <b>FT_F26Dot6</b>; +</pre> + +<p>A signed 26.6 fixed-point type used for vectorial pixel coordinates.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Data">FT_Data</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Data_ + { + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* pointer; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> length; + + } <b>FT_Data</b>; +</pre> + +<p>Read-only binary data represented as a pointer and a length.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="pointer">pointer</td><td class="desc"> +<p>The data.</p> +</td></tr> +<tr><td class="val" id="length">length</td><td class="desc"> +<p>The length of the data in bytes.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MAKE_TAG">FT_MAKE_TAG</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> +#define <b>FT_MAKE_TAG</b>( _x1, _x2, _x3, _x4 ) \ + (<a href="ft2-basic_types.html#FT_Tag">FT_Tag</a>) \ + ( ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x1 << 24 ) | \ + ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x2 << 16 ) | \ + ( (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x3 << 8 ) | \ + (<a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>)_x4 ) +</pre> + +<p>This macro converts four-letter tags that are used to label TrueType tables into an unsigned long, to be used within FreeType.</p> + +<h4>note</h4> +<p>The produced values <b>must</b> be 32-bit integers. Don't redefine this macro.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Generic">FT_Generic</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Generic_ + { + <span class="keyword">void</span>* data; + <a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a> finalizer; + + } <b>FT_Generic</b>; +</pre> + +<p>Client applications often need to associate their own data to a variety of FreeType core objects. For example, a text layout API might want to associate a glyph cache to a given size object.</p> +<p>Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.</p> +<p>It can be used to store a pointer to client-specific data, as well as the address of a ‘finalizer’ function, which will be called by FreeType when the object is destroyed (for example, the previous client example would put the address of the glyph cache destructor in the ‘finalizer’ field).</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="data">data</td><td class="desc"> +<p>A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.</p> +</td></tr> +<tr><td class="val" id="finalizer">finalizer</td><td class="desc"> +<p>A pointer to a ‘generic finalizer’ function, which will be called when the object is destroyed. If this field is set to NULL, no code will be called.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Generic_Finalizer">FT_Generic_Finalizer</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Generic_Finalizer</b>)(<span class="keyword">void</span>* object); +</pre> + +<p>Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the <a href="ft2-basic_types.html#FT_Generic">FT_Generic</a> type for details of usage.</p> + +<h4>input</h4> +<p>The address of the FreeType object that is under finalization. Its client data is accessed through its ‘generic’ field.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bitmap">FT_Bitmap</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Bitmap_ + { + <span class="keyword">unsigned</span> <span class="keyword">int</span> rows; + <span class="keyword">unsigned</span> <span class="keyword">int</span> width; + <span class="keyword">int</span> pitch; + <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer; + <span class="keyword">unsigned</span> <span class="keyword">short</span> num_grays; + <span class="keyword">unsigned</span> <span class="keyword">char</span> pixel_mode; + <span class="keyword">unsigned</span> <span class="keyword">char</span> palette_mode; + <span class="keyword">void</span>* palette; + + } <b>FT_Bitmap</b>; +</pre> + +<p>A structure used to describe a bitmap or pixmap to the raster. Note that we now manage pixmaps of various depths through the ‘pixel_mode’ field.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="rows">rows</td><td class="desc"> +<p>The number of bitmap rows.</p> +</td></tr> +<tr><td class="val" id="width">width</td><td class="desc"> +<p>The number of pixels in bitmap row.</p> +</td></tr> +<tr><td class="val" id="pitch">pitch</td><td class="desc"> +<p>The pitch's absolute value is the number of bytes taken by one bitmap row, including padding. However, the pitch is positive when the bitmap has a ‘down’ flow, and negative when it has an ‘up’ flow. In all cases, the pitch is an offset to add to a bitmap pointer in order to go down one row.</p> +<p>Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.</p> +<p>For the B/W rasterizer, ‘pitch’ is always an even number.</p> +<p>To change the pitch of a bitmap (say, to make it a multiple of 4), use <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a>. Alternatively, you might use callback functions to directly render to the application's surface; see the file ‘example2.cpp’ in the tutorial for a demonstration.</p> +</td></tr> +<tr><td class="val" id="buffer">buffer</td><td class="desc"> +<p>A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.</p> +</td></tr> +<tr><td class="val" id="num_grays">num_grays</td><td class="desc"> +<p>This field is only used with <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>; it gives the number of gray levels used in the bitmap.</p> +</td></tr> +<tr><td class="val" id="pixel_mode">pixel_mode</td><td class="desc"> +<p>The pixel mode, i.e., how pixel bits are stored. See <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a> for possible values.</p> +</td></tr> +<tr><td class="val" id="palette_mode">palette_mode</td><td class="desc"> +<p>This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.</p> +</td></tr> +<tr><td class="val" id="palette">palette</td><td class="desc"> +<p>A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>For now, the only pixel modes supported by FreeType are mono and grays. However, drivers might be added in the future to support more ‘colorful’ options.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Pixel_Mode">FT_Pixel_Mode</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Pixel_Mode_ + { + <a href="ft2-basic_types.html#FT_PIXEL_MODE_NONE">FT_PIXEL_MODE_NONE</a> = 0, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_MONO">FT_PIXEL_MODE_MONO</a>, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_GRAY">FT_PIXEL_MODE_GRAY</a>, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_GRAY2">FT_PIXEL_MODE_GRAY2</a>, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_GRAY4">FT_PIXEL_MODE_GRAY4</a>, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_LCD">FT_PIXEL_MODE_LCD</a>, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_LCD_V">FT_PIXEL_MODE_LCD_V</a>, + <a href="ft2-basic_types.html#FT_PIXEL_MODE_BGRA">FT_PIXEL_MODE_BGRA</a>, + + FT_PIXEL_MODE_MAX /* do not remove */ + + } <b>FT_Pixel_Mode</b>; + + + /* these constants are deprecated; use the corresponding `<b>FT_Pixel_Mode</b>' */ + /* values instead. */ +#define ft_pixel_mode_none <a href="ft2-basic_types.html#FT_PIXEL_MODE_NONE">FT_PIXEL_MODE_NONE</a> +#define ft_pixel_mode_mono <a href="ft2-basic_types.html#FT_PIXEL_MODE_MONO">FT_PIXEL_MODE_MONO</a> +#define ft_pixel_mode_grays <a href="ft2-basic_types.html#FT_PIXEL_MODE_GRAY">FT_PIXEL_MODE_GRAY</a> +#define ft_pixel_mode_pal2 <a href="ft2-basic_types.html#FT_PIXEL_MODE_GRAY2">FT_PIXEL_MODE_GRAY2</a> +#define ft_pixel_mode_pal4 <a href="ft2-basic_types.html#FT_PIXEL_MODE_GRAY4">FT_PIXEL_MODE_GRAY4</a> +</pre> + +<p>An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_PIXEL_MODE_NONE">FT_PIXEL_MODE_NONE</td><td class="desc"> +<p>Value 0 is reserved.</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_MONO">FT_PIXEL_MODE_MONO</td><td class="desc"> +<p>A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in most-significant order (MSB), which means that the left-most pixel in a byte has value 128.</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_GRAY">FT_PIXEL_MODE_GRAY</td><td class="desc"> +<p>An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each pixel is stored in one byte. Note that the number of ‘gray’ levels is stored in the ‘num_grays’ field of the <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure (it generally is 256).</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_GRAY2">FT_PIXEL_MODE_GRAY2</td><td class="desc"> +<p>A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_GRAY4">FT_PIXEL_MODE_GRAY4</td><td class="desc"> +<p>A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font files according to the OpenType specification. We haven't found a single font using this format, however.</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_LCD">FT_PIXEL_MODE_LCD</td><td class="desc"> +<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on LCD displays; the bitmap is three times wider than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>.</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_LCD_V">FT_PIXEL_MODE_LCD_V</td><td class="desc"> +<p>An 8-bit bitmap, representing RGB or BGR decimated glyph images used for display on rotated LCD displays; the bitmap is three times taller than the original glyph image. See also <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</p> +</td></tr> +<tr><td class="val" id="FT_PIXEL_MODE_BGRA">FT_PIXEL_MODE_BGRA</td><td class="desc"> +<p>An image with four 8-bit channels per pixel, representing a color image (such as emoticons) with alpha channel. For each pixel, the format is BGRA, which means, the blue channel comes first in memory. The color channels are pre-multiplied and in the sRGB colorspace. For example, full red at half-translucent opacity will be represented as ‘00,00,80,80’, not ‘00,00,FF,80’. See also <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a>.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_Format">FT_Glyph_Format</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_Format_ + { + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_NONE">FT_GLYPH_FORMAT_NONE</a>, 0, 0, 0, 0 ), + + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_COMPOSITE">FT_GLYPH_FORMAT_COMPOSITE</a>, 'c', 'o', 'm', 'p' ), + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_BITMAP">FT_GLYPH_FORMAT_BITMAP</a>, 'b', 'i', 't', 's' ), + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_OUTLINE">FT_GLYPH_FORMAT_OUTLINE</a>, 'o', 'u', 't', 'l' ), + <a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a>( <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_PLOTTER">FT_GLYPH_FORMAT_PLOTTER</a>, 'p', 'l', 'o', 't' ) + + } <b>FT_Glyph_Format</b>; + + + /* these constants are deprecated; use the corresponding */ + /* `<b>FT_Glyph_Format</b>' values instead. */ +#define ft_glyph_format_none <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_NONE">FT_GLYPH_FORMAT_NONE</a> +#define ft_glyph_format_composite <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_COMPOSITE">FT_GLYPH_FORMAT_COMPOSITE</a> +#define ft_glyph_format_bitmap <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_BITMAP">FT_GLYPH_FORMAT_BITMAP</a> +#define ft_glyph_format_outline <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_OUTLINE">FT_GLYPH_FORMAT_OUTLINE</a> +#define ft_glyph_format_plotter <a href="ft2-basic_types.html#FT_GLYPH_FORMAT_PLOTTER">FT_GLYPH_FORMAT_PLOTTER</a> +</pre> + +<p>An enumeration type used to describe the format of a given glyph image. Note that this version of FreeType only supports two image formats, even though future font drivers will be able to register their own format.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_GLYPH_FORMAT_NONE">FT_GLYPH_FORMAT_NONE</td><td class="desc"> +<p>The value 0 is reserved.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_FORMAT_COMPOSITE">FT_GLYPH_FORMAT_COMPOSITE</td><td class="desc"> +<p>The glyph image is a composite of several other images. This format is <i>only</i> used with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a>, and is used to report compound glyphs (like accented characters).</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_FORMAT_BITMAP">FT_GLYPH_FORMAT_BITMAP</td><td class="desc"> +<p>The glyph image is a bitmap, and can be described as an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>. You generally need to access the ‘bitmap’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_FORMAT_OUTLINE">FT_GLYPH_FORMAT_OUTLINE</td><td class="desc"> +<p>The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>; you generally want to access the ‘outline’ field of the <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a> structure to read it.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_FORMAT_PLOTTER">FT_GLYPH_FORMAT_PLOTTER</td><td class="desc"> +<p>The glyph image is a vectorial path with no inside and outside contours. Some Type 1 fonts, like those in the Hershey family, contain glyphs in this format. These are described as <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>, but FreeType isn't currently capable of rendering them correctly.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IMAGE_TAG">FT_IMAGE_TAG</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> +#ifndef <b>FT_IMAGE_TAG</b> +#define <b>FT_IMAGE_TAG</b>( value, _x1, _x2, _x3, _x4 ) \ + value = ( ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x1 << 24 ) | \ + ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x2 << 16 ) | \ + ( (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x3 << 8 ) | \ + (<span class="keyword">unsigned</span> <span class="keyword">long</span>)_x4 ) +#endif /* <b>FT_IMAGE_TAG</b> */ +</pre> + +<p>This macro converts four-letter tags to an unsigned long type.</p> + +<h4>note</h4> +<p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> +<pre class="colored"> + #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value +</pre> +<p>to get a simple enumeration without assigning special numbers.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bdf_fonts.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bdf_fonts.html new file mode 100644 index 00000000000..7515f87bfd7 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bdf_fonts.html @@ -0,0 +1,280 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>BDF and PCF Files</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#BDF_PropertyType">BDF_PropertyType</a></td><td><a href="#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td></tr> +<tr><td><a href="#BDF_Property">BDF_Property</a></td><td><a href="#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td></td></tr> +</table> + + +<p>This section contains the declaration of functions specific to BDF and PCF fonts.</p> + +<div class="section"> +<h3 id="BDF_PropertyType">BDF_PropertyType</h3> +<p>Defined in FT_BDF_H (ftbdf.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> BDF_PropertyType_ + { + <a href="ft2-bdf_fonts.html#BDF_PROPERTY_TYPE_NONE">BDF_PROPERTY_TYPE_NONE</a> = 0, + <a href="ft2-bdf_fonts.html#BDF_PROPERTY_TYPE_ATOM">BDF_PROPERTY_TYPE_ATOM</a> = 1, + <a href="ft2-bdf_fonts.html#BDF_PROPERTY_TYPE_INTEGER">BDF_PROPERTY_TYPE_INTEGER</a> = 2, + <a href="ft2-bdf_fonts.html#BDF_PROPERTY_TYPE_CARDINAL">BDF_PROPERTY_TYPE_CARDINAL</a> = 3 + + } <b>BDF_PropertyType</b>; +</pre> + +<p>A list of BDF property types.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="BDF_PROPERTY_TYPE_NONE">BDF_PROPERTY_TYPE_NONE</td><td class="desc"> +<p>Value 0 is used to indicate a missing property.</p> +</td></tr> +<tr><td class="val" id="BDF_PROPERTY_TYPE_ATOM">BDF_PROPERTY_TYPE_ATOM</td><td class="desc"> +<p>Property is a string atom.</p> +</td></tr> +<tr><td class="val" id="BDF_PROPERTY_TYPE_INTEGER">BDF_PROPERTY_TYPE_INTEGER</td><td class="desc"> +<p>Property is a 32-bit signed integer.</p> +</td></tr> +<tr><td class="val" id="BDF_PROPERTY_TYPE_CARDINAL">BDF_PROPERTY_TYPE_CARDINAL</td><td class="desc"> +<p>Property is a 32-bit unsigned integer.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="BDF_Property">BDF_Property</h3> +<p>Defined in FT_BDF_H (ftbdf.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_* <b>BDF_Property</b>; +</pre> + +<p>A handle to a <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> structure to model a given BDF/PCF property.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="BDF_PropertyRec">BDF_PropertyRec</h3> +<p>Defined in FT_BDF_H (ftbdf.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> BDF_PropertyRec_ + { + <a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PropertyType</a> type; + <span class="keyword">union</span> { + <span class="keyword">const</span> <span class="keyword">char</span>* atom; + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> integer; + <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> cardinal; + + } u; + + } <b>BDF_PropertyRec</b>; +</pre> + +<p>This structure models a given BDF/PCF property.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="type">type</td><td class="desc"> +<p>The property type.</p> +</td></tr> +<tr><td class="val" id="u.atom">u.atom</td><td class="desc"> +<p>The atom string, if type is <a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_ATOM</a>. May be NULL, indicating an empty string.</p> +</td></tr> +<tr><td class="val" id="u.integer">u.integer</td><td class="desc"> +<p>A signed integer, if type is <a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a>.</p> +</td></tr> +<tr><td class="val" id="u.cardinal">u.cardinal</td><td class="desc"> +<p>An unsigned integer, if type is <a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a>.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</h3> +<p>Defined in FT_BDF_H (ftbdf.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_BDF_Charset_ID</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* *acharset_encoding, + <span class="keyword">const</span> <span class="keyword">char</span>* *acharset_registry ); +</pre> + +<p>Retrieve a BDF font character set identity, according to the BDF specification.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="acharset_encoding">acharset_encoding</td><td class="desc"> +<p>Charset encoding, as a C string, owned by the face.</p> +</td></tr> +<tr><td class="val" id="acharset_registry">acharset_registry</td><td class="desc"> +<p>Charset registry, as a C string, owned by the face.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with BDF faces, returning an error otherwise.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_BDF_Property">FT_Get_BDF_Property</h3> +<p>Defined in FT_BDF_H (ftbdf.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_BDF_Property</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* prop_name, + <a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a> *aproperty ); +</pre> + +<p>Retrieve a BDF property from a BDF or PCF font file.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="name">name</td><td class="desc"> +<p>The property name.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aproperty">aproperty</td><td class="desc"> +<p>The property.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function works with BDF <i>and</i> PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.</p> +<p>A ‘property’ is a either key-value pair within the STARTPROPERTIES ... ENDPROPERTIES block of a BDF font or a key-value pair from the ‘info->props’ array within a ‘FontRec’ structure of a PCF font.</p> +<p>Integer properties are always stored as ‘signed’ within PCF fonts; consequently, <a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a> is a possible return value for BDF fonts only.</p> +<p>In case of error, ‘aproperty->type’ is always set to <a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_NONE</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bitmap_handling.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bitmap_handling.html new file mode 100644 index 00000000000..c6781d9147b --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bitmap_handling.html @@ -0,0 +1,315 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Bitmap Handling</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Bitmap_New">FT_Bitmap_New</a></td><td><a href="#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td></tr> +<tr><td><a href="#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="#FT_Bitmap_Done">FT_Bitmap_Done</a></td></tr> +</table> + + +<p>This section contains functions for handling <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> objects. Note that none of the functions changes the bitmap's ‘flow’ (as indicated by the sign of the ‘pitch’ field in ‘FT_Bitmap’).</p> + +<div class="section"> +<h3 id="FT_Bitmap_New">FT_Bitmap_New</h3> +<p>Defined in FT_BITMAP_H (ftbitmap.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Bitmap_New</b>( <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap ); +</pre> + +<p>Initialize a pointer to an <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> structure.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="abitmap">abitmap</td><td class="desc"> +<p>A pointer to the bitmap structure.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bitmap_Copy">FT_Bitmap_Copy</h3> +<p>Defined in FT_BITMAP_H (ftbitmap.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Copy</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *source, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *target); +</pre> + +<p>Copy a bitmap into another one.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a library object.</p> +</td></tr> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>A handle to the source bitmap.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="target">target</td><td class="desc"> +<p>A handle to the target bitmap.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bitmap_Embolden">FT_Bitmap_Embolden</h3> +<p>Defined in FT_BITMAP_H (ftbitmap.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Embolden</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>* bitmap, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xStrength, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> yStrength ); +</pre> + +<p>Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a library object.</p> +</td></tr> +<tr><td class="val" id="xStrength">xStrength</td><td class="desc"> +<p>How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.</p> +</td></tr> +<tr><td class="val" id="yStrength">yStrength</td><td class="desc"> +<p>How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="bitmap">bitmap</td><td class="desc"> +<p>A handle to the target bitmap.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a>.</p> +<p>If you want to embolden the bitmap owned by a <a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a>, you should call <a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a> on the slot first.</p> +<p>Bitmaps in <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a> and <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a>@ format are converted to <a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a> format (i.e., 8bpp).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bitmap_Convert">FT_Bitmap_Convert</h3> +<p>Defined in FT_BITMAP_H (ftbitmap.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Convert</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *source, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *target, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> alignment ); +</pre> + +<p>Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, 8bpp or 32bpp to a bitmap object with depth 8bpp, making the number of used bytes line (a.k.a. the ‘pitch’) a multiple of ‘alignment’.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a library object.</p> +</td></tr> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>The source bitmap.</p> +</td></tr> +<tr><td class="val" id="alignment">alignment</td><td class="desc"> +<p>The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="target">target</td><td class="desc"> +<p>The target bitmap.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>It is possible to call <a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a> multiple times without calling <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> (the memory is simply reallocated).</p> +<p>Use <a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a> to finally remove the bitmap object.</p> +<p>The ‘library’ argument is taken to have access to FreeType's memory handling functions.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</h3> +<p>Defined in FT_BITMAP_H (ftbitmap.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GlyphSlot_Own_Bitmap</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot ); +</pre> + +<p>Make sure that a glyph slot owns ‘slot->bitmap’.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="slot">slot</td><td class="desc"> +<p>The glyph slot.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function is to be used in combination with <a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Bitmap_Done">FT_Bitmap_Done</h3> +<p>Defined in FT_BITMAP_H (ftbitmap.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Bitmap_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *bitmap ); +</pre> + +<p>Destroy a bitmap object created with <a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a library object.</p> +</td></tr> +<tr><td class="val" id="bitmap">bitmap</td><td class="desc"> +<p>The bitmap object to be freed.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The ‘library’ argument is taken to have access to FreeType's memory handling functions.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bzip2.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bzip2.html new file mode 100644 index 00000000000..2abe7a460f6 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-bzip2.html @@ -0,0 +1,149 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>BZIP2 Streams</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td></td><td></td></tr> +</table> + + +<p>This section contains the declaration of Bzip2-specific functions.</p> + +<div class="section"> +<h3 id="FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</h3> +<p>Defined in FT_BZIP2_H (ftbzip2.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stream_OpenBzip2</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); +</pre> + +<p>Open a new stream to parse bzip2-compressed font files. This is mainly used to support the compressed ‘*.pcf.bz2’ fonts that come with XFree86.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stream">stream</td><td class="desc"> +<p>The target embedding stream.</p> +</td></tr> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>The source stream.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The source stream must be opened <i>before</i> calling this function.</p> +<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> +<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.</p> +<p>In certain builds of the library, bzip2 compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a bzip2 compressed stream from it and re-open the face with it.</p> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with bzip2 support.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cache_subsystem.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cache_subsystem.html index 772a29a6e6e..a16c07d0ad5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cache_subsystem.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cache_subsystem.html @@ -3,62 +3,128 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> +<title>FreeType-2.5.4 API Reference</title> <style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; - background: #FFFFFF; } + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } - p { text-align: justify; } h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } + p { text-align: justify; } + + pre.colored { color: blue; } span.keyword { font-family: monospace; text-align: left; white-space: pre; color: darkblue; } - pre.colored { color: blue; } + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } - ul.empty { list-style-type: none; } </style> </head> <body> -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> -<center><h1> -Cache Sub-System -</h1></center> +<h1>Cache Sub-System</h1> <h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FTC_Manager">FTC_Manager</a></td><td></td><td><a href="#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> -<tr><td></td><td><a href="#FTC_FaceID">FTC_FaceID</a></td><td></td><td><a href="#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> -<tr><td></td><td><a href="#FTC_Face_Requester">FTC_Face_Requester</a></td><td></td><td><a href="#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> -<tr><td></td><td><a href="#FTC_Node">FTC_Node</a></td><td></td><td><a href="#FTC_ImageType">FTC_ImageType</a></td></tr> -<tr><td></td><td><a href="#FTC_Manager_New">FTC_Manager_New</a></td><td></td><td><a href="#FTC_ImageCache">FTC_ImageCache</a></td></tr> -<tr><td></td><td><a href="#FTC_Manager_Reset">FTC_Manager_Reset</a></td><td></td><td><a href="#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr> -<tr><td></td><td><a href="#FTC_Manager_Done">FTC_Manager_Done</a></td><td></td><td><a href="#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr> -<tr><td></td><td><a href="#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td><td></td><td><a href="#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> -<tr><td></td><td><a href="#FTC_ScalerRec">FTC_ScalerRec</a></td><td></td><td><a href="#FTC_SBit">FTC_SBit</a></td></tr> -<tr><td></td><td><a href="#FTC_Scaler">FTC_Scaler</a></td><td></td><td><a href="#FTC_SBitRec">FTC_SBitRec</a></td></tr> -<tr><td></td><td><a href="#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td><td></td><td><a href="#FTC_SBitCache">FTC_SBitCache</a></td></tr> -<tr><td></td><td><a href="#FTC_Node_Unref">FTC_Node_Unref</a></td><td></td><td><a href="#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> -<tr><td></td><td><a href="#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td><td></td><td><a href="#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> -<tr><td></td><td><a href="#FTC_CMapCache">FTC_CMapCache</a></td><td></td><td><a href="#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> +<table class="synopsis"> +<tr><td><a href="#FTC_Manager">FTC_Manager</a></td><td> </td></tr> +<tr><td><a href="#FTC_FaceID">FTC_FaceID</a></td><td><a href="#FTC_SBit">FTC_SBit</a></td></tr> +<tr><td><a href="#FTC_Face_Requester">FTC_Face_Requester</a></td><td><a href="#FTC_SBitCache">FTC_SBitCache</a></td></tr> +<tr><td> </td><td><a href="#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> +<tr><td><a href="#FTC_Manager_New">FTC_Manager_New</a></td><td><a href="#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> +<tr><td><a href="#FTC_Manager_Reset">FTC_Manager_Reset</a></td><td> </td></tr> +<tr><td><a href="#FTC_Manager_Done">FTC_Manager_Done</a></td><td><a href="#FTC_CMapCache">FTC_CMapCache</a></td></tr> +<tr><td><a href="#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td><td><a href="#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> +<tr><td><a href="#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td><td><a href="#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> +<tr><td><a href="#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td><td> </td></tr> +<tr><td> </td><td><a href="#FTC_ScalerRec">FTC_ScalerRec</a></td></tr> +<tr><td><a href="#FTC_Node">FTC_Node</a></td><td><a href="#FTC_Scaler">FTC_Scaler</a></td></tr> +<tr><td><a href="#FTC_Node_Unref">FTC_Node_Unref</a></td><td><a href="#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> +<tr><td> </td><td><a href="#FTC_ImageType">FTC_ImageType</a></td></tr> +<tr><td><a href="#FTC_ImageCache">FTC_ImageCache</a></td><td><a href="#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> +<tr><td><a href="#FTC_ImageCache_New">FTC_ImageCache_New</a></td><td><a href="#FTC_SBitRec">FTC_SBitRec</a></td></tr> +<tr><td><a href="#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td><td><a href="#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> +</table> + + <p>This section describes the FreeType 2 cache sub-system, which is used to limit the number of concurrently opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects, as well as caching information like character maps and glyph images while limiting their maximum memory usage.</p> <p>Note that all types and functions begin with the ‘FTC_’ prefix.</p> <p>The cache is highly portable and thus doesn't know anything about the fonts installed on your system, or how to access them. This implies the following scheme:</p> @@ -72,135 +138,88 @@ Cache Sub-System <p>If you want to use the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> caching, call <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a>, then later use <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a> to retrieve the corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> objects from the cache.</p> <p>If you need lots of small bitmaps, it is much more memory efficient to call <a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a> followed by <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a>. This returns <a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a> structures, which are used to store small bitmaps directly. (A small bitmap is one whose metrics and dimensions all fit into 8-bit integers).</p> <p>We hope to also provide a kerning cache in the near future.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager">FTC_Manager</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<div class="section"> +<h3 id="FTC_Manager">FTC_Manager</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ManagerRec_* <b>FTC_Manager</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>This object corresponds to one instance of the cache-subsystem. It is used to cache one or more <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects, along with corresponding <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> <p>The manager intentionally limits the total number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects to control memory usage. See the ‘max_faces’ and ‘max_sizes’ parameters of <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a>.</p> <p>The manager is also used to cache ‘nodes’ of various types while limiting their total memory usage.</p> <p>All limitations are enforced by keeping lists of managed objects in most-recently-used order, and flushing old nodes to make room for new ones.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_FaceID">FTC_FaceID</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_FaceID">FTC_FaceID</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> <b>FTC_FaceID</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>An opaque pointer type that is used to identity face objects. The contents of such objects is application-dependent.</p> <p>These pointers are typically used to point to a user-defined structure containing a font file path, and face index.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>Never use NULL as a valid <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a>.</p> <p>Face IDs are passed by the client to the cache manager that calls, when needed, the <a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a> to translate them into new <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p> <p>If the content of a given face ID changes at runtime, or if the value becomes invalid (e.g., when uninstalling a font), you should immediately call <a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a> before any other cache function.</p> <p>Failure to do so will result in incorrect behaviour or even memory leaks and crashes.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Face_Requester">FTC_Face_Requester</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Face_Requester">FTC_Face_Requester</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> (*<b>FTC_Face_Requester</b>)( <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id, <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, - <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> request_data, + <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> req_data, <a href="ft2-base_interface.html#FT_Face">FT_Face</a>* aface ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A callback function provided by client applications. It is used by the cache manager to translate a given <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> into a new valid <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object, on demand.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face_id</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face_id">face_id</td><td class="desc"> <p>The face ID to resolve.</p> </td></tr> -<tr valign=top><td><b>library</b></td><td> +<tr><td class="val" id="library">library</td><td class="desc"> <p>A handle to a FreeType library object.</p> </td></tr> -<tr valign=top><td><b>req_data</b></td><td> +<tr><td class="val" id="req_data">req_data</td><td class="desc"> <p>Application-provided request data (see note below).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> <p>A new <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>The third parameter ‘req_data’ is the same as the one passed by the client when <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a> is called.</p> <p>The face requester should not perform funny things on the returned face object, like creating a new <a href="ft2-base_interface.html#FT_Size">FT_Size</a> for it, or setting a transformation through <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>!</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Node">FTC_Node</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_NodeRec_* <b>FTC_Node</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.</p> -<p>If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly ‘release’ it (see <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a>).</p> -<p>See also <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a> and <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager_New">FTC_Manager_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> +<div class="section"> +<h3 id="FTC_Manager_New">FTC_Manager_New</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FTC_Manager_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> max_faces, @@ -209,463 +228,574 @@ Defined in FT_CACHE_H (ftcache.h). <a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a> requester, <a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a> req_data, <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> *amanager ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Create a new cache manager.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> <p>The parent FreeType library handle to use.</p> </td></tr> -<tr valign=top><td><b>max_faces</b></td><td> +<tr><td class="val" id="max_faces">max_faces</td><td class="desc"> <p>Maximum number of opened <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects managed by this cache instance. Use 0 for defaults.</p> </td></tr> -<tr valign=top><td><b>max_sizes</b></td><td> +<tr><td class="val" id="max_sizes">max_sizes</td><td class="desc"> <p>Maximum number of opened <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects managed by this cache instance. Use 0 for defaults.</p> </td></tr> -<tr valign=top><td><b>max_bytes</b></td><td> +<tr><td class="val" id="max_bytes">max_bytes</td><td class="desc"> <p>Maximum number of bytes to use for cached data nodes. Use 0 for defaults. Note that this value does not account for managed <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects.</p> </td></tr> -<tr valign=top><td><b>requester</b></td><td> +<tr><td class="val" id="requester">requester</td><td class="desc"> <p>An application-provided callback used to translate face IDs into real <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects.</p> </td></tr> -<tr valign=top><td><b>req_data</b></td><td> +<tr><td class="val" id="req_data">req_data</td><td class="desc"> <p>A generic pointer that is passed to the requester each time it is called (see <a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a>).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>amanager</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="amanager">amanager</td><td class="desc"> <p>A handle to a new manager object. 0 in case of failure.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager_Reset">FTC_Manager_Reset</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Manager_Reset">FTC_Manager_Reset</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <span class="keyword">void</span> ) <b>FTC_Manager_Reset</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Empty a given cache manager. This simply gets rid of all the currently cached <a href="ft2-base_interface.html#FT_Face">FT_Face</a> and <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects within the manager.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> <p>A handle to the manager.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager_Done">FTC_Manager_Done</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Manager_Done">FTC_Manager_Done</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <span class="keyword">void</span> ) <b>FTC_Manager_Done</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Destroy a given manager after emptying it.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> <p>A handle to the target cache manager object.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Manager_LookupFace">FTC_Manager_LookupFace</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FTC_Manager_LookupFace</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id, <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Retrieve the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object that corresponds to a given face ID through a cache manager.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> <p>A handle to the cache manager.</p> </td></tr> -<tr valign=top><td><b>face_id</b></td><td> +<tr><td class="val" id="face_id">face_id</td><td class="desc"> <p>The ID of the face object.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aface</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> <p>A handle to the face object.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>The returned <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object is always owned by the manager. You should never try to discard it yourself.</p> <p>The <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object doesn't necessarily have a current size object (i.e., face->size can be 0). If you need a specific ‘font size’, use <a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a> instead.</p> <p>Never change the face's transformation matrix (i.e., never call the <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> function) on a returned face! If you need to transform glyphs, do it yourself after glyph loading.</p> <p>When you perform a lookup, out-of-memory errors are detected <i>within</i> the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.</p> <p>If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory was available for the operation.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ScalerRec">FTC_ScalerRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_ - { - <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> width; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> height; - <a href="ft2-basic_types.html#FT_Int">FT_Int</a> pixel; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> x_res; - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> y_res; - - } <b>FTC_ScalerRec</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A structure used to describe a given character size in either pixels or points to the cache manager. See <a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face_id</b></td><td> -<p>The source face ID.</p> -</td></tr> -<tr valign=top><td><b>width</b></td><td> -<p>The character width.</p> -</td></tr> -<tr valign=top><td><b>height</b></td><td> -<p>The character height.</p> -</td></tr> -<tr valign=top><td><b>pixel</b></td><td> -<p>A Boolean. If 1, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.</p> -</td></tr> -<tr valign=top><td><b>x_res</b></td><td> -<p>Only used when ‘pixel’ is value 0 to indicate the horizontal resolution in dpi.</p> -</td></tr> -<tr valign=top><td><b>y_res</b></td><td> -<p>Only used when ‘pixel’ is value 0 to indicate the vertical resolution in dpi.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This type is mainly used to retrieve <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects through the cache manager.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Scaler">FTC_Scaler</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_* <b>FTC_Scaler</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> +<div class="section"> +<h3 id="FTC_Manager_LookupSize">FTC_Manager_LookupSize</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FTC_Manager_LookupSize</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, <a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a> scaler, <a href="ft2-base_interface.html#FT_Size">FT_Size</a> *asize ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Retrieve the <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object that corresponds to a given <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> pointer through a cache manager.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> <p>A handle to the cache manager.</p> </td></tr> -<tr valign=top><td><b>scaler</b></td><td> +<tr><td class="val" id="scaler">scaler</td><td class="desc"> <p>A scaler handle.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>asize</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="asize">asize</td><td class="desc"> <p>A handle to the size object.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>The returned <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object is always owned by the manager. You should never try to discard it by yourself.</p> <p>You can access the parent <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object simply as ‘size->face’ if you need it. Note that this object is also owned by the manager.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>When you perform a lookup, out-of-memory errors are detected <i>within</i> the lookup and force incremental flushes of the cache until enough memory is released for the lookup to succeed.</p> <p>If a lookup fails with ‘FT_Err_Out_Of_Memory’ the cache has already been completely flushed, and still no memory is available for the operation.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Node_Unref">FTC_Node_Unref</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FTC_Manager_RemoveFaceID</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id ); +</pre> + +<p>A special function used to indicate to the cache manager that a given <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> is no longer valid, either because its content changed, or because it was deallocated or uninstalled.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> +<p>The cache manager handle.</p> +</td></tr> +<tr><td class="val" id="face_id">face_id</td><td class="desc"> +<p>The <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> to be removed.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This function flushes all nodes from the cache corresponding to this ‘face_id’, with the exception of nodes with a non-null reference count.</p> +<p>Such nodes are however modified internally so as to never appear in later lookups with the same ‘face_id’ value, and to be immediately destroyed when released by all their users.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Node">FTC_Node</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_NodeRec_* <b>FTC_Node</b>; +</pre> + +<p>An opaque handle to a cache node object. Each cache node is reference-counted. A node with a count of 0 might be flushed out of a full cache whenever a lookup request is performed.</p> +<p>If you look up nodes, you have the ability to ‘acquire’ them, i.e., to increment their reference count. This will prevent the node from being flushed out of the cache until you explicitly ‘release’ it (see <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a>).</p> +<p>See also <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a> and <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Node_Unref">FTC_Node_Unref</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <span class="keyword">void</span> ) <b>FTC_Node_Unref</b>( <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> node, <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Decrement a cache node's internal reference count. When the count reaches 0, it is not destroyed but becomes eligible for subsequent cache flushes.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>node</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="node">node</td><td class="desc"> <p>The cache node handle.</p> </td></tr> -<tr valign=top><td><b>manager</b></td><td> +<tr><td class="val" id="manager">manager</td><td class="desc"> <p>The cache manager handle.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - FT_EXPORT( <span class="keyword">void</span> ) - <b>FTC_Manager_RemoveFaceID</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, - <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id ); +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A special function used to indicate to the cache manager that a given <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> is no longer valid, either because its content changed, or because it was deallocated or uninstalled.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> -<p>The cache manager handle.</p> +<div class="section"> +<h3 id="FTC_ImageCache">FTC_ImageCache</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageCacheRec_* <b>FTC_ImageCache</b>; +</pre> + +<p>A handle to a glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_ImageCache_New">FTC_ImageCache_New</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_ImageCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> *acache ); +</pre> + +<p>Create a new glyph image cache.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> +<p>The parent manager for the image cache.</p> </td></tr> -<tr valign=top><td><b>face_id</b></td><td> -<p>The <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> to be removed.</p> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="acache">acache</td><td class="desc"> +<p>A handle to the new glyph image cache object.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>This function flushes all nodes from the cache corresponding to this ‘face_id’, with the exception of nodes with a non-null reference count.</p> -<p>Such nodes are however modified internally so as to never appear in later lookups with the same ‘face_id’ value, and to be immediately destroyed when released by all their users.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_CMapCache">FTC_CMapCache</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_ImageCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a> type, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph, + <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); +</pre> + +<p>Retrieve a given glyph image from a glyph image cache.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="cache">cache</td><td class="desc"> +<p>A handle to the source glyph image cache.</p> +</td></tr> +<tr><td class="val" id="type">type</td><td class="desc"> +<p>A pointer to a glyph image type descriptor.</p> +</td></tr> +<tr><td class="val" id="gindex">gindex</td><td class="desc"> +<p>The glyph index to retrieve.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aglyph">aglyph</td><td class="desc"> +<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p> +</td></tr> +<tr><td class="val" id="anode">anode</td><td class="desc"> +<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p> +<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> +<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_SBit">FTC_SBit</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_* <b>FTC_SBit</b>; +</pre> + +<p>A handle to a small bitmap descriptor. See the <a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a> structure for details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_SBitCache">FTC_SBitCache</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitCacheRec_* <b>FTC_SBitCache</b>; +</pre> + +<p>A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_SBitCache_New">FTC_SBitCache_New</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_SBitCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, + <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> *acache ); +</pre> + +<p>Create a new cache to store small glyph bitmaps.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> +<p>A handle to the source cache manager.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="acache">acache</td><td class="desc"> +<p>A handle to the new sbit cache. NULL in case of error.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FTC_SBitCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache, + <a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a> type, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a> *sbit, + <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); +</pre> + +<p>Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the cache until needed.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="cache">cache</td><td class="desc"> +<p>A handle to the source sbit cache.</p> +</td></tr> +<tr><td class="val" id="type">type</td><td class="desc"> +<p>A pointer to the glyph image type descriptor.</p> +</td></tr> +<tr><td class="val" id="gindex">gindex</td><td class="desc"> +<p>The glyph index.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="sbit">sbit</td><td class="desc"> +<p>A handle to a small bitmap descriptor.</p> +</td></tr> +<tr><td class="val" id="anode">anode</td><td class="desc"> +<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p> +<p>The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.</p> +<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> +<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_CMapCache">FTC_CMapCache</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_CMapCacheRec_* <b>FTC_CMapCache</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>An opaque handle used to model a charmap cache. This cache is to hold character codes -> glyph indices mappings.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_CMapCache_New">FTC_CMapCache_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_CMapCache_New">FTC_CMapCache_New</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FTC_CMapCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, <a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a> *acache ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Create a new charmap cache.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="manager">manager</td><td class="desc"> <p>A handle to the cache manager.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>acache</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="acache">acache</td><td class="desc"> <p>A new cache handle. NULL in case of error.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>Like all other caches, this one will be destroyed with the cache manager.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) <b>FTC_CMapCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a> cache, <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id, <a href="ft2-basic_types.html#FT_Int">FT_Int</a> cmap_index, <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a> char_code ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Translate a character code into a glyph index, using the charmap cache.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>cache</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="cache">cache</td><td class="desc"> <p>A charmap cache handle.</p> </td></tr> -<tr valign=top><td><b>face_id</b></td><td> +<tr><td class="val" id="face_id">face_id</td><td class="desc"> <p>The source face ID.</p> </td></tr> -<tr valign=top><td><b>cmap_index</b></td><td> +<tr><td class="val" id="cmap_index">cmap_index</td><td class="desc"> <p>The index of the charmap in the source face. Any negative value means to use the cache <a href="ft2-base_interface.html#FT_Face">FT_Face</a>'s default charmap.</p> </td></tr> -<tr valign=top><td><b>char_code</b></td><td> +<tr><td class="val" id="char_code">char_code</td><td class="desc"> <p>The character code (in the corresponding charmap).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>Glyph index. 0 means ‘no glyph’.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ImageTypeRec">FTC_ImageTypeRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_ScalerRec">FTC_ScalerRec</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_ + { + <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> width; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> height; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> pixel; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> x_res; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> y_res; + + } <b>FTC_ScalerRec</b>; +</pre> + +<p>A structure used to describe a given character size in either pixels or points to the cache manager. See <a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a>.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="face_id">face_id</td><td class="desc"> +<p>The source face ID.</p> +</td></tr> +<tr><td class="val" id="width">width</td><td class="desc"> +<p>The character width.</p> +</td></tr> +<tr><td class="val" id="height">height</td><td class="desc"> +<p>The character height.</p> +</td></tr> +<tr><td class="val" id="pixel">pixel</td><td class="desc"> +<p>A Boolean. If 1, the ‘width’ and ‘height’ fields are interpreted as integer pixel character sizes. Otherwise, they are expressed as 1/64th of points.</p> +</td></tr> +<tr><td class="val" id="x_res">x_res</td><td class="desc"> +<p>Only used when ‘pixel’ is value 0 to indicate the horizontal resolution in dpi.</p> +</td></tr> +<tr><td class="val" id="y_res">y_res</td><td class="desc"> +<p>Only used when ‘pixel’ is value 0 to indicate the vertical resolution in dpi.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This type is mainly used to retrieve <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects through the cache manager.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_Scaler">FTC_Scaler</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ScalerRec_* <b>FTC_Scaler</b>; +</pre> + +<p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_ImageTypeRec">FTC_ImageTypeRec</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_ { <a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a> face_id; @@ -674,176 +804,45 @@ Defined in FT_CACHE_H (ftcache.h). <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> flags; } <b>FTC_ImageTypeRec</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model the type of images in a glyph cache.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face_id</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="face_id">face_id</td><td class="desc"> <p>The face ID.</p> </td></tr> -<tr valign=top><td><b>width</b></td><td> +<tr><td class="val" id="width">width</td><td class="desc"> <p>The width in pixels.</p> </td></tr> -<tr valign=top><td><b>height</b></td><td> +<tr><td class="val" id="height">height</td><td class="desc"> <p>The height in pixels.</p> </td></tr> -<tr valign=top><td><b>flags</b></td><td> +<tr><td class="val" id="flags">flags</td><td class="desc"> <p>The load flags, as in <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ImageType">FTC_ImageType</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FTC_ImageType">FTC_ImageType</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageTypeRec_* <b>FTC_ImageType</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A handle to an <a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ImageCache">FTC_ImageCache</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_ImageCacheRec_* <b>FTC_ImageCache</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a glyph image cache object. They are designed to hold many distinct glyph images while not exceeding a certain memory threshold.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ImageCache_New">FTC_ImageCache_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FTC_ImageCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, - <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> *acache ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new glyph image cache.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> -<p>The parent manager for the image cache.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>acache</b></td><td> -<p>A handle to the new glyph image cache object.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FTC_ImageCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache, - <a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a> type, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, - <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph, - <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Retrieve a given glyph image from a glyph image cache.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>cache</b></td><td> -<p>A handle to the source glyph image cache.</p> -</td></tr> -<tr valign=top><td><b>type</b></td><td> -<p>A pointer to a glyph image type descriptor.</p> -</td></tr> -<tr valign=top><td><b>gindex</b></td><td> -<p>The glyph index to retrieve.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aglyph</b></td><td> -<p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p> -</td></tr> -<tr valign=top><td><b>anode</b></td><td> -<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p> -<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> -<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> +<div class="section"> +<h3 id="FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FTC_ImageCache_LookupScaler</b>( <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a> cache, <a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a> scaler, @@ -851,80 +850,52 @@ Defined in FT_CACHE_H (ftcache.h). <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph, <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A variant of <a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a> that uses an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> to specify the face ID and its size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>cache</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="cache">cache</td><td class="desc"> <p>A handle to the source glyph image cache.</p> </td></tr> -<tr valign=top><td><b>scaler</b></td><td> +<tr><td class="val" id="scaler">scaler</td><td class="desc"> <p>A pointer to a scaler descriptor.</p> </td></tr> -<tr valign=top><td><b>load_flags</b></td><td> +<tr><td class="val" id="load_flags">load_flags</td><td class="desc"> <p>The corresponding load flags.</p> </td></tr> -<tr valign=top><td><b>gindex</b></td><td> +<tr><td class="val" id="gindex">gindex</td><td class="desc"> <p>The glyph index to retrieve.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>aglyph</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aglyph">aglyph</td><td class="desc"> <p>The corresponding <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object. 0 in case of failure.</p> </td></tr> -<tr valign=top><td><b>anode</b></td><td> +<tr><td class="val" id="anode">anode</td><td class="desc"> <p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>The returned glyph is owned and managed by the glyph image cache. Never try to transform or discard it manually! You can however create a copy with <a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a> and modify the new one.</p> <p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the glyph image, after increasing its reference count. This ensures that the node (as well as the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> <p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> <p>Calls to <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> and friends have no effect on cached glyphs; you should always use the FreeType cache API instead.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_SBit">FTC_SBit</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_* <b>FTC_SBit</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a small bitmap descriptor. See the <a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a> structure for details.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_SBitRec">FTC_SBitRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> +<div class="section"> +<h3 id="FTC_SBitRec">FTC_SBitRec</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitRec_ { <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> width; @@ -941,176 +912,51 @@ Defined in FT_CACHE_H (ftcache.h). <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* buffer; } <b>FTC_SBitRec</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A very compact structure used to describe a small glyph bitmap.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>width</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="width">width</td><td class="desc"> <p>The bitmap width in pixels.</p> </td></tr> -<tr valign=top><td><b>height</b></td><td> +<tr><td class="val" id="height">height</td><td class="desc"> <p>The bitmap height in pixels.</p> </td></tr> -<tr valign=top><td><b>left</b></td><td> +<tr><td class="val" id="left">left</td><td class="desc"> <p>The horizontal distance from the pen position to the left bitmap border (a.k.a. ‘left side bearing’, or ‘lsb’).</p> </td></tr> -<tr valign=top><td><b>top</b></td><td> +<tr><td class="val" id="top">top</td><td class="desc"> <p>The vertical distance from the pen position (on the baseline) to the upper bitmap border (a.k.a. ‘top side bearing’). The distance is positive for upwards y coordinates.</p> </td></tr> -<tr valign=top><td><b>format</b></td><td> +<tr><td class="val" id="format">format</td><td class="desc"> <p>The format of the glyph bitmap (monochrome or gray).</p> </td></tr> -<tr valign=top><td><b>max_grays</b></td><td> +<tr><td class="val" id="max_grays">max_grays</td><td class="desc"> <p>Maximum gray level value (in the range 1 to 255).</p> </td></tr> -<tr valign=top><td><b>pitch</b></td><td> +<tr><td class="val" id="pitch">pitch</td><td class="desc"> <p>The number of bytes per bitmap line. May be positive or negative.</p> </td></tr> -<tr valign=top><td><b>xadvance</b></td><td> +<tr><td class="val" id="xadvance">xadvance</td><td class="desc"> <p>The horizontal advance width in pixels.</p> </td></tr> -<tr valign=top><td><b>yadvance</b></td><td> +<tr><td class="val" id="yadvance">yadvance</td><td class="desc"> <p>The vertical advance height in pixels.</p> </td></tr> -<tr valign=top><td><b>buffer</b></td><td> +<tr><td class="val" id="buffer">buffer</td><td class="desc"> <p>A pointer to the bitmap pixels.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_SBitCache">FTC_SBitCache</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - <span class="keyword">typedef</span> <span class="keyword">struct</span> FTC_SBitCacheRec_* <b>FTC_SBitCache</b>; - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A handle to a small bitmap cache. These are special cache objects used to store small glyph bitmaps (and anti-aliased pixmaps) in a much more efficient way than the traditional glyph image cache implemented by <a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_SBitCache_New">FTC_SBitCache_New</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FTC_SBitCache_New</b>( <a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a> manager, - <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> *acache ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Create a new cache to store small glyph bitmaps.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>manager</b></td><td> -<p>A handle to the source cache manager.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>acache</b></td><td> -<p>A handle to the new sbit cache. NULL in case of error.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) - <b>FTC_SBitCache_Lookup</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache, - <a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a> type, - <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, - <a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a> *sbit, - <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>Look up a given small glyph bitmap in a given sbit cache and ‘lock’ it to prevent its flushing from the cache until needed.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>cache</b></td><td> -<p>A handle to the source sbit cache.</p> -</td></tr> -<tr valign=top><td><b>type</b></td><td> -<p>A pointer to the glyph image type descriptor.</p> -</td></tr> -<tr valign=top><td><b>gindex</b></td><td> -<p>The glyph index.</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>sbit</b></td><td> -<p>A handle to a small bitmap descriptor.</p> -</td></tr> -<tr valign=top><td><b>anode</b></td><td> -<p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p> -</td></tr> -</table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> -<p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> -<p>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p> -<p>The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.</p> -<p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> -<p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CACHE_H (ftcache.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> +<div class="section"> +<h3 id="FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</h3> +<p>Defined in FT_CACHE_H (ftcache.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FTC_SBitCache_LookupScaler</b>( <a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a> cache, <a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a> scaler, @@ -1118,53 +964,47 @@ Defined in FT_CACHE_H (ftcache.h). <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, <a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a> *sbit, <a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a> *anode ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A variant of <a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a> that uses an <a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a> to specify the face ID and its size.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>cache</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="cache">cache</td><td class="desc"> <p>A handle to the source sbit cache.</p> </td></tr> -<tr valign=top><td><b>scaler</b></td><td> +<tr><td class="val" id="scaler">scaler</td><td class="desc"> <p>A pointer to the scaler descriptor.</p> </td></tr> -<tr valign=top><td><b>load_flags</b></td><td> +<tr><td class="val" id="load_flags">load_flags</td><td class="desc"> <p>The corresponding load flags.</p> </td></tr> -<tr valign=top><td><b>gindex</b></td><td> +<tr><td class="val" id="gindex">gindex</td><td class="desc"> <p>The glyph index.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>sbit</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="sbit">sbit</td><td class="desc"> <p>A handle to a small bitmap descriptor.</p> </td></tr> -<tr valign=top><td><b>anode</b></td><td> +<tr><td class="val" id="anode">anode</td><td class="desc"> <p>Used to return the address of of the corresponding cache node after incrementing its reference count (see note below).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>The small bitmap descriptor and its bit buffer are owned by the cache and should never be freed by the application. They might as well disappear from memory on the next cache lookup, so don't treat them as persistent data.</p> <p>The descriptor's ‘buffer’ field is set to 0 to indicate a missing glyph bitmap.</p> <p>If ‘anode’ is <i>not</i> NULL, it receives the address of the cache node containing the bitmap, after increasing its reference count. This ensures that the node (as well as the image) will always be kept in the cache until you call <a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a> to ‘release’ it.</p> <p>If ‘anode’ is NULL, the cache node is left unchanged, which means that the bitmap could be flushed out of the cache on the next call to one of the caching sub-system APIs. Don't assume that it is persistent!</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cff_driver.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cff_driver.html index 7ae308de64d..1f9be08609c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-cff_driver.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cff_driver.html @@ -3,50 +3,113 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> +<title>FreeType-2.5.4 API Reference</title> <style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; - background: #FFFFFF; } + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } - p { text-align: justify; } h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } + p { text-align: justify; } + + pre.colored { color: blue; } span.keyword { font-family: monospace; text-align: left; white-space: pre; color: darkblue; } - pre.colored { color: blue; } + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } - ul.empty { list-style-type: none; } </style> </head> <body> -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> -<center><h1> -The CFF driver -</h1></center> +<h1>The CFF driver</h1> <h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#hinting-engine">hinting-engine</a></td><td></td><td><a href="#no-stem-darkening">no-stem-darkening</a></td><td></td><td></td></tr> -<tr><td></td><td><a href="#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td></td><td><a href="#darkening-parameters">darkening-parameters</a></td><td></td><td></td></tr> -</table><br><br> +<table class="synopsis"> +<tr><td><a href="#hinting-engine">hinting-engine</a></td><td><a href="#darkening-parameters">darkening-parameters</a></td><td><a href="#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td></tr> +<tr><td><a href="#no-stem-darkening">no-stem-darkening</a></td><td> </td><td></td></tr> +</table> + -<table align=center width="87%"><tr><td> <p>While FreeType's CFF driver doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>. The list below gives the available properties together with the necessary macros and structures.</p> <p>The CFF driver's module name is ‘cff’.</p> <p><b>Hinting</b> <b>and</b> <b>antialiasing</b> <b>principles</b> <b>of</b> <b>the</b> <b>new</b> <b>engine</b></p> @@ -57,10 +120,10 @@ The CFF driver <p>2) Aligment in the vertical direction: Weights and spacing along the y axis are less critical; what is much more important is the visual alignment of related features (like cap-height and x-height). The sense of alignment for these is enhanced by the sharpness of grid-fit edges, while the cruder vertical resolution (full pixels instead of 1/3 pixels) is less of a problem.</p> <p>On the technical side, horizontal alignment zones for ascender, x-height, and other important height values (traditionally called ‘blue zones’) as defined in the font are positioned independently, each being rounded to the nearest pixel edge, taking care of overshoot suppression at small sizes, stem darkening, and scaling.</p> <p>Hstems (this is, hint values defined in the font to help align horizontal features) that fall within a blue zone are said to be ‘captured’ and are aligned to that zone. Uncaptured stems are moved in one of four ways, top edge up or down, bottom edge up or down. Unless there are conflicting hstems, the smallest movement is taken to minimize distortion.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="hinting-engine">hinting-engine</a></h4> -<table align=center width="87%"><tr><td> + +<div class="section"> +<h3 id="hinting-engine">hinting-engine</h3> + <p>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.</p> <p>The default engine is ‘freetype’ if CFF_CONFIG_OPTION_OLD_ENGINE is defined, and ‘adobe’ otherwise.</p> <p>The following example code demonstrates how to select Adobe's hinting engine (omitting the error handling).</p> @@ -74,51 +137,16 @@ The CFF driver FT_Property_Set( library, "cff", "hinting-engine", &hinting_engine ); </pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_CFF_DRIVER_H (ftcffdrv.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a> 0 -#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a> 1 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of constants used for the <a href="ft2-cff_driver.html#hinting-engine">hinting-engine</a> property to select the hinting engine for CFF fonts.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>FT_CFF_HINTING_FREETYPE</b></td></tr> -<tr valign=top><td></td><td> -<p>Use the old FreeType hinting engine.</p> -</td></tr> -<tr valign=top><td><b>FT_CFF_HINTING_ADOBE</b></td><td> -<p>Use the hinting engine contributed by Adobe.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="no-stem-darkening">no-stem-darkening</a></h4> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="no-stem-darkening">no-stem-darkening</h3> + <p>By default, the Adobe CFF engine darkens stems at smaller sizes, regardless of hinting, to enhance contrast. This feature requires a rendering system with proper gamma correction. Setting this property, stem darkening gets switched off.</p> <p>Note that stem darkening is never applied if <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> is set.</p> <pre class="colored"> @@ -131,19 +159,16 @@ Defined in FT_CFF_DRIVER_H (ftcffdrv.h). FT_Property_Set( library, "cff", "no-stem-darkening", &no_stem_darkening ); </pre> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="darkening-parameters">darkening-parameters</a></h4> -<table align=center width="87%"><tr><td> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="darkening-parameters">darkening-parameters</h3> + <p>By default, the Adobe CFF engine darkens stems as follows (if the ‘no-stem-darkening’ property isn't set):</p> <pre class="colored"> stem width <= 0.5px: darkening amount = 0.4px @@ -151,7 +176,7 @@ Defined in FT_CFF_DRIVER_H (ftcffdrv.h). stem width = 1.667px: darkening amount = 0.275px stem width >= 2.333px: darkening amount = 0px </pre> -<p>and piecewise linear in-between. Using the ‘darkening-parameters’ property, these four control points can be changed, as the following example demonstrates.</p> +<p>and piecewise linear in-between. At configuration time, these four control points can be set with the macro ‘CFF_CONFIG_OPTION_DARKENING_PARAMETERS’. At runtime, the control points can be changed using the ‘darkening-parameters’ property, as the following example demonstrates.</p> <pre class="colored"> FT_Library library; FT_Int darken_params[8] = { 500, 300, // x1, y1 @@ -166,15 +191,35 @@ Defined in FT_CFF_DRIVER_H (ftcffdrv.h). "darkening-parameters", darken_params ); </pre> <p>The x values give the stem width, and the y values the darkening amount. The unit is 1000th of pixels. All coordinate values must be positive; the x values must be monotonically increasing; the y values must be monotonically decreasing and smaller than or equal to 500 (corresponding to half a pixel); the slope of each linear piece must be shallower than -1 (e.g., -.4).</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</h3> +<p>Defined in FT_CFF_DRIVER_H (ftcffdrv.h).</p> +<pre> +#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_FREETYPE">FT_CFF_HINTING_FREETYPE</a> 0 +#define <a href="ft2-cff_driver.html#FT_CFF_HINTING_ADOBE">FT_CFF_HINTING_ADOBE</a> 1 +</pre> + +<p>A list of constants used for the <a href="ft2-cff_driver.html#hinting-engine">hinting-engine</a> property to select the hinting engine for CFF fonts.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_CFF_HINTING_FREETYPE">FT_CFF_HINTING_FREETYPE</td><td class="desc"> +<p>Use the old FreeType hinting engine.</p> +</td></tr> +<tr><td class="val" id="FT_CFF_HINTING_ADOBE">FT_CFF_HINTING_ADOBE</td><td class="desc"> +<p>Use the hinting engine contributed by Adobe.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cid_fonts.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cid_fonts.html new file mode 100644 index 00000000000..d6176a47e45 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-cid_fonts.html @@ -0,0 +1,240 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>CID Fonts</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td></tr> +<tr><td><a href="#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td></tr> +<tr><td><a href="#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td></tr> +</table> + + +<p>This section contains the declaration of CID-keyed font specific functions.</p> + +<div class="section"> +<h3 id="FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</h3> +<p>Defined in FT_CID_H (ftcid.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_CID_Registry_Ordering_Supplement</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <span class="keyword">const</span> <span class="keyword">char</span>* *registry, + <span class="keyword">const</span> <span class="keyword">char</span>* *ordering, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *supplement); +</pre> + +<p>Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="registry">registry</td><td class="desc"> +<p>The registry, as a C string, owned by the face.</p> +</td></tr> +<tr><td class="val" id="ordering">ordering</td><td class="desc"> +<p>The ordering, as a C string, owned by the face.</p> +</td></tr> +<tr><td class="val" id="supplement">supplement</td><td class="desc"> +<p>The supplement.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with CID faces, returning an error otherwise.</p> + +<h4>since</h4> +<p>2.3.6</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</h3> +<p>Defined in FT_CID_H (ftcid.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_CID_Is_Internally_CID_Keyed</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> *is_cid ); +</pre> + +<p>Retrieve the type of the input face, CID keyed or not. In constrast to the <a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a> macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="is_cid">is_cid</td><td class="desc"> +<p>The type of the face as an <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a>.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p> + +<h4>since</h4> +<p>2.3.9</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</h3> +<p>Defined in FT_CID_H (ftcid.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_CID_From_Glyph_Index</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *cid ); +</pre> + +<p>Retrieve the CID of the input glyph index.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc"> +<p>The input glyph index.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="cid">cid</td><td class="desc"> +<p>The CID as an <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a>.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with CID faces and OpenType fonts, returning an error otherwise.</p> + +<h4>since</h4> +<p>2.3.9</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-computations.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-computations.html new file mode 100644 index 00000000000..9938bc686ce --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-computations.html @@ -0,0 +1,700 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Computations</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_MulDiv">FT_MulDiv</a></td><td> </td><td><a href="#FT_Atan2">FT_Atan2</a></td></tr> +<tr><td><a href="#FT_MulFix">FT_MulFix</a></td><td><a href="#FT_Angle">FT_Angle</a></td><td><a href="#FT_Angle_Diff">FT_Angle_Diff</a></td></tr> +<tr><td><a href="#FT_DivFix">FT_DivFix</a></td><td><a href="#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> +<tr><td><a href="#FT_RoundFix">FT_RoundFix</a></td><td><a href="#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> +<tr><td><a href="#FT_CeilFix">FT_CeilFix</a></td><td><a href="#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="#FT_Vector_Length">FT_Vector_Length</a></td></tr> +<tr><td><a href="#FT_FloorFix">FT_FloorFix</a></td><td><a href="#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> +<tr><td><a href="#FT_Vector_Transform">FT_Vector_Transform</a></td><td><a href="#FT_Sin">FT_Sin</a></td><td><a href="#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> +<tr><td><a href="#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="#FT_Cos">FT_Cos</a></td><td></td></tr> +<tr><td><a href="#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="#FT_Tan">FT_Tan</a></td><td></td></tr> +</table> + + +<p>This section contains various functions used to perform computations on 16.16 fixed-float numbers or 2d vectors.</p> + +<div class="section"> +<h3 id="FT_MulDiv">FT_MulDiv</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_MulDiv</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> c ); +</pre> + +<p>A very simple function used to perform the computation ‘(a*b)/c’ with maximum accuracy (it uses a 64-bit intermediate integer whenever necessary).</p> +<p>This function isn't necessarily as fast as some processor specific operations, but is at least completely portable.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>The first multiplier.</p> +</td></tr> +<tr><td class="val" id="b">b</td><td class="desc"> +<p>The second multiplier.</p> +</td></tr> +<tr><td class="val" id="c">c</td><td class="desc"> +<p>The divisor.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result of ‘(a*b)/c’. This function never traps when trying to divide by zero; it simply returns ‘MaxInt’ or ‘MinInt’ depending on the signs of ‘a’ and ‘b’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MulFix">FT_MulFix</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_MulFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b ); +</pre> + +<p>A very simple function used to perform the computation ‘(a*b)/0x10000’ with maximum accuracy. Most of the time this is used to multiply a given value by a 16.16 fixed-point factor.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>The first multiplier.</p> +</td></tr> +<tr><td class="val" id="b">b</td><td class="desc"> +<p>The second multiplier. Use a 16.16 factor here whenever possible (see note below).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result of ‘(a*b)/0x10000’.</p> + +<h4>note</h4> +<p>This function has been optimized for the case where the absolute value of ‘a’ is less than 2048, and ‘b’ is a 16.16 scaling factor. As this happens mainly when scaling from notional units to fractional pixels in FreeType, it resulted in noticeable speed improvements between versions 2.x and 1.x.</p> +<p>As a conclusion, always try to place a 16.16 factor as the <i>second</i> argument of this function; this can make a great difference.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_DivFix">FT_DivFix</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_DivFix</b>( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> a, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> b ); +</pre> + +<p>A very simple function used to perform the computation ‘(a*0x10000)/b’ with maximum accuracy. Most of the time, this is used to divide a given value by a 16.16 fixed-point factor.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>The numerator.</p> +</td></tr> +<tr><td class="val" id="b">b</td><td class="desc"> +<p>The denominator. Use a 16.16 factor here.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result of ‘(a*0x10000)/b’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_RoundFix">FT_RoundFix</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_RoundFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); +</pre> + +<p>A very simple function used to round a 16.16 fixed number.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>The number to be rounded.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result of ‘(a + 0x8000) & -0x10000’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CeilFix">FT_CeilFix</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_CeilFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); +</pre> + +<p>A very simple function used to compute the ceiling function of a 16.16 fixed number.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>The number for which the ceiling function is to be computed.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result of ‘(a + 0x10000 - 1) & -0x10000’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_FloorFix">FT_FloorFix</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_FloorFix</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> a ); +</pre> + +<p>A very simple function used to compute the floor function of a 16.16 fixed number.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>The number for which the floor function is to be computed.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result of ‘a & -0x10000’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector_Transform">FT_Vector_Transform</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Transform</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); +</pre> + +<p>Transform a single vector through a 2x2 matrix.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="vector">vector</td><td class="desc"> +<p>The target vector to transform.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="matrix">matrix</td><td class="desc"> +<p>A pointer to the source 2x2 matrix.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The result is undefined if either ‘vector’ or ‘matrix’ is invalid.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Matrix_Multiply">FT_Matrix_Multiply</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Matrix_Multiply</b>( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* a, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* b ); +</pre> + +<p>Perform the matrix operation ‘b = a*b’.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="a">a</td><td class="desc"> +<p>A pointer to matrix ‘a’.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="b">b</td><td class="desc"> +<p>A pointer to matrix ‘b’.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The result is undefined if either ‘a’ or ‘b’ is zero.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Matrix_Invert">FT_Matrix_Invert</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Matrix_Invert</b>( <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); +</pre> + +<p>Invert a 2x2 matrix. Return an error if it can't be inverted.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="matrix">matrix</td><td class="desc"> +<p>A pointer to the target matrix. Remains untouched in case of error.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Angle">FT_Angle</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> <b>FT_Angle</b>; +</pre> + +<p>This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed-point value expressed in degrees.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ANGLE_PI">FT_ANGLE_PI</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> +#define <b>FT_ANGLE_PI</b> ( 180L << 16 ) +</pre> + +<p>The angle pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ANGLE_2PI">FT_ANGLE_2PI</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> +#define <b>FT_ANGLE_2PI</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> * 2 ) +</pre> + +<p>The angle 2*pi expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ANGLE_PI2">FT_ANGLE_PI2</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> +#define <b>FT_ANGLE_PI2</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 2 ) +</pre> + +<p>The angle pi/2 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ANGLE_PI4">FT_ANGLE_PI4</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> +#define <b>FT_ANGLE_PI4</b> ( <a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a> / 4 ) +</pre> + +<p>The angle pi/4 expressed in <a href="ft2-computations.html#FT_Angle">FT_Angle</a> units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Sin">FT_Sin</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Sin</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); +</pre> + +<p>Return the sinus of a given angle in fixed-point format.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The input angle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The sinus value.</p> + +<h4>note</h4> +<p>If you need both the sinus and cosinus for a given angle, use the function <a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Cos">FT_Cos</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Cos</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); +</pre> + +<p>Return the cosinus of a given angle in fixed-point format.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The input angle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The cosinus value.</p> + +<h4>note</h4> +<p>If you need both the sinus and cosinus for a given angle, use the function <a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Tan">FT_Tan</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Tan</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); +</pre> + +<p>Return the tangent of a given angle in fixed-point format.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The input angle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The tangent value.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Atan2">FT_Atan2</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> ) + <b>FT_Atan2</b>( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> x, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> y ); +</pre> + +<p>Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="x">x</td><td class="desc"> +<p>The horizontal vector coordinate.</p> +</td></tr> +<tr><td class="val" id="y">y</td><td class="desc"> +<p>The vertical vector coordinate.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The arc-tangent value (i.e. angle).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Angle_Diff">FT_Angle_Diff</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> ) + <b>FT_Angle_Diff</b>( <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle1, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle2 ); +</pre> + +<p>Return the difference between two angles. The result is always constrained to the ]-PI..PI] interval.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="angle1">angle1</td><td class="desc"> +<p>First angle.</p> +</td></tr> +<tr><td class="val" id="angle2">angle2</td><td class="desc"> +<p>Second angle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Constrained value of ‘value2-value1’.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector_Unit">FT_Vector_Unit</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Unit</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); +</pre> + +<p>Return the unit vector corresponding to a given angle. After the call, the value of ‘vec.x’ will be ‘sin(angle)’, and the value of ‘vec.y’ will be ‘cos(angle)’.</p> +<p>This function is useful to retrieve both the sinus and cosinus of a given angle quickly.</p> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="vec">vec</td><td class="desc"> +<p>The address of target vector.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The input angle.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector_Rotate">FT_Vector_Rotate</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Rotate</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); +</pre> + +<p>Rotate a vector by a given angle.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="vec">vec</td><td class="desc"> +<p>The address of target vector.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The input angle.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector_Length">FT_Vector_Length</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> ) + <b>FT_Vector_Length</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec ); +</pre> + +<p>Return the length of a given vector.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="vec">vec</td><td class="desc"> +<p>The address of target vector.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The vector length, expressed in the same units that the original vector coordinates.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector_Polarize">FT_Vector_Polarize</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_Polarize</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *length, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> *angle ); +</pre> + +<p>Compute both the length and angle of a given vector.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="vec">vec</td><td class="desc"> +<p>The address of source vector.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="length">length</td><td class="desc"> +<p>The vector length.</p> +</td></tr> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The vector angle.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Vector_From_Polar">FT_Vector_From_Polar</h3> +<p>Defined in FT_TRIGONOMETRY_H (fttrigon.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Vector_From_Polar</b>( <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* vec, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> length, + <a href="ft2-computations.html#FT_Angle">FT_Angle</a> angle ); +</pre> + +<p>Compute vector coordinates from a length and angle.</p> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="vec">vec</td><td class="desc"> +<p>The address of source vector.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="length">length</td><td class="desc"> +<p>The vector length.</p> +</td></tr> +<tr><td class="val" id="angle">angle</td><td class="desc"> +<p>The vector angle.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-font_formats.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-font_formats.html new file mode 100644 index 00000000000..05d06e41cdc --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-font_formats.html @@ -0,0 +1,139 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Font Formats</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td></td><td></td></tr> +</table> + + +<p>The single function in this section can be used to get the font format. Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API.</p> +<p>This function is in the X11/xf86 namespace for historical reasons and in no way depends on that windowing system.</p> + +<div class="section"> +<h3 id="FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</h3> +<p>Defined in FT_XFREE86_H (ftxf86.h).</p> +<pre> + FT_EXPORT( <span class="keyword">const</span> <span class="keyword">char</span>* ) + <b>FT_Get_X11_Font_Format</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Return a string describing the format of a given face, using values that can be used as an X11 FONT_PROPERTY. Possible values are ‘TrueType’, ‘Type 1’, ‘BDF’, ‘PCF’, ‘Type 42’, ‘CID Type 1’, ‘CFF’, ‘PFR’, and ‘Windows FNT’.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>Input face handle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Font format string. NULL in case of error.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gasp_table.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gasp_table.html new file mode 100644 index 00000000000..b2edb345373 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gasp_table.html @@ -0,0 +1,187 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Gasp Table</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="#FT_Get_Gasp">FT_Get_Gasp</a></td><td></td><td></td><td></td><td></td></tr> +</table> + + +<p>The function <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> can be used to query a TrueType or OpenType font for specific entries in its ‘gasp’ table, if any. This is mainly useful when implementing native TrueType hinting with the bytecode interpreter to duplicate the Windows text rendering results.</p> + +<div class="section"> +<h3 id="FT_GASP_XXX">FT_GASP_XXX</h3> +<p>Defined in FT_GASP_H (ftgasp.h).</p> +<pre> +#define <a href="ft2-gasp_table.html#FT_GASP_NO_TABLE">FT_GASP_NO_TABLE</a> -1 +#define <a href="ft2-gasp_table.html#FT_GASP_DO_GRIDFIT">FT_GASP_DO_GRIDFIT</a> 0x01 +#define <a href="ft2-gasp_table.html#FT_GASP_DO_GRAY">FT_GASP_DO_GRAY</a> 0x02 +#define <a href="ft2-gasp_table.html#FT_GASP_SYMMETRIC_SMOOTHING">FT_GASP_SYMMETRIC_SMOOTHING</a> 0x08 +#define <a href="ft2-gasp_table.html#FT_GASP_SYMMETRIC_GRIDFIT">FT_GASP_SYMMETRIC_GRIDFIT</a> 0x10 +</pre> + +<p>A list of values and/or bit-flags returned by the <a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a> function.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_GASP_NO_TABLE">FT_GASP_NO_TABLE</td><td class="desc"> +<p>This special value means that there is no GASP table in this face. It is up to the client to decide what to do.</p> +</td></tr> +<tr><td class="val" id="FT_GASP_DO_GRIDFIT">FT_GASP_DO_GRIDFIT</td><td class="desc"> +<p>Grid-fitting and hinting should be performed at the specified ppem. This <b>really</b> means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.</p> +</td></tr> +<tr><td class="val" id="FT_GASP_DO_GRAY">FT_GASP_DO_GRAY</td><td class="desc"> +<p>Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.</p> +</td></tr> +<tr><td class="val" id="FT_GASP_SYMMETRIC_SMOOTHING">FT_GASP_SYMMETRIC_SMOOTHING</td><td class="desc"> +<p>If set, smoothing along multiple axes must be used with ClearType.</p> +</td></tr> +<tr><td class="val" id="FT_GASP_SYMMETRIC_GRIDFIT">FT_GASP_SYMMETRIC_GRIDFIT</td><td class="desc"> +<p>Grid-fitting must be used with ClearType's symmetric smoothing.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The bit-flags ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are to be used for standard font rasterization only. Independently of that, ‘FT_GASP_SYMMETRIC_SMOOTHING’ and ‘FT_GASP_SYMMETRIC_GRIDFIT’ are to be used if ClearType is enabled (and ‘FT_GASP_DO_GRIDFIT’ and ‘FT_GASP_DO_GRAY’ are consequently ignored).</p> +<p>‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.</p> + +<h4>since</h4> +<p>2.3.0</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Gasp">FT_Get_Gasp</h3> +<p>Defined in FT_GASP_H (ftgasp.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Get_Gasp</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ppem ); +</pre> + +<p>Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given character pixel size.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>The source face handle.</p> +</td></tr> +<tr><td class="val" id="ppem">ppem</td><td class="desc"> +<p>The vertical character pixel size.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Bit flags (see <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a>), or <a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a> if there is no ‘gasp’ table in the face.</p> + +<h4>since</h4> +<p>2.3.0</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_management.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_management.html new file mode 100644 index 00000000000..f91fce9ffdf --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_management.html @@ -0,0 +1,594 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Glyph Management</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Glyph">FT_Glyph</a></td><td><a href="#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td></tr> +<tr><td><a href="#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td></tr> +<tr><td><a href="#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="#FT_Done_Glyph">FT_Done_Glyph</a></td></tr> +<tr><td><a href="#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td></td></tr> +<tr><td><a href="#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td></td></tr> +</table> + + +<p>This section contains definitions used to manage glyph data through generic FT_Glyph objects. Each of them can contain a bitmap, a vector outline, or even images in other formats.</p> + +<div class="section"> +<h3 id="FT_Glyph">FT_Glyph</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_* <b>FT_Glyph</b>; +</pre> + +<p>Handle to an object used to model generic glyph images. It is a pointer to the <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> structure and can contain a glyph bitmap or pointer.</p> + +<h4>note</h4> +<p>Glyph objects are not owned by the library. You must thus release them manually (through <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>) <i>before</i> calling <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GlyphRec">FT_GlyphRec</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_GlyphRec_ + { + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library; + <span class="keyword">const</span> FT_Glyph_Class* clazz; + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format; + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> advance; + + } <b>FT_GlyphRec</b>; +</pre> + +<p>The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed-point format.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the FreeType library object.</p> +</td></tr> +<tr><td class="val" id="clazz">clazz</td><td class="desc"> +<p>A pointer to the glyph's class. Private.</p> +</td></tr> +<tr><td class="val" id="format">format</td><td class="desc"> +<p>The format of the glyph's image.</p> +</td></tr> +<tr><td class="val" id="advance">advance</td><td class="desc"> +<p>A 16.16 vector that gives the glyph's advance width.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BitmapGlyph">FT_BitmapGlyph</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_* <b>FT_BitmapGlyph</b>; +</pre> + +<p>A handle to an object used to model a bitmap glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BitmapGlyphRec">FT_BitmapGlyphRec</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_BitmapGlyphRec_ + { + <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> root; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> left; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> top; + <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> bitmap; + + } <b>FT_BitmapGlyphRec</b>; +</pre> + +<p>A structure used for bitmap glyph images. This really is a ‘sub-class’ of <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a>.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="root">root</td><td class="desc"> +<p>The root <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> fields.</p> +</td></tr> +<tr><td class="val" id="left">left</td><td class="desc"> +<p>The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.</p> +</td></tr> +<tr><td class="val" id="top">top</td><td class="desc"> +<p>The top-side bearing, i.e., the vertical distance from the current pen position to the top border of the glyph bitmap. This distance is positive for upwards y!</p> +</td></tr> +<tr><td class="val" id="bitmap">bitmap</td><td class="desc"> +<p>A descriptor for the bitmap.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a> if you have ‘glyph->format == FT_GLYPH_FORMAT_BITMAP’. This lets you access the bitmap's contents easily.</p> +<p>The corresponding pixel buffer is always owned by <a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a> and is thus created and destroyed with it.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OutlineGlyph">FT_OutlineGlyph</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_* <b>FT_OutlineGlyph</b>; +</pre> + +<p>A handle to an object used to model an outline glyph image. This is a sub-class of <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>, and a pointer to <a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OutlineGlyphRec">FT_OutlineGlyphRec</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_OutlineGlyphRec_ + { + <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a> root; + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> outline; + + } <b>FT_OutlineGlyphRec</b>; +</pre> + +<p>A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of <a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a>.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="root">root</td><td class="desc"> +<p>The root <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> fields.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A descriptor for the outline.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>You can typecast an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> to <a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a> if you have ‘glyph->format == FT_GLYPH_FORMAT_OUTLINE’. This lets you access the outline's content easily.</p> +<p>As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a> was used in <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>() or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>().</p> +<p>The outline's tables are always owned by the object and are destroyed with it.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Glyph">FT_Get_Glyph</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Glyph</b>( <a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a> slot, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *aglyph ); +</pre> + +<p>A function used to extract a glyph image from a slot. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="slot">slot</td><td class="desc"> +<p>A handle to the source glyph slot.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aglyph">aglyph</td><td class="desc"> +<p>A handle to the glyph object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_Copy">FT_Glyph_Copy</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_Copy</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> source, + <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *target ); +</pre> + +<p>A function used to copy a glyph image. Note that the created <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> object must be released with <a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>A handle to the source glyph object.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="target">target</td><td class="desc"> +<p>A handle to the target glyph object. 0 in case of error.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_Transform">FT_Glyph_Transform</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_Transform</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph, + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* delta ); +</pre> + +<p>Transform a glyph image if its format is scalable.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="glyph">glyph</td><td class="desc"> +<p>A handle to the target glyph object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="matrix">matrix</td><td class="desc"> +<p>A pointer to a 2x2 matrix to apply.</p> +</td></tr> +<tr><td class="val" id="delta">delta</td><td class="desc"> +<p>A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code (if not 0, the glyph format is not scalable).</p> + +<h4>note</h4> +<p>The 2x2 transformation matrix is also applied to the glyph's advance vector.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Glyph_BBox_Mode_ + { + <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_UNSCALED">FT_GLYPH_BBOX_UNSCALED</a> = 0, + <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_SUBPIXELS">FT_GLYPH_BBOX_SUBPIXELS</a> = 0, + <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_GRIDFIT">FT_GLYPH_BBOX_GRIDFIT</a> = 1, + <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_TRUNCATE">FT_GLYPH_BBOX_TRUNCATE</a> = 2, + <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_PIXELS">FT_GLYPH_BBOX_PIXELS</a> = 3 + + } <b>FT_Glyph_BBox_Mode</b>; + + + /* these constants are deprecated; use the corresponding */ + /* `<b>FT_Glyph_BBox_Mode</b>' values instead */ +#define ft_glyph_bbox_unscaled <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_UNSCALED">FT_GLYPH_BBOX_UNSCALED</a> +#define ft_glyph_bbox_subpixels <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_SUBPIXELS">FT_GLYPH_BBOX_SUBPIXELS</a> +#define ft_glyph_bbox_gridfit <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_GRIDFIT">FT_GLYPH_BBOX_GRIDFIT</a> +#define ft_glyph_bbox_truncate <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_TRUNCATE">FT_GLYPH_BBOX_TRUNCATE</a> +#define ft_glyph_bbox_pixels <a href="ft2-glyph_management.html#FT_GLYPH_BBOX_PIXELS">FT_GLYPH_BBOX_PIXELS</a> +</pre> + +<p>The mode how the values of <a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a> are returned.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_GLYPH_BBOX_UNSCALED">FT_GLYPH_BBOX_UNSCALED</td><td class="desc"> +<p>Return unscaled font units.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_BBOX_SUBPIXELS">FT_GLYPH_BBOX_SUBPIXELS</td><td class="desc"> +<p>Return unfitted 26.6 coordinates.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_BBOX_GRIDFIT">FT_GLYPH_BBOX_GRIDFIT</td><td class="desc"> +<p>Return grid-fitted 26.6 coordinates.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_BBOX_TRUNCATE">FT_GLYPH_BBOX_TRUNCATE</td><td class="desc"> +<p>Return coordinates in integer pixels.</p> +</td></tr> +<tr><td class="val" id="FT_GLYPH_BBOX_PIXELS">FT_GLYPH_BBOX_PIXELS</td><td class="desc"> +<p>Return grid-fitted pixel coordinates.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Glyph_Get_CBox</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> bbox_mode, + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *acbox ); +</pre> + +<p>Return a glyph's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).</p> +<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="glyph">glyph</td><td class="desc"> +<p>A handle to the source glyph object.</p> +</td></tr> +<tr><td class="val" id="mode">mode</td><td class="desc"> +<p>The mode that indicates how to interpret the returned bounding box values.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="acbox">acbox</td><td class="desc"> +<p>The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Coordinates are relative to the glyph origin, using the y upwards convention.</p> +<p>If the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, ‘bbox_mode’ must be set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a> to get unscaled font units in 26.6 pixel format. The value <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a> is another name for this constant.</p> +<p>If the font is tricky and the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, the resulting CBox is meaningless. To get reasonable values for the CBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the CBox, which can be eventually converted back to font units.</p> +<p>Note that the maximum coordinates are exclusive, which means that one can compute the width and height of the glyph image (be it in integer or 26.6 pixels) as:</p> +<pre class="colored"> + width = bbox.xMax - bbox.xMin; + height = bbox.yMax - bbox.yMin; +</pre> +<p>Note also that for 26.6 coordinates, if ‘bbox_mode’ is set to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a>, the coordinates will also be grid-fitted, which corresponds to:</p> +<pre class="colored"> + bbox.xMin = FLOOR(bbox.xMin); + bbox.yMin = FLOOR(bbox.yMin); + bbox.xMax = CEILING(bbox.xMax); + bbox.yMax = CEILING(bbox.yMax); +</pre> +<p>To get the bbox in pixel coordinates, set ‘bbox_mode’ to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a>.</p> +<p>To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to <a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_To_Bitmap</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a>* the_glyph, + <a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a> render_mode, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* origin, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); +</pre> + +<p>Convert a given glyph object to a bitmap glyph object.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="the_glyph">the_glyph</td><td class="desc"> +<p>A pointer to a handle to the target glyph.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="render_mode">render_mode</td><td class="desc"> +<p>An enumeration that describes how the data is rendered.</p> +</td></tr> +<tr><td class="val" id="origin">origin</td><td class="desc"> +<p>A pointer to a vector used to translate the glyph image before rendering. Can be 0 (if no translation). The origin is expressed in 26.6 pixels.</p> +</td></tr> +<tr><td class="val" id="destroy">destroy</td><td class="desc"> +<p>A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function does nothing if the glyph format isn't scalable.</p> +<p>The glyph image is translated with the ‘origin’ vector before rendering.</p> +<p>The first parameter is a pointer to an <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> handle, that will be <i>replaced</i> by this function (with newly allocated data). Typically, you would use (omitting error handling):</p> +<p></p> +<pre class="colored"> + FT_Glyph glyph; + FT_BitmapGlyph glyph_bitmap; + + + // load glyph + error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); + + // extract glyph image + error = FT_Get_Glyph( face->glyph, &glyph ); + + // convert to a bitmap (default render mode + destroying old) + if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) + { + error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, + 0, 1 ); + if ( error ) // `glyph' unchanged + ... + } + + // access bitmap content by typecasting + glyph_bitmap = (FT_BitmapGlyph)glyph; + + // do funny stuff with it, like blitting/drawing + ... + + // discard glyph image (bitmap or not) + FT_Done_Glyph( glyph ); +</pre> +<p></p> +<p>Here another example, again without error handling:</p> +<p></p> +<pre class="colored"> + FT_Glyph glyphs[MAX_GLYPHS] + + + ... + + for ( idx = 0; i < MAX_GLYPHS; i++ ) + error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || + FT_Get_Glyph ( face->glyph, &glyph[idx] ); + + ... + + for ( idx = 0; i < MAX_GLYPHS; i++ ) + { + FT_Glyph bitmap = glyphs[idx]; + + + ... + + // after this call, `bitmap' no longer points into + // the `glyphs' array (and the old value isn't destroyed) + FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); + + ... + + FT_Done_Glyph( bitmap ); + } + + ... + + for ( idx = 0; i < MAX_GLYPHS; i++ ) + FT_Done_Glyph( glyphs[idx] ); +</pre> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Done_Glyph">FT_Done_Glyph</h3> +<p>Defined in FT_GLYPH_H (ftglyph.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Done_Glyph</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> glyph ); +</pre> + +<p>Destroy a given glyph.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="glyph">glyph</td><td class="desc"> +<p>A handle to the target glyph object.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_stroker.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_stroker.html new file mode 100644 index 00000000000..24e6405b941 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_stroker.html @@ -0,0 +1,819 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Glyph Stroker</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Stroker">FT_Stroker</a></td><td><a href="#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td></tr> +<tr><td> </td><td><a href="#FT_Stroker_Done">FT_Stroker_Done</a></td></tr> +<tr><td><a href="#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td> </td></tr> +<tr><td><a href="#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td></tr> +<tr><td><a href="#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td></tr> +<tr><td> </td><td> </td></tr> +<tr><td><a href="#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td></tr> +<tr><td><a href="#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td></tr> +<tr><td> </td><td><a href="#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td></tr> +<tr><td><a href="#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td> </td></tr> +<tr><td><a href="#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td></tr> +<tr><td> </td><td><a href="#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td></tr> +<tr><td><a href="#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td></tr> +<tr><td><a href="#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="#FT_Stroker_Export">FT_Stroker_Export</a></td></tr> +<tr><td><a href="#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td></td></tr> +</table> + + +<p>This component generates stroked outlines of a given vectorial glyph. It also allows you to retrieve the ‘outside’ and/or the ‘inside’ borders of the stroke.</p> +<p>This can be useful to generate ‘bordered’ glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.</p> + +<div class="section"> +<h3 id="FT_Stroker">FT_Stroker</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StrokerRec_* <b>FT_Stroker</b>; +</pre> + +<p>Opaque handle to a path stroker object.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_LineJoin">FT_Stroker_LineJoin</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineJoin_ + { + <a href="ft2-glyph_stroker.html#FT_STROKER_LINEJOIN_ROUND">FT_STROKER_LINEJOIN_ROUND</a> = 0, + <a href="ft2-glyph_stroker.html#FT_STROKER_LINEJOIN_BEVEL">FT_STROKER_LINEJOIN_BEVEL</a> = 1, + <a href="ft2-glyph_stroker.html#FT_STROKER_LINEJOIN_MITER_VARIABLE">FT_STROKER_LINEJOIN_MITER_VARIABLE</a> = 2, + <a href="ft2-glyph_stroker.html#FT_STROKER_LINEJOIN_MITER">FT_STROKER_LINEJOIN_MITER</a> = <a href="ft2-glyph_stroker.html#FT_STROKER_LINEJOIN_MITER_VARIABLE">FT_STROKER_LINEJOIN_MITER_VARIABLE</a>, + <a href="ft2-glyph_stroker.html#FT_STROKER_LINEJOIN_MITER_FIXED">FT_STROKER_LINEJOIN_MITER_FIXED</a> = 3 + + } <b>FT_Stroker_LineJoin</b>; +</pre> + +<p>These values determine how two joining lines are rendered in a stroker.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_STROKER_LINEJOIN_ROUND">FT_STROKER_LINEJOIN_ROUND</td><td class="desc"> +<p>Used to render rounded line joins. Circular arcs are used to join two lines smoothly.</p> +</td></tr> +<tr><td class="val" id="FT_STROKER_LINEJOIN_BEVEL">FT_STROKER_LINEJOIN_BEVEL</td><td class="desc"> +<p>Used to render beveled line joins. The outer corner of the joined lines is filled by enclosing the triangular region of the corner with a straight line between the outer corners of each stroke.</p> +</td></tr> +<tr><td class="val" id="FT_STROKER_LINEJOIN_MITER_FIXED">FT_STROKER_LINEJOIN_MITER_FIXED</td><td class="desc"> +<p>Used to render mitered line joins, with fixed bevels if the miter limit is exceeded. The outer edges of the strokes for the two segments are extended until they meet at an angle. If the segments meet at too sharp an angle (such that the miter would extend from the intersection of the segments a distance greater than the product of the miter limit value and the border radius), then a bevel join (see above) is used instead. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter line join as used in PostScript and PDF.</p> +</td></tr> +<tr><td class="val" id="FT_STROKER_LINEJOIN_MITER_VARIABLE">FT_STROKER_LINEJOIN_MITER_VARIABLE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="FT_STROKER_LINEJOIN_MITER">FT_STROKER_LINEJOIN_MITER</td><td class="desc"> +<p>Used to render mitered line joins, with variable bevels if the miter limit is exceeded. The intersection of the strokes is clipped at a line perpendicular to the bisector of the angle between the strokes, at the distance from the intersection of the segments equal to the product of the miter limit value and the border radius. This prevents long spikes being created. FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for backwards compatibility.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_LineCap">FT_Stroker_LineCap</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Stroker_LineCap_ + { + <a href="ft2-glyph_stroker.html#FT_STROKER_LINECAP_BUTT">FT_STROKER_LINECAP_BUTT</a> = 0, + <a href="ft2-glyph_stroker.html#FT_STROKER_LINECAP_ROUND">FT_STROKER_LINECAP_ROUND</a>, + <a href="ft2-glyph_stroker.html#FT_STROKER_LINECAP_SQUARE">FT_STROKER_LINECAP_SQUARE</a> + + } <b>FT_Stroker_LineCap</b>; +</pre> + +<p>These values determine how the end of opened sub-paths are rendered in a stroke.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_STROKER_LINECAP_BUTT">FT_STROKER_LINECAP_BUTT</td><td class="desc"> +<p>The end of lines is rendered as a full stop on the last point itself.</p> +</td></tr> +<tr><td class="val" id="FT_STROKER_LINECAP_ROUND">FT_STROKER_LINECAP_ROUND</td><td class="desc"> +<p>The end of lines is rendered as a half-circle around the last point.</p> +</td></tr> +<tr><td class="val" id="FT_STROKER_LINECAP_SQUARE">FT_STROKER_LINECAP_SQUARE</td><td class="desc"> +<p>The end of lines is rendered as a square around the last point.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_StrokerBorder">FT_StrokerBorder</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_StrokerBorder_ + { + <a href="ft2-glyph_stroker.html#FT_STROKER_BORDER_LEFT">FT_STROKER_BORDER_LEFT</a> = 0, + <a href="ft2-glyph_stroker.html#FT_STROKER_BORDER_RIGHT">FT_STROKER_BORDER_RIGHT</a> + + } <b>FT_StrokerBorder</b>; +</pre> + +<p>These values are used to select a given stroke border in <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a>.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_STROKER_BORDER_LEFT">FT_STROKER_BORDER_LEFT</td><td class="desc"> +<p>Select the left border, relative to the drawing direction.</p> +</td></tr> +<tr><td class="val" id="FT_STROKER_BORDER_RIGHT">FT_STROKER_BORDER_RIGHT</td><td class="desc"> +<p>Select the right border, relative to the drawing direction.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Applications are generally interested in the ‘inside’ and ‘outside’ borders. However, there is no direct mapping between these and the ‘left’ and ‘right’ ones, since this really depends on the glyph's drawing orientation, which varies between font formats.</p> +<p>You can however use <a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a> and <a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a> to get these.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> ) + <b>FT_Outline_GetInsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the ‘inside’ borders of a given outline.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>The source outline handle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a> for empty or invalid outlines.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> ) + <b>FT_Outline_GetOutsideBorder</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Retrieve the <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> value corresponding to the ‘outside’ borders of a given outline.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>The source outline handle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The border index. <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a> for empty or invalid outlines.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_Stroke">FT_Glyph_Stroke</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_Stroke</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph, + <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); +</pre> + +<p>Stroke a given outline glyph object with a given stroker.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="pglyph">pglyph</td><td class="desc"> +<p>Source glyph handle on input, new glyph handle on output.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>A stroker handle.</p> +</td></tr> +<tr><td class="val" id="destroy">destroy</td><td class="desc"> +<p>A Boolean. If 1, the source glyph object is destroyed on success.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The source glyph is untouched in case of error.</p> +<p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Glyph_StrokeBorder</b>( <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> *pglyph, + <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> inside, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> destroy ); +</pre> + +<p>Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="pglyph">pglyph</td><td class="desc"> +<p>Source glyph handle on input, new glyph handle on output.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>A stroker handle.</p> +</td></tr> +<tr><td class="val" id="inside">inside</td><td class="desc"> +<p>A Boolean. If 1, return the inside border, otherwise the outside border.</p> +</td></tr> +<tr><td class="val" id="destroy">destroy</td><td class="desc"> +<p>A Boolean. If 1, the source glyph object is destroyed on success.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The source glyph is untouched in case of error.</p> +<p>Adding stroke may yield a significantly wider and taller glyph depending on how large of a radius was used to stroke the glyph. You may need to manually adjust horizontal and vertical advance amounts to account for this added size.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_New">FT_Stroker_New</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> *astroker ); +</pre> + +<p>Create a new stroker object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>FreeType library handle.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="astroker">astroker</td><td class="desc"> +<p>A new stroker object handle. NULL in case of error.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_Set">FT_Stroker_Set</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Set</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> radius, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a> line_cap, + <a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a> line_join, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> miter_limit ); +</pre> + +<p>Reset a stroker object's attributes.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="radius">radius</td><td class="desc"> +<p>The border radius.</p> +</td></tr> +<tr><td class="val" id="line_cap">line_cap</td><td class="desc"> +<p>The line cap style.</p> +</td></tr> +<tr><td class="val" id="line_join">line_join</td><td class="desc"> +<p>The line join style.</p> +</td></tr> +<tr><td class="val" id="miter_limit">miter_limit</td><td class="desc"> +<p>The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, expressed as 16.16 fixed-point value.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The radius is expressed in the same units as the outline coordinates.</p> +<p>This function calls <a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a> automatically.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_Rewind">FT_Stroker_Rewind</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Rewind</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); +</pre> + +<p>Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> or <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_ParseOutline</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> opened ); +</pre> + +<p>A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>The source outline.</p> +</td></tr> +<tr><td class="val" id="opened">opened</td><td class="desc"> +<p>A boolean. If 1, the outline is treated as an open path instead of a closed one.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two distinct ‘border’ outlines.</p> +<p>If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’ outline.</p> +<p>This function calls <a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a> automatically.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_Done">FT_Stroker_Done</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Done</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); +</pre> + +<p>Destroy a stroker object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>A stroker handle. Can be NULL.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_BeginSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> open ); +</pre> + +<p>Start a new sub-path in the stroker.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the start vector.</p> +</td></tr> +<tr><td class="val" id="open">open</td><td class="desc"> +<p>A boolean. If 1, the sub-path is treated as an open one.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function is useful when you need to stroke a path that is not stored as an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_EndSubPath</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker ); +</pre> + +<p>Close the current sub-path in the stroker.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You should call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a>. If the subpath was not ‘opened’, this function ‘draws’ a single line segment to the start position when needed.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_LineTo">FT_Stroker_LineTo</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_LineTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); +</pre> + +<p>‘Draw’ a single line segment in the stroker's current sub-path, from the last position.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the destination point.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_ConicTo">FT_Stroker_ConicTo</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_ConicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); +</pre> + +<p>‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="control">control</td><td class="desc"> +<p>A pointer to a Bézier control point.</p> +</td></tr> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the destination point.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_CubicTo">FT_Stroker_CubicTo</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_CubicTo</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control2, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to ); +</pre> + +<p>‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="control1">control1</td><td class="desc"> +<p>A pointer to the first Bézier control point.</p> +</td></tr> +<tr><td class="val" id="control2">control2</td><td class="desc"> +<p>A pointer to second Bézier control point.</p> +</td></tr> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the destination point.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You should call this function between <a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a> and <a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_GetBorderCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> border, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_points, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_contours ); +</pre> + +<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export one of the ‘border’ or ‘stroke’ outlines generated by the stroker.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="border">border</td><td class="desc"> +<p>The border index.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="anum_points">anum_points</td><td class="desc"> +<p>The number of points.</p> +</td></tr> +<tr><td class="val" id="anum_contours">anum_contours</td><td class="desc"> +<p>The number of contours.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.</p> +<p>When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.</p> +<p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a> instead if you want to retrieve the counts associated to both borders.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_ExportBorder</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a> border, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export the corresponding border to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p> +<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="border">border</td><td class="desc"> +<p>The border index.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>The target outline handle.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Always call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to get sure that there is enough room in your <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> object to receive all new data.</p> +<p>When an outline, or a sub-path, is ‘closed’, the stroker generates two independent ‘border’ outlines, named ‘left’ and ‘right’.</p> +<p>When the outline, or a sub-path, is ‘opened’, the stroker merges the ‘border’ outlines with caps. The ‘left’ border receives all points, while the ‘right’ border becomes empty.</p> +<p>Use the function <a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a> instead if you want to retrieve all borders at once.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_GetCounts">FT_Stroker_GetCounts</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stroker_GetCounts</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_points, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *anum_contours ); +</pre> + +<p>Call this function once you have finished parsing your paths with the stroker. It returns the number of points and contours necessary to export all points/borders from the stroked outline/path.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="anum_points">anum_points</td><td class="desc"> +<p>The number of points.</p> +</td></tr> +<tr><td class="val" id="anum_contours">anum_contours</td><td class="desc"> +<p>The number of contours.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stroker_Export">FT_Stroker_Export</h3> +<p>Defined in FT_STROKER_H (ftstroke.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Stroker_Export</b>( <a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a> stroker, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Call this function after <a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a> to export all borders to your own <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> structure.</p> +<p>Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stroker">stroker</td><td class="desc"> +<p>The target stroker handle.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>The target outline handle.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_variants.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_variants.html new file mode 100644 index 00000000000..c8c9dc73413 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-glyph_variants.html @@ -0,0 +1,292 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Glyph Variants</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td></tr> +<tr><td><a href="#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td></tr> +<tr><td><a href="#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td></td></tr> +</table> + + +<p>Many CJK characters have variant forms. They are a sort of grey area somewhere between being totally irrelevant and semantically distinct; for this reason, the Unicode consortium decided to introduce Ideographic Variation Sequences (IVS), consisting of a Unicode base character and one of 240 variant selectors (U+E0100-U+E01EF), instead of further extending the already huge code range for CJK characters.</p> +<p>An IVS is registered and unique; for further details please refer to Unicode Technical Standard #37, the Ideographic Variation Database:</p> +<p><a href="http://www.unicode.org/reports/tr37/">http://www.unicode.org/reports/tr37/</a></p> +<p>To date (November 2014), the character with the most variants is U+9089, having 32 such IVS.</p> +<p>Adobe and MS decided to support IVS with a new cmap subtable (format 14). It is an odd subtable because it is not a mapping of input code points to glyphs, but contains lists of all variants supported by the font.</p> +<p>A variant may be either ‘default’ or ‘non-default’. A default variant is the one you will get for that code point if you look it up in the standard Unicode cmap. A non-default variant is a different glyph.</p> + +<div class="section"> +<h3 id="FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Face_GetCharVariantIndex</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); +</pre> + +<p>Return the glyph index of a given character code as modified by the variation selector.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="charcode">charcode</td><td class="desc"> +<p>The character code point in Unicode.</p> +</td></tr> +<tr><td class="val" id="variantSelector">variantSelector</td><td class="desc"> +<p>The Unicode code point of the variation selector.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The glyph index. 0 means either ‘undefined character code’, or ‘undefined selector code’, or ‘no variation selector cmap subtable’, or ‘current CharMap is not Unicode’.</p> + +<h4>note</h4> +<p>If you use FreeType to manipulate the contents of font files directly, be aware that the glyph index returned by this function doesn't always correspond to the internal indices used within the file. This is done to ensure that value 0 always corresponds to the ‘missing glyph’.</p> +<p>This function is only meaningful if a) the font has a variation selector cmap sub table, and b) the current charmap has a Unicode encoding.</p> + +<h4>since</h4> +<p>2.3.6</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Face_GetCharVariantIsDefault</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); +</pre> + +<p>Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="charcode">charcode</td><td class="desc"> +<p>The character codepoint in Unicode.</p> +</td></tr> +<tr><td class="val" id="variantSelector">variantSelector</td><td class="desc"> +<p>The Unicode codepoint of the variation selector.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.</p> + +<h4>note</h4> +<p>This function is only meaningful if the font has a variation selector cmap subtable.</p> + +<h4>since</h4> +<p>2.3.6</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) + <b>FT_Face_GetVariantSelectors</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Return a zero-terminated list of Unicode variant selectors found in the font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.</p> + +<h4>note</h4> +<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> + +<h4>since</h4> +<p>2.3.6</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) + <b>FT_Face_GetVariantsOfChar</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> charcode ); +</pre> + +<p>Return a zero-terminated list of Unicode variant selectors found for the specified character code.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="charcode">charcode</td><td class="desc"> +<p>The character codepoint in Unicode.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A pointer to an array of variant selector code points that are active for the given character, or NULL if the corresponding list is empty.</p> + +<h4>note</h4> +<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> + +<h4>since</h4> +<p>2.3.6</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a>* ) + <b>FT_Face_GetCharsOfVariant</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> variantSelector ); +</pre> + +<p>Return a zero-terminated list of Unicode character codes found for the specified variant selector.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face object.</p> +</td></tr> +<tr><td class="val" id="variantSelector">variantSelector</td><td class="desc"> +<p>The variant selector code point in Unicode.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A list of all the code points that are specified by this selector (both default and non-default codes are returned) or NULL if there is no valid cmap or the variant selector is invalid.</p> + +<h4>note</h4> +<p>The last item in the array is 0; the array is owned by the <a href="ft2-base_interface.html#FT_Face">FT_Face</a> object but can be overwritten or released on the next call to a FreeType function.</p> + +<h4>since</h4> +<p>2.3.6</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gx_validation.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gx_validation.html new file mode 100644 index 00000000000..519a7c4e1c6 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gx_validation.html @@ -0,0 +1,362 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>TrueTypeGX/AAT Validation</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td><td><a href="#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr> +<tr><td><a href="#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td><td><a href="#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr> +<tr><td> </td><td> </td><td><a href="#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr> +</table> + + +<p>This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).</p> + +<div class="section"> +<h3 id="FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_TrueTypeGX_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> tables[<a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a>], + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> table_length ); +</pre> + +<p>Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="validation_flags">validation_flags</td><td class="desc"> +<p>A bit field that specifies the tables to be validated. See <a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a> for possible values.</p> +</td></tr> +<tr><td class="val" id="table_length">table_length</td><td class="desc"> +<p>The size of the ‘tables’ array. Normally, <a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a> should be passed.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="tables">tables</td><td class="desc"> +<p>The array where all validated sfnt tables are stored. The array itself must be allocated by a client.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with TrueTypeGX fonts, returning an error otherwise.</p> +<p>After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling <a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a>. A NULL value indicates that the table either doesn't exist in the font, the application hasn't asked for validation, or the validator doesn't have the ability to validate the sfnt table.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_TrueTypeGX_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); +</pre> + +<p>Free the buffer allocated by TrueTypeGX validator.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="table">table</td><td class="desc"> +<p>The pointer to the buffer allocated by <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This function must be used to free the buffer allocated by <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> only.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ClassicKern_Validate">FT_ClassicKern_Validate</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_ClassicKern_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *ckern_table ); +</pre> + +<p>Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> +<p>The ‘kern’ table validator in <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> deals with both the new 32-bit format and the classic 16-bit format, while FT_ClassicKern_Validate only supports the classic 16-bit format.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="validation_flags">validation_flags</td><td class="desc"> +<p>A bit field that specifies the dialect to be validated. See <a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a> for possible values.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="ckern_table">ckern_table</td><td class="desc"> +<p>A pointer to the kern table.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling <a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a>. A NULL value indicates that the table doesn't exist in the font.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ClassicKern_Free">FT_ClassicKern_Free</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_ClassicKern_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); +</pre> + +<p>Free the buffer allocated by classic Kern validator.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="table">table</td><td class="desc"> +<p>The pointer to the buffer that is allocated by <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a>.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This function must be used to free the buffer allocated by <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> only.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> +#define <b>FT_VALIDATE_GX_LENGTH</b> (FT_VALIDATE_GX_LAST_INDEX + 1) +</pre> + +<p>The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> +#define <a href="ft2-gx_validation.html#FT_VALIDATE_feat">FT_VALIDATE_feat</a> FT_VALIDATE_GX_BITFIELD( feat ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_mort">FT_VALIDATE_mort</a> FT_VALIDATE_GX_BITFIELD( mort ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_morx">FT_VALIDATE_morx</a> FT_VALIDATE_GX_BITFIELD( morx ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_bsln">FT_VALIDATE_bsln</a> FT_VALIDATE_GX_BITFIELD( bsln ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_just">FT_VALIDATE_just</a> FT_VALIDATE_GX_BITFIELD( just ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_kern">FT_VALIDATE_kern</a> FT_VALIDATE_GX_BITFIELD( kern ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_opbd">FT_VALIDATE_opbd</a> FT_VALIDATE_GX_BITFIELD( opbd ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_trak">FT_VALIDATE_trak</a> FT_VALIDATE_GX_BITFIELD( trak ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_prop">FT_VALIDATE_prop</a> FT_VALIDATE_GX_BITFIELD( prop ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_lcar">FT_VALIDATE_lcar</a> FT_VALIDATE_GX_BITFIELD( lcar ) + +#define <a href="ft2-gx_validation.html#FT_VALIDATE_GX">FT_VALIDATE_GX</a> ( <a href="ft2-gx_validation.html#FT_VALIDATE_feat">FT_VALIDATE_feat</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_mort">FT_VALIDATE_mort</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_morx">FT_VALIDATE_morx</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_bsln">FT_VALIDATE_bsln</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_just">FT_VALIDATE_just</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_kern">FT_VALIDATE_kern</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_opbd">FT_VALIDATE_opbd</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_trak">FT_VALIDATE_trak</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_prop">FT_VALIDATE_prop</a> | \ + <a href="ft2-gx_validation.html#FT_VALIDATE_lcar">FT_VALIDATE_lcar</a> ) +</pre> + +<p>A list of bit-field constants used with <a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a> to indicate which TrueTypeGX/AAT Type tables should be validated.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_VALIDATE_feat">FT_VALIDATE_feat</td><td class="desc"> +<p>Validate ‘feat’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_mort">FT_VALIDATE_mort</td><td class="desc"> +<p>Validate ‘mort’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_morx">FT_VALIDATE_morx</td><td class="desc"> +<p>Validate ‘morx’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_bsln">FT_VALIDATE_bsln</td><td class="desc"> +<p>Validate ‘bsln’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_just">FT_VALIDATE_just</td><td class="desc"> +<p>Validate ‘just’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_kern">FT_VALIDATE_kern</td><td class="desc"> +<p>Validate ‘kern’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_opbd">FT_VALIDATE_opbd</td><td class="desc"> +<p>Validate ‘opbd’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_trak">FT_VALIDATE_trak</td><td class="desc"> +<p>Validate ‘trak’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_prop">FT_VALIDATE_prop</td><td class="desc"> +<p>Validate ‘prop’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_lcar">FT_VALIDATE_lcar</td><td class="desc"> +<p>Validate ‘lcar’ table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_GX">FT_VALIDATE_GX</td><td class="desc"> +<p>Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</h3> +<p>Defined in FT_GX_VALIDATE_H (ftgxval.h).</p> +<pre> +#define <a href="ft2-gx_validation.html#FT_VALIDATE_MS">FT_VALIDATE_MS</a> ( FT_VALIDATE_GX_START << 0 ) +#define <a href="ft2-gx_validation.html#FT_VALIDATE_APPLE">FT_VALIDATE_APPLE</a> ( FT_VALIDATE_GX_START << 1 ) + +#define <a href="ft2-gx_validation.html#FT_VALIDATE_CKERN">FT_VALIDATE_CKERN</a> ( <a href="ft2-gx_validation.html#FT_VALIDATE_MS">FT_VALIDATE_MS</a> | <a href="ft2-gx_validation.html#FT_VALIDATE_APPLE">FT_VALIDATE_APPLE</a> ) +</pre> + +<p>A list of bit-field constants used with <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> to indicate the classic kern dialect or dialects. If the selected type doesn't fit, <a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a> regards the table as invalid.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_VALIDATE_MS">FT_VALIDATE_MS</td><td class="desc"> +<p>Handle the ‘kern’ table as a classic Microsoft kern table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_APPLE">FT_VALIDATE_APPLE</td><td class="desc"> +<p>Handle the ‘kern’ table as a classic Apple kern table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_CKERN">FT_VALIDATE_CKERN</td><td class="desc"> +<p>Handle the ‘kern’ as either classic Apple or Microsoft kern table.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gzip.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gzip.html new file mode 100644 index 00000000000..89b9c729fa1 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-gzip.html @@ -0,0 +1,199 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>GZIP Streams</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td></td></tr> +</table> + + +<p>This section contains the declaration of Gzip-specific functions.</p> + +<div class="section"> +<h3 id="FT_Stream_OpenGzip">FT_Stream_OpenGzip</h3> +<p>Defined in FT_GZIP_H (ftgzip.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stream_OpenGzip</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); +</pre> + +<p>Open a new stream to parse gzip-compressed font files. This is mainly used to support the compressed ‘*.pcf.gz’ fonts that come with XFree86.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stream">stream</td><td class="desc"> +<p>The target embedding stream.</p> +</td></tr> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>The source stream.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The source stream must be opened <i>before</i> calling this function.</p> +<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> +<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.</p> +<p>In certain builds of the library, gzip compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a gzipped stream from it and re-open the face with it.</p> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Gzip_Uncompress">FT_Gzip_Uncompress</h3> +<p>Defined in FT_GZIP_H (ftgzip.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Gzip_Uncompress</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* output, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>* output_len, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* input, + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> input_len ); +</pre> + +<p>Decompress a zipped input buffer into an output buffer. This function is modeled after zlib's ‘uncompress’ function.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>A FreeType memory handle.</p> +</td></tr> +<tr><td class="val" id="input">input</td><td class="desc"> +<p>The input buffer.</p> +</td></tr> +<tr><td class="val" id="input_len">input_len</td><td class="desc"> +<p>The length of the input buffer.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="output">output</td><td class="desc"> +<p>The output buffer.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="output_len">output_len</td><td class="desc"> +<p>Before calling the function, this is the the total size of the output buffer, which must be large enough to hold the entire uncompressed data (so the size of the uncompressed data must be known in advance). After calling the function, ‘output_len’ is the size of the used data in ‘output’.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_file_macros.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_file_macros.html new file mode 100644 index 00000000000..800161078be --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_file_macros.html @@ -0,0 +1,715 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Header File Macros</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="#FT_LZW_H">FT_LZW_H</a></td></tr> +<tr><td><a href="#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="#FT_BZIP2_H">FT_BZIP2_H</a></td></tr> +<tr><td><a href="#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> +<tr><td><a href="#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="#FT_GLYPH_H">FT_GLYPH_H</a></td></tr> +<tr><td><a href="#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="#FT_BITMAP_H">FT_BITMAP_H</a></td></tr> +<tr><td><a href="#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="#FT_BBOX_H">FT_BBOX_H</a></td></tr> +<tr><td><a href="#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="#FT_CACHE_H">FT_CACHE_H</a></td></tr> +<tr><td><a href="#FT_SYSTEM_H">FT_SYSTEM_H</a></td><td><a href="#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td></tr> +<tr><td><a href="#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td></tr> +<tr><td><a href="#FT_TYPES_H">FT_TYPES_H</a></td><td><a href="#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td></tr> +<tr><td><a href="#FT_LIST_H">FT_LIST_H</a></td><td><a href="#FT_MAC_H">FT_MAC_H</a></td></tr> +<tr><td><a href="#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td></tr> +<tr><td><a href="#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td></tr> +<tr><td><a href="#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td></tr> +<tr><td><a href="#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td></tr> +<tr><td><a href="#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="#FT_PFR_H">FT_PFR_H</a></td></tr> +<tr><td><a href="#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="#FT_STROKER_H">FT_STROKER_H</a></td></tr> +<tr><td><a href="#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td><td><a href="#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td></tr> +<tr><td><a href="#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td><td><a href="#FT_XFREE86_H">FT_XFREE86_H</a></td></tr> +<tr><td><a href="#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td><td><a href="#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> +<tr><td><a href="#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td><td><a href="#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td></tr> +<tr><td><a href="#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td><td><a href="#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> +<tr><td><a href="#FT_BDF_H">FT_BDF_H</a></td><td><a href="#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td></tr> +<tr><td><a href="#FT_CID_H">FT_CID_H</a></td><td><a href="#FT_GASP_H">FT_GASP_H</a></td></tr> +<tr><td><a href="#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="#FT_ADVANCES_H">FT_ADVANCES_H</a></td></tr> +</table> + + +<p>The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:</p> +<pre class="colored"> + #include FT_FREETYPE_H + #include FT_MULTIPLE_MASTERS_H + #include FT_GLYPH_H +</pre> +<p>There are several reasons why we are now using macros to name public header files. The first one is that such macros are not limited to the infamous 8.3 naming rule required by DOS (and ‘FT_MULTIPLE_MASTERS_H’ is a lot more meaningful than ‘ftmm.h’).</p> +<p>The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.</p> + +<div class="section"> +<h3 id="FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</h3> +<pre> +#ifndef <b>FT_CONFIG_CONFIG_H</b> +#define <b>FT_CONFIG_CONFIG_H</b> <config/ftconfig.h> +#endif +</pre> + +<p>A macro used in #include statements to name the file containing FreeType 2 configuration data.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</h3> +<pre> +#ifndef <b>FT_CONFIG_STANDARD_LIBRARY_H</b> +#define <b>FT_CONFIG_STANDARD_LIBRARY_H</b> <config/ftstdlib.h> +#endif +</pre> + +<p>A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</h3> +<pre> +#ifndef <b>FT_CONFIG_OPTIONS_H</b> +#define <b>FT_CONFIG_OPTIONS_H</b> <config/ftoption.h> +#endif +</pre> + +<p>A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</h3> +<pre> +#ifndef <b>FT_CONFIG_MODULES_H</b> +#define <b>FT_CONFIG_MODULES_H</b> <config/ftmodule.h> +#endif +</pre> + +<p>A macro used in #include statements to name the file containing the list of FreeType 2 modules that are statically linked to new library instances in <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_FREETYPE_H">FT_FREETYPE_H</h3> +<pre> +#define <b>FT_FREETYPE_H</b> <freetype.h> +</pre> + +<p>A macro used in #include statements to name the file containing the base FreeType 2 API.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ERRORS_H">FT_ERRORS_H</h3> +<pre> +#define <b>FT_ERRORS_H</b> <fterrors.h> +</pre> + +<p>A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</h3> +<pre> +#define <b>FT_MODULE_ERRORS_H</b> <ftmoderr.h> +</pre> + +<p>A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SYSTEM_H">FT_SYSTEM_H</h3> +<pre> +#define <b>FT_SYSTEM_H</b> <ftsystem.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 interface to low-level operations (i.e., memory management and stream i/o).</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_IMAGE_H">FT_IMAGE_H</h3> +<pre> +#define <b>FT_IMAGE_H</b> <ftimage.h> +</pre> + +<p>A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TYPES_H">FT_TYPES_H</h3> +<pre> +#define <b>FT_TYPES_H</b> <fttypes.h> +</pre> + +<p>A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.</p> +<p>It is included by <a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_LIST_H">FT_LIST_H</h3> +<pre> +#define <b>FT_LIST_H</b> <ftlist.h> +</pre> + +<p>A macro used in #include statements to name the file containing the list management API of FreeType 2.</p> +<p>(Most applications will never need to include this file.)</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OUTLINE_H">FT_OUTLINE_H</h3> +<pre> +#define <b>FT_OUTLINE_H</b> <ftoutln.h> +</pre> + +<p>A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SIZES_H">FT_SIZES_H</h3> +<pre> +#define <b>FT_SIZES_H</b> <ftsizes.h> +</pre> + +<p>A macro used in #include statements to name the file containing the API which manages multiple <a href="ft2-base_interface.html#FT_Size">FT_Size</a> objects per face.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MODULE_H">FT_MODULE_H</h3> +<pre> +#define <b>FT_MODULE_H</b> <ftmodapi.h> +</pre> + +<p>A macro used in #include statements to name the file containing the module management API of FreeType 2.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_RENDER_H">FT_RENDER_H</h3> +<pre> +#define <b>FT_RENDER_H</b> <ftrender.h> +</pre> + +<p>A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_AUTOHINTER_H">FT_AUTOHINTER_H</h3> +<pre> +#define <b>FT_AUTOHINTER_H</b> <ftautoh.h> +</pre> + +<p>A macro used in #include statements to name the file containing structures and macros related to the auto-hinting module.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</h3> +<pre> +#define <b>FT_CFF_DRIVER_H</b> <ftcffdrv.h> +</pre> + +<p>A macro used in #include statements to name the file containing structures and macros related to the CFF driver module.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</h3> +<pre> +#define <b>FT_TRUETYPE_DRIVER_H</b> <ftttdrv.h> +</pre> + +<p>A macro used in #include statements to name the file containing structures and macros related to the TrueType driver module.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</h3> +<pre> +#define <b>FT_TYPE1_TABLES_H</b> <t1tables.h> +</pre> + +<p>A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</h3> +<pre> +#define <b>FT_TRUETYPE_IDS_H</b> <ttnameid.h> +</pre> + +<p>A macro used in #include statements to name the file containing the enumeration values which identify name strings, languages, encodings, etc. This file really contains a <i>large</i> set of constant macro definitions, taken from the TrueType and OpenType specifications.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</h3> +<pre> +#define <b>FT_TRUETYPE_TABLES_H</b> <tttables.h> +</pre> + +<p>A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</h3> +<pre> +#define <b>FT_TRUETYPE_TAGS_H</b> <tttags.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of TrueType four-byte ‘tags’ which identify blocks in SFNT-based font formats (i.e., TrueType and OpenType).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BDF_H">FT_BDF_H</h3> +<pre> +#define <b>FT_BDF_H</b> <ftbdf.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CID_H">FT_CID_H</h3> +<pre> +#define <b>FT_CID_H</b> <ftcid.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GZIP_H">FT_GZIP_H</h3> +<pre> +#define <b>FT_GZIP_H</b> <ftgzip.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_LZW_H">FT_LZW_H</h3> +<pre> +#define <b>FT_LZW_H</b> <ftlzw.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BZIP2_H">FT_BZIP2_H</h3> +<pre> +#define <b>FT_BZIP2_H</b> <ftbzip2.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_WINFONTS_H">FT_WINFONTS_H</h3> +<pre> +#define <b>FT_WINFONTS_H</b> <ftwinfnt.h> +</pre> + +<p>A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GLYPH_H">FT_GLYPH_H</h3> +<pre> +#define <b>FT_GLYPH_H</b> <ftglyph.h> +</pre> + +<p>A macro used in #include statements to name the file containing the API of the optional glyph management component.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BITMAP_H">FT_BITMAP_H</h3> +<pre> +#define <b>FT_BITMAP_H</b> <ftbitmap.h> +</pre> + +<p>A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_BBOX_H">FT_BBOX_H</h3> +<pre> +#define <b>FT_BBOX_H</b> <ftbbox.h> +</pre> + +<p>A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CACHE_H">FT_CACHE_H</h3> +<pre> +#define <b>FT_CACHE_H</b> <ftcache.h> +</pre> + +<p>A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</h3> +<pre> +#define <b>FT_CACHE_IMAGE_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> +</pre> + +<p>A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.</p> +<p>It is used to define a cache for <a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a> elements. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a> if you only need to store small glyph bitmaps, as it will use less memory.</p> +<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all glyph image-related cache declarations.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</h3> +<pre> +#define <b>FT_CACHE_SMALL_BITMAPS_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> +</pre> + +<p>A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.</p> +<p>It is used to define a cache for small glyph bitmaps in a relatively memory-efficient way. You can also use the API defined in <a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a> if you want to cache arbitrary glyph images, including scalable outlines.</p> +<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all small bitmaps-related cache declarations.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</h3> +<pre> +#define <b>FT_CACHE_CHARMAP_H</b> <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> +</pre> + +<p>A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system.</p> +<p>This macro is deprecated. Simply include <a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a> to have all charmap-based cache declarations.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MAC_H">FT_MAC_H</h3> +<pre> +#define <b>FT_MAC_H</b> <ftmac.h> +</pre> + +<p>A macro used in #include statements to name the file containing the Macintosh-specific FreeType 2 API. The latter is used to access fonts embedded in resource forks.</p> +<p>This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</h3> +<pre> +#define <b>FT_MULTIPLE_MASTERS_H</b> <ftmm.h> +</pre> + +<p>A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</h3> +<pre> +#define <b>FT_SFNT_NAMES_H</b> <ftsnames.h> +</pre> + +<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which accesses embedded ‘name’ strings in SFNT-based font formats (i.e., TrueType and OpenType).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</h3> +<pre> +#define <b>FT_OPENTYPE_VALIDATE_H</b> <ftotval.h> +</pre> + +<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</h3> +<pre> +#define <b>FT_GX_VALIDATE_H</b> <ftgxval.h> +</pre> + +<p>A macro used in #include statements to name the file containing the optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_PFR_H">FT_PFR_H</h3> +<pre> +#define <b>FT_PFR_H</b> <ftpfr.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_STROKER_H">FT_STROKER_H</h3> +<pre> +#define <b>FT_STROKER_H</b> <ftstroke.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SYNTHESIS_H">FT_SYNTHESIS_H</h3> +<pre> +#define <b>FT_SYNTHESIS_H</b> <ftsynth.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_XFREE86_H">FT_XFREE86_H</h3> +<pre> +#define <b>FT_XFREE86_H</b> <ftxf86.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which provides functions specific to the XFree86 and X.Org X11 servers.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</h3> +<pre> +#define <b>FT_TRIGONOMETRY_H</b> <fttrigon.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs trigonometric computations (e.g., cosines and arc tangents).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_LCD_FILTER_H">FT_LCD_FILTER_H</h3> +<pre> +#define <b>FT_LCD_FILTER_H</b> <ftlcdfil.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</h3> +<pre> +#define <b>FT_UNPATENTED_HINTING_H</b> <ttunpat.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_INCREMENTAL_H">FT_INCREMENTAL_H</h3> +<pre> +#define <b>FT_INCREMENTAL_H</b> <ftincrem.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GASP_H">FT_GASP_H</h3> +<pre> +#define <b>FT_GASP_H</b> <ftgasp.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ADVANCES_H">FT_ADVANCES_H</h3> +<pre> +#define <b>FT_ADVANCES_H</b> <ftadvanc.h> +</pre> + +<p>A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_inclusion.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_inclusion.html new file mode 100644 index 00000000000..4eb4651fab9 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-header_inclusion.html @@ -0,0 +1,117 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>FreeType's header inclusion scheme</h1> + +<p>To be as flexible as possible (and for historical reasons), FreeType uses a very special inclusion scheme to load header files, for example</p> +<pre class="colored"> + #include <ft2build.h> + + #include FT_FREETYPE_H + #include FT_OUTLINE_H +</pre> +<p>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.</p> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-incremental.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-incremental.html index 423aa0bb32c..651f323b6a5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-incremental.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-incremental.html @@ -3,87 +3,140 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> +<title>FreeType-2.5.4 API Reference</title> <style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; - background: #FFFFFF; } + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } - p { text-align: justify; } h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } + p { text-align: justify; } + + pre.colored { color: blue; } span.keyword { font-family: monospace; text-align: left; white-space: pre; color: darkblue; } - pre.colored { color: blue; } + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } - ul.empty { list-style-type: none; } </style> </head> <body> -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> -<center><h1> -Incremental Loading -</h1></center> +<h1>Incremental Loading</h1> <h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_Incremental">FT_Incremental</a></td><td></td><td><a href="#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td></tr> -<tr><td></td><td><a href="#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td></td><td><a href="#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td></tr> -<tr><td></td><td><a href="#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td></td><td><a href="#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td></tr> -<tr><td></td><td><a href="#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td></td><td><a href="#FT_Incremental_Interface">FT_Incremental_Interface</a></td></tr> -<tr><td></td><td><a href="#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td></td><td><a href="#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains various functions used to perform so-called ‘incremental’ glyph loading. This is a mode where all glyphs loaded from a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> are provided by the client application,</p> +<table class="synopsis"> +<tr><td><a href="#FT_Incremental">FT_Incremental</a></td><td><a href="#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td></tr> +<tr><td><a href="#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td></tr> +<tr><td><a href="#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td></tr> +<tr><td><a href="#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="#FT_Incremental_Interface">FT_Incremental_Interface</a></td></tr> +<tr><td><a href="#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td></tr> +</table> + + +<p>This section contains various functions used to perform so-called ‘incremental’ glyph loading. This is a mode where all glyphs loaded from a given <a href="ft2-base_interface.html#FT_Face">FT_Face</a> are provided by the client application.</p> <p>Apart from that, all other tables are loaded normally from the font file. This mode is useful when FreeType is used within another engine, e.g., a PostScript Imaging Processor.</p> <p>To enable this mode, you must use <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>, passing an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> with the <a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a> tag and an <a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a> value. See the comments for <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> for an example.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental">FT_Incremental</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<div class="section"> +<h3 id="FT_Incremental">FT_Incremental</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_IncrementalRec_* <b>FT_Incremental</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>An opaque type describing a user-provided object used to implement ‘incremental’ glyph loading within FreeType. This is used to support embedded fonts in certain environments (e.g., PostScript interpreters), where the glyph data isn't in the font file, or must be overridden by different values.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>It is up to client applications to create and implement <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> objects, as long as they provide implementations for the methods <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a>, <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> and <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a>.</p> <p>See the description of <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> to understand how to use incremental objects with FreeType.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_ { <a href="ft2-basic_types.html#FT_Long">FT_Long</a> bearing_x; @@ -92,193 +145,152 @@ Defined in FT_INCREMENTAL_H (ftincrem.h). <a href="ft2-basic_types.html#FT_Long">FT_Long</a> advance_v; /* since 2.3.12 */ } <b>FT_Incremental_MetricsRec</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A small structure used to contain the basic glyph metrics returned by the <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a> method.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>bearing_x</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="bearing_x">bearing_x</td><td class="desc"> <p>Left bearing, in font units.</p> </td></tr> -<tr valign=top><td><b>bearing_y</b></td><td> +<tr><td class="val" id="bearing_y">bearing_y</td><td class="desc"> <p>Top bearing, in font units.</p> </td></tr> -<tr valign=top><td><b>advance</b></td><td> +<tr><td class="val" id="advance">advance</td><td class="desc"> <p>Horizontal component of glyph advance, in font units.</p> </td></tr> -<tr valign=top><td><b>advance_v</b></td><td> +<tr><td class="val" id="advance_v">advance_v</td><td class="desc"> <p>Vertical component of glyph advance, in font units.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>These correspond to horizontal or vertical metrics depending on the value of the ‘vertical’ argument to the function <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a>.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_Metrics">FT_Incremental_Metrics</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_Metrics">FT_Incremental_Metrics</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_MetricsRec_* <b>FT_Incremental_Metrics</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A handle to an <a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> (*<b>FT_Incremental_GetGlyphDataFunc</b>)( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental, <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, <a href="ft2-basic_types.html#FT_Data">FT_Data</a>* adata ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A function called by FreeType to access a given glyph's data bytes during <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> if incremental loading is enabled.</p> <p>Note that the format of the glyph's data bytes depends on the font file format. For TrueType, it must correspond to the raw bytes within the ‘glyf’ table. For PostScript formats, it must correspond to the <b>unencrypted</b> charstring bytes, without any ‘lenIV’ header. It is undefined for any other format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>incremental</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="incremental">incremental</td><td class="desc"> <p>Handle to an opaque <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> handle provided by the client application.</p> </td></tr> -<tr valign=top><td><b>glyph_index</b></td><td> +<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc"> <p>Index of relevant glyph.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>adata</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="adata">adata</td><td class="desc"> <p>A structure describing the returned glyph data bytes (which will be accessed as a read-only byte block).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>If this function returns successfully the method <a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a> will be called later to release the data bytes.</p> <p>Nested calls to <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a> can happen for compound glyphs.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">void</span> (*<b>FT_Incremental_FreeGlyphDataFunc</b>)( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental, <a href="ft2-basic_types.html#FT_Data">FT_Data</a>* data ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A function used to release the glyph data bytes returned by a successful call to <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>incremental</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="incremental">incremental</td><td class="desc"> <p>A handle to an opaque <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> handle provided by the client application.</p> </td></tr> -<tr valign=top><td><b>data</b></td><td> +<tr><td class="val" id="data">data</td><td class="desc"> <p>A structure describing the glyph data bytes (which will be accessed as a read-only byte block).</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> (*<b>FT_Incremental_GetGlyphMetricsFunc</b>) ( <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> incremental, <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> glyph_index, <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> vertical, <a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a> *ametrics ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A function used to retrieve the basic metrics of a given glyph index before accessing its data. This is necessary because, in certain formats like TrueType, the metrics are stored in a different place from the glyph images proper.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>incremental</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="incremental">incremental</td><td class="desc"> <p>A handle to an opaque <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> handle provided by the client application.</p> </td></tr> -<tr valign=top><td><b>glyph_index</b></td><td> +<tr><td class="val" id="glyph_index">glyph_index</td><td class="desc"> <p>Index of relevant glyph.</p> </td></tr> -<tr valign=top><td><b>vertical</b></td><td> +<tr><td class="val" id="vertical">vertical</td><td class="desc"> <p>If true, return vertical metrics.</p> </td></tr> -<tr valign=top><td><b>ametrics</b></td><td> +<tr><td class="val" id="ametrics">ametrics</td><td class="desc"> <p>This parameter is used for both input and output. The original glyph metrics, if any, in font units. If metrics are not available all the values must be set to zero.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>ametrics</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="ametrics">ametrics</td><td class="desc"> <p>The replacement glyph metrics in font units.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_FuncsRec_ { <a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a> get_glyph_data; @@ -286,47 +298,38 @@ Defined in FT_INCREMENTAL_H (ftincrem.h). <a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a> get_glyph_metrics; } <b>FT_Incremental_FuncsRec</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A table of functions for accessing fonts that load data incrementally. Used in <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>get_glyph_data</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="get_glyph_data">get_glyph_data</td><td class="desc"> <p>The function to get glyph data. Must not be null.</p> </td></tr> -<tr valign=top><td><b>free_glyph_data</b></td><td> +<tr><td class="val" id="free_glyph_data">free_glyph_data</td><td class="desc"> <p>The function to release glyph data. Must not be null.</p> </td></tr> -<tr valign=top><td><b>get_glyph_metrics</b></td><td> +<tr><td class="val" id="get_glyph_metrics">get_glyph_metrics</td><td class="desc"> <p>The function to get glyph metrics. May be null if the font does not provide overriding glyph metrics.</p> </td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Incremental_InterfaceRec_ { <span class="keyword">const</span> <a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a>* funcs; <a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a> object; } <b>FT_Incremental_InterfaceRec</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure to be used with <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> to indicate that the user wants to support incremental glyph loading. You should use it with <a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a> as in the following example:</p> <pre class="colored"> FT_Incremental_InterfaceRec inc_int; @@ -352,50 +355,33 @@ Defined in FT_INCREMENTAL_H (ftincrem.h). error = FT_Open_Face( library, &open_args, index, &face ); ... </pre> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Incremental_Interface">FT_Incremental_Interface</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Incremental_Interface">FT_Incremental_Interface</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> <span class="keyword">typedef</span> <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a>* <b>FT_Incremental_Interface</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A pointer to an <a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a> structure.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_INCREMENTAL_H (ftincrem.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</h3> +<p>Defined in FT_INCREMENTAL_H (ftincrem.h).</p> +<pre> #define <b>FT_PARAM_TAG_INCREMENTAL</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'n', 'c', 'r' ) +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to indicate an incremental loading object to be used by FreeType.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-index.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-index.html new file mode 100644 index 00000000000..e265e7835d3 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-index.html @@ -0,0 +1,381 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<table class="index"> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_ATOM</a></td><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td><td><a href="ft2-header_file_macros.html#FT_SYSTEM_H">FT_SYSTEM_H</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_CARDINAL</a></td><td><a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a></td><td><a href="ft2-basic_types.html#FT_Tag">FT_Tag</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_INTEGER</a></td><td><a href="ft2-list_processing.html#FT_List">FT_List</a></td><td><a href="ft2-computations.html#FT_Tan">FT_Tan</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PROPERTY_TYPE_NONE</a></td><td><a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a></td><td><a href="ft2-header_file_macros.html#FT_TRIGONOMETRY_H">FT_TRIGONOMETRY_H</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_Property">BDF_Property</a></td><td><a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_DRIVER_H">FT_TRUETYPE_DRIVER_H</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyRec">BDF_PropertyRec</a></td><td><a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_NONE</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#BDF_PropertyType">BDF_PropertyType</a></td><td><a href="ft2-list_processing.html#FT_List_Find">FT_List_Find</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a></td><td><a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_IDS_H">FT_TRUETYPE_IDS_H</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TABLES_H">FT_TRUETYPE_TABLES_H</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="ft2-list_processing.html#FT_List_Remove">FT_List_Remove</a></td><td><a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_FontDict">CID_FontDict</a></td><td><a href="ft2-list_processing.html#FT_List_Up">FT_List_Up</a></td><td><a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#CID_Info">CID_Info</a></td><td><a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Free">FT_TrueTypeGX_Free</a></td></tr> +<tr><td><a href="ft2-cff_driver.html#darkening-parameters">darkening-parameters</a></td><td><a href="ft2-list_processing.html#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="ft2-gx_validation.html#FT_TrueTypeGX_Validate">FT_TrueTypeGX_Validate</a></td></tr> +<tr><td><a href="ft2-auto_hinter.html#default-script">default-script</a></td><td><a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a></td><td><a href="ft2-header_file_macros.html#FT_TYPE1_TABLES_H">FT_TYPE1_TABLES_H</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_COLOR</a></td><td><a href="ft2-header_file_macros.html#FT_TYPES_H">FT_TYPES_H</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_CROP_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UFWord">FT_UFWord</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_DEFAULT</a></td><td><a href="ft2-basic_types.html#FT_UInt">FT_UInt</a></td></tr> +<tr><td><a href="ft2-version.html#FREETYPE_XXX">FREETYPE_XXX</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_FORCE_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UInt16">FT_UInt16</a></td></tr> +<tr><td><a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH</a></td><td><a href="ft2-basic_types.html#FT_UInt32">FT_UInt32</a></td></tr> +<tr><td><a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_IGNORE_TRANSFORM</a></td><td><a href="ft2-basic_types.html#FT_UInt64">FT_UInt64</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_ADVANCES_H">FT_ADVANCES_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_LINEAR_DESIGN</a></td><td><a href="ft2-basic_types.html#FT_ULong">FT_ULong</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a></td><td><a href="ft2-header_file_macros.html#FT_UNPATENTED_HINTING_H">FT_UNPATENTED_HINTING_H</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_AUTOHINT</a></td><td><a href="ft2-basic_types.html#FT_UnitVector">FT_UnitVector</a></td></tr> +<tr><td><a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_BITMAP</a></td><td><a href="ft2-basic_types.html#FT_UShort">FT_UShort</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_2PI">FT_ANGLE_2PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_HINTING</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_APPLE</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_PI">FT_ANGLE_PI</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_RECURSE</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_BASE</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_PI2">FT_ANGLE_PI2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_bsln</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_ANGLE_PI4">FT_ANGLE_PI4</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_PEDANTIC</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERN</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Angle">FT_Angle</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_CKERNXXX</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Angle_Diff">FT_Angle_Diff</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_feat</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Atan2">FT_Atan2</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LCD_V</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GDEF</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Attach_File">FT_Attach_File</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_LIGHT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GPOS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Attach_Stream">FT_Attach_Stream</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_MODE">FT_LOAD_TARGET_MODE</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_GSUB</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_AUTOHINTER_H">FT_AUTOHINTER_H</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_MONO</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GX</a></td></tr> +<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_CJK</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_NORMAL</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GX_LENGTH">FT_VALIDATE_GX_LENGTH</a></td></tr> +<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_INDIC</a></td><td><a href="ft2-base_interface.html#FT_LOAD_TARGET_XXX">FT_LOAD_TARGET_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_GXXXX</a></td></tr> +<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_LATIN</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_JSTF</a></td></tr> +<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_NONE</a></td><td><a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_XXX</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_just</a></td></tr> +<tr><td><a href="ft2-auto_hinter.html#FT_AUTOHINTER_SCRIPT_XXX">FT_AUTOHINTER_SCRIPT_XXX</a></td><td><a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_kern</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BBOX_H">FT_BBOX_H</a></td><td><a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_lcar</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_BBox">FT_BBox</a></td><td><a href="ft2-truetype_tables.html#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_MATH</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BDF_H">FT_BDF_H</a></td><td><a href="ft2-basic_types.html#FT_Long">FT_Long</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_CKERNXXX">FT_VALIDATE_MS</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BITMAP_H">FT_BITMAP_H</a></td><td><a href="ft2-header_file_macros.html#FT_LZW_H">FT_LZW_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_mort</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_MAC_H">FT_MAC_H</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_morx</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Convert">FT_Bitmap_Convert</a></td><td><a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OT</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Copy">FT_Bitmap_Copy</a></td><td><a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a></td><td><a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Done">FT_Bitmap_Done</a></td><td><a href="ft2-computations.html#FT_Matrix_Invert">FT_Matrix_Invert</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_opbd</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_Embolden">FT_Bitmap_Embolden</a></td><td><a href="ft2-computations.html#FT_Matrix_Multiply">FT_Matrix_Multiply</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_prop</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_Bitmap_New">FT_Bitmap_New</a></td><td><a href="ft2-system_interface.html#FT_Memory">FT_Memory</a></td><td><a href="ft2-gx_validation.html#FT_VALIDATE_GXXXX">FT_VALIDATE_trak</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Bitmap_Size">FT_Bitmap_Size</a></td><td><a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyph">FT_BitmapGlyph</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_BitmapGlyphRec">FT_BitmapGlyphRec</a></td><td><a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a></td><td><a href="ft2-basic_types.html#FT_Vector">FT_Vector</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Bool">FT_Bool</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_ERRORS_H">FT_MODULE_ERRORS_H</a></td><td><a href="ft2-computations.html#FT_Vector_From_Polar">FT_Vector_From_Polar</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Byte">FT_Byte</a></td><td><a href="ft2-header_file_macros.html#FT_MODULE_H">FT_MODULE_H</a></td><td><a href="ft2-computations.html#FT_Vector_Length">FT_Vector_Length</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a></td><td><a href="ft2-module_management.html#FT_Module">FT_Module</a></td><td><a href="ft2-computations.html#FT_Vector_Polarize">FT_Vector_Polarize</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_BZIP2_H">FT_BZIP2_H</a></td><td><a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a></td><td><a href="ft2-computations.html#FT_Vector_Rotate">FT_Vector_Rotate</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_CHARMAP_H">FT_CACHE_CHARMAP_H</a></td><td><a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a></td><td><a href="ft2-computations.html#FT_Vector_Transform">FT_Vector_Transform</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_H">FT_CACHE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="ft2-computations.html#FT_Vector_Unit">FT_Vector_Unit</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_IMAGE_H">FT_CACHE_IMAGE_H</a></td><td><a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="ft2-header_file_macros.html#FT_WINFONTS_H">FT_WINFONTS_H</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CACHE_SMALL_BITMAPS_H">FT_CACHE_SMALL_BITMAPS_H</a></td><td><a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_Header">FT_WinFNT_Header</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_CeilFix">FT_CeilFix</a></td><td><a href="ft2-computations.html#FT_MulDiv">FT_MulDiv</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CFF_DRIVER_H">FT_CFF_DRIVER_H</a></td><td><a href="ft2-computations.html#FT_MulFix">FT_MulFix</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1250</a></td></tr> +<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_ADOBE</a></td><td><a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1251</a></td></tr> +<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_FREETYPE</a></td><td><a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1252</a></td></tr> +<tr><td><a href="ft2-cff_driver.html#FT_CFF_HINTING_XXX">FT_CFF_HINTING_XXX</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1253</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Char">FT_Char</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1254</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a></td><td><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1255</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a></td><td><a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1256</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CID_H">FT_CID_H</a></td><td><a href="ft2-base_interface.html#FT_New_Memory_Face">FT_New_Memory_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1257</a></td></tr> +<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Free">FT_ClassicKern_Free</a></td><td><a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1258</a></td></tr> +<tr><td><a href="ft2-gx_validation.html#FT_ClassicKern_Validate">FT_ClassicKern_Validate</a></td><td><a href="ft2-basic_types.html#FT_Offset">FT_Offset</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP1361</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_CONFIG_H">FT_CONFIG_CONFIG_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP874</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_MODULES_H">FT_CONFIG_MODULES_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP932</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_OPTIONS_H">FT_CONFIG_OPTIONS_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PARAMS</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP936</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_CONFIG_STANDARD_LIBRARY_H">FT_CONFIG_STANDARD_LIBRARY_H</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP949</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_Cos">FT_Cos</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_CP950</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Data">FT_Data</a></td><td><a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_XXX</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_DEFAULT</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_DivFix">FT_DivFix</a></td><td><a href="ft2-header_file_macros.html#FT_OPENTYPE_VALIDATE_H">FT_OPENTYPE_VALIDATE_H</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_MAC</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a></td><td><a href="ft2-base_interface.html#FT_Open_Args">FT_Open_Args</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_OEM</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a></td><td><a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_SYMBOL</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Done_Glyph">FT_Done_Glyph</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a></td><td><a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td><a href="ft2-header_file_macros.html#FT_XFREE86_H">FT_XFREE86_H</a></td></tr> +<tr><td><a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_LEFT</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache">FTC_CMapCache</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Driver">FT_Driver</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_FILL_RIGHT</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_Lookup">FTC_CMapCache_Lookup</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_ENC_TAG">FT_ENC_TAG</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_CMapCache_New">FTC_CMapCache_New</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_CUSTOM</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a></td><td><a href="ft2-cache_subsystem.html#FTC_Face_Requester">FTC_Face_Requester</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_EXPERT</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a></td><td><a href="ft2-cache_subsystem.html#FTC_FaceID">FTC_FaceID</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_LATIN_1</a></td><td><a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache">FTC_ImageCache</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_ADOBE_STANDARD</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_EVEN_ODD_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_Lookup">FTC_ImageCache_Lookup</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_APPLE_ROMAN</a></td><td><a href="ft2-header_file_macros.html#FT_OUTLINE_H">FT_OUTLINE_H</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_LookupScaler">FTC_ImageCache_LookupScaler</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_HIGH_PRECISION</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageCache_New">FTC_ImageCache_New</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageType">FTC_ImageType</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a></td><td><a href="ft2-cache_subsystem.html#FTC_ImageTypeRec">FTC_ImageTypeRec</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_BIG5</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_NONE</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager">FTC_Manager</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_GB2312</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_OWNER</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Done">FTC_Manager_Done</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_JOHAB</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupFace">FTC_Manager_LookupFace</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SINGLE_PASS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_LookupSize">FTC_Manager_LookupSize</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_RemoveFaceID">FTC_Manager_RemoveFaceID</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_NONE</a></td><td><a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a></td><td><a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_OLD_LATIN_2</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node">FTC_Node</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_Node_Unref">FTC_Node_Unref</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBit">FTC_SBit</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a></td><td><a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache">FTC_SBitCache</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Encoding">FT_Encoding</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Decompose">FT_Outline_Decompose</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_Lookup">FTC_SBitCache_Lookup</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_ERRORS_H">FT_ERRORS_H</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_LookupScaler">FTC_SBitCache_LookupScaler</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Error">FT_Error</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitCache_New">FTC_SBitCache_New</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_F26Dot6">FT_F26Dot6</a></td><td><a href="ft2-outline_processing.html#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="ft2-cache_subsystem.html#FTC_SBitRec">FTC_SBitRec</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_F2Dot14">FT_F2Dot14</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a></td><td><a href="ft2-cache_subsystem.html#FTC_Scaler">FTC_Scaler</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="ft2-cache_subsystem.html#FTC_ScalerRec">FTC_ScalerRec</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_COLOR</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td><td><a href="ft2-auto_hinter.html#fallback-script">fallback-script</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_EXTERNAL_STREAM</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td><a href="ft2-auto_hinter.html#glyph-to-script-map">glyph-to-script-map</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FAST_GLYPHS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td><td><a href="ft2-cff_driver.html#hinting-engine">hinting-engine</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetInsideBorder">FT_Outline_GetInsideBorder</a></td><td><a href="ft2-auto_hinter.html#increase-x-height">increase-x-height</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Outline_GetOutsideBorder">FT_Outline_GetOutsideBorder</a></td><td><a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_GLYPH_NAMES</a></td><td><a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td><td><a href="ft2-cff_driver.html#no-stem-darkening">no-stem-darkening</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HINTER</a></td><td><a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_FUZZ</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_HORIZONTAL</a></td><td><a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SCALE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_KERNING</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_SHIFT</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_MULTIPLE_MASTERS</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_BLUE_VALUE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SCALABLE</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_SFNT</a></td><td><a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_CHAR_STRING_KEY</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyph">FT_OutlineGlyph</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_ENTRY</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_VERTICAL</a></td><td><a href="ft2-glyph_management.html#FT_OutlineGlyphRec">FT_OutlineGlyphRec</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ENCODING_TYPE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_XXX</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_BLUE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Face">FT_Face</a></td><td><a href="ft2-sfnt_names.html#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_NAME</a></td></tr> +<tr><td><a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td><td><a href="ft2-incremental.html#FT_PARAM_TAG_INCREMENTAL">FT_PARAM_TAG_INCREMENTAL</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FAMILY_OTHER_BLUE</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharsOfVariant">FT_Face_GetCharsOfVariant</a></td><td><a href="ft2-truetype_tables.html#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_BBOX</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIndex">FT_Face_GetCharVariantIndex</a></td><td><a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_MATRIX</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetCharVariantIsDefault">FT_Face_GetCharVariantIsDefault</a></td><td><a href="ft2-header_file_macros.html#FT_PFR_H">FT_PFR_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_NAME</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantSelectors">FT_Face_GetVariantSelectors</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_BGRA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FONT_TYPE</a></td></tr> +<tr><td><a href="ft2-glyph_variants.html#FT_Face_GetVariantsOfChar">FT_Face_GetVariantsOfChar</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FORCE_BOLD</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Face_Internal">FT_Face_Internal</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY2</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FS_TYPE</a></td></tr> +<tr><td><a href="ft2-version.html#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_GRAY4</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_FULL_NAME</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_IS_FIXED_PITCH</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_ITALIC_ANGLE</a></td></tr> +<tr><td><a href="ft2-computations.html#FT_FloorFix">FT_FloorFix</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LANGUAGE_GROUP</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_FREETYPE_H">FT_FREETYPE_H</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_PIXEL_MODE_NONE</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_LEN_IV</a></td></tr> +<tr><td><a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a></td><td><a href="ft2-basic_types.html#FT_Pixel_Mode">FT_Pixel_Mode</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_MIN_FEATURE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_BITMAP_EMBEDDING_ONLY</a></td><td><a href="ft2-basic_types.html#FT_Pointer">FT_Pointer</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NOTICE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_EDITABLE_EMBEDDING</a></td><td><a href="ft2-basic_types.html#FT_Pos">FT_Pos</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_BLUE_VALUES</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_INSTALLABLE_EMBEDDING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_GlyphToScriptMap">FT_Prop_GlyphToScriptMap</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_CHAR_STRINGS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_NO_SUBSETTING</a></td><td><a href="ft2-auto_hinter.html#FT_Prop_IncreaseXHeight">FT_Prop_IncreaseXHeight</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_BLUES</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_FAMILY_OTHER_BLUES</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING</a></td><td><a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_OTHER_BLUES</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_FSTYPE_XXX">FT_FSTYPE_XXX</a></td><td><a href="ft2-basic_types.html#FT_PtrDist">FT_PtrDist</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_H</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_FWord">FT_FWord</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_STEM_SNAP_V</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRAY</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_CLIP</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_NUM_SUBRS</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_DO_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DEFAULT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_OTHER_BLUE</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GASP_H">FT_GASP_H</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PAINT_TYPE</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_NO_TABLE</a></td><td><a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_PASSWORD</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_GRIDFIT</a></td><td><a href="ft2-raster.html#FT_Raster">FT_Raster</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_RND_STEM_UP</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_SYMMETRIC_SMOOTHING</a></td><td><a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_HW</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_GASP_XXX">FT_GASP_XXX</a></td><td><a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STD_VW</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Generic">FT_Generic</a></td><td><a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_H</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Generic_Finalizer">FT_Generic_Finalizer</a></td><td><a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_STEM_SNAP_V</a></td></tr> +<tr><td><a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a></td><td><a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_SUBR</a></td></tr> +<tr><td><a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_POSITION</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Charset_ID">FT_Get_BDF_Charset_ID</a></td><td><a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNDERLINE_THICKNESS</a></td></tr> +<tr><td><a href="ft2-bdf_fonts.html#FT_Get_BDF_Property">FT_Get_BDF_Property</a></td><td><a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_UNIQUE_ID</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Char_Index">FT_Get_Char_Index</a></td><td><a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_VERSION</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Charmap_Index">FT_Get_Charmap_Index</a></td><td><a href="ft2-header_file_macros.html#FT_RENDER_H">FT_RENDER_H</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_DICT_WEIGHT</a></td></tr> +<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_From_Glyph_Index">FT_Get_CID_From_Glyph_Index</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a></td><td><a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a></td></tr> +<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Is_Internally_CID_Keyed">FT_Get_CID_Is_Internally_CID_Keyed</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a></td><td><a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a></td></tr> +<tr><td><a href="ft2-cid_fonts.html#FT_Get_CID_Registry_Ordering_Supplement">FT_Get_CID_Registry_Ordering_Supplement</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LIGHT</a></td><td><a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a></td></tr> +<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_MONO</a></td><td><a href="ft2-type1_tables.html#PS_Private">PS_Private</a></td></tr> +<tr><td><a href="ft2-truetype_tables.html#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_NORMAL</a></td><td><a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_First_Char">FT_Get_First_Char</a></td><td><a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SCALE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_FSType_Flags">FT_Get_FSType_Flags</a></td><td><a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_SHIFT</a></td></tr> +<tr><td><a href="ft2-gasp_table.html#FT_Get_Gasp">FT_Get_Gasp</a></td><td><a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_BLUE_VALUES</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Get_Glyph">FT_Get_Glyph</a></td><td><a href="ft2-module_management.html#FT_Remove_Module">FT_Remove_Module</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_BLUES</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a></td><td><a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FAMILY_OTHER_BLUES</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Render_Mode">FT_Render_Mode</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_FORCE_BOLD</a></td></tr> +<tr><td><a href="ft2-multiple_masters.html#FT_Get_MM_Var">FT_Get_MM_Var</a></td><td><a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_ITALIC_ANGLE</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a></td><td><a href="ft2-module_management.html#FT_Renderer_Class">FT_Renderer_Class</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_OTHER_BLUES</a></td></tr> +<tr><td><a href="ft2-multiple_masters.html#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td><a href="ft2-base_interface.html#FT_Request_Size">FT_Request_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_HEIGHT</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Name_Index">FT_Get_Name_Index</a></td><td><a href="ft2-computations.html#FT_RoundFix">FT_RoundFix</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STANDARD_WIDTH</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a></td><td><a href="ft2-base_interface.html#FT_Select_Charmap">FT_Select_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_HEIGHTS</a></td></tr> +<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td><td><a href="ft2-base_interface.html#FT_Select_Size">FT_Select_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_STEM_SNAP_WIDTHS</a></td></tr> +<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_POSITION</a></td></tr> +<tr><td><a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Set_Charmap">FT_Set_Charmap</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_BLEND_UNDERLINE_THICKNESS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Postscript_Name">FT_Get_Postscript_Name</a></td><td><a href="ft2-module_management.html#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td><td><a href="ft2-type1_tables.html#T1_Blend_Flags">T1_Blend_Flags</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ARRAY</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="ft2-multiple_masters.html#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_EXPERT</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_ISOLATIN1</a></td></tr> +<tr><td><a href="ft2-module_management.html#FT_Get_Renderer">FT_Get_Renderer</a></td><td><a href="ft2-module_management.html#FT_Set_Renderer">FT_Set_Renderer</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_NONE</a></td></tr> +<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td><td><a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_ENCODING_TYPE_STANDARD</a></td></tr> +<tr><td><a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a></td></tr> +<tr><td><a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="ft2-multiple_masters.html#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td><td><a href="ft2-type1_tables.html#T1_FontInfo">T1_FontInfo</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_SubGlyph_Info">FT_Get_SubGlyph_Info</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HEAD</a></td><td><a href="ft2-type1_tables.html#T1_Private">T1_Private</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Get_Track_Kerning">FT_Get_Track_Kerning</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_HHEA</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a></td></tr> +<tr><td><a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_MAXP</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a></td></tr> +<tr><td><a href="ft2-winfnt_fonts.html#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td><a href="ft2-header_file_macros.html#FT_SFNT_NAMES_H">FT_SFNT_NAMES_H</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a></td></tr> +<tr><td><a href="ft2-font_formats.html#FT_Get_X11_Font_Format">FT_Get_X11_Font_Format</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_OS2</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a></td></tr> +<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_PCLT</a></td><td><a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr> +<tr><td><a href="ft2-mac_specific.html#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_POST</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a></td></tr> +<tr><td><a href="ft2-mac_specific.html#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_SFNT_VHEA</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_GRIDFIT</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_PIXELS</a></td><td><a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_SUBPIXELS</a></td><td><a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_TRUNCATE</a></td><td><a href="ft2-basic_types.html#FT_Short">FT_Short</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_GLYPH_BBOX_UNSCALED</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_BBOX</a></td><td><a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_BITMAP</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_CELL</a></td><td><a href="ft2-truetype_tables.html#TT_Header">TT_Header</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_COMPOSITE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_NOMINAL</a></td><td><a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_NONE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_REAL_DIM</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_35</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_SIZE_REQUEST_TYPE_SCALES</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_38</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_PLOTTER</a></td><td><a href="ft2-header_file_macros.html#FT_SIZES_H">FT_SIZES_H</a></td><td><a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GLYPH_H">FT_GLYPH_H</a></td><td><a href="ft2-computations.html#FT_Sin">FT_Sin</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph">FT_Glyph</a></td><td><a href="ft2-base_interface.html#FT_Size">FT_Size</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_BBox_Mode">FT_Glyph_BBox_Mode</a></td><td><a href="ft2-base_interface.html#FT_Size_Internal">FT_Size_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Copy">FT_Glyph_Copy</a></td><td><a href="ft2-base_interface.html#FT_Size_Metrics">FT_Size_Metrics</a></td><td><a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a></td><td><a href="ft2-base_interface.html#FT_Size_Request">FT_Size_Request</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a></td><td><a href="ft2-base_interface.html#FT_Size_Request_Type">FT_Size_Request_Type</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Glyph_Metrics">FT_Glyph_Metrics</a></td><td><a href="ft2-base_interface.html#FT_Size_RequestRec">FT_Size_RequestRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a></td></tr> +<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_Stroke">FT_Glyph_Stroke</a></td><td><a href="ft2-base_interface.html#FT_SizeRec">FT_SizeRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a></td></tr> +<tr><td><a href="ft2-glyph_stroker.html#FT_Glyph_StrokeBorder">FT_Glyph_StrokeBorder</a></td><td><a href="ft2-base_interface.html#FT_Slot_Internal">FT_Slot_Internal</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_To_Bitmap">FT_Glyph_To_Bitmap</a></td><td><a href="ft2-raster.html#FT_Span">FT_Span</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_Glyph_Transform">FT_Glyph_Transform</a></td><td><a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a></td></tr> +<tr><td><a href="ft2-glyph_management.html#FT_GlyphRec">FT_GlyphRec</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_LEFT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_GlyphSlot">FT_GlyphSlot</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_STROKER_BORDER_RIGHT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a></td></tr> +<tr><td><a href="ft2-bitmap_handling.html#FT_GlyphSlot_Own_Bitmap">FT_GlyphSlot_Own_Bitmap</a></td><td><a href="ft2-header_file_macros.html#FT_STROKER_H">FT_STROKER_H</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_GlyphSlotRec">FT_GlyphSlotRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_BUTT</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GX_VALIDATE_H">FT_GX_VALIDATE_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_GZIP_H">FT_GZIP_H</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_STROKER_LINECAP_SQUARE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a></td></tr> +<tr><td><a href="ft2-gzip.html#FT_Gzip_Uncompress">FT_Gzip_Uncompress</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_BEVEL</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_COLOR">FT_HAS_COLOR</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_FAST_GLYPHS">FT_HAS_FAST_GLYPHS</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_FIXED</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_FIXED_SIZES">FT_HAS_FIXED_SIZES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_MITER_VARIABLE</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_STROKER_LINEJOIN_ROUND</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_HORIZONTAL">FT_HAS_HORIZONTAL</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_BOLD</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_KERNING">FT_HAS_KERNING</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_ITALIC</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_MULTIPLE_MASTERS">FT_HAS_MULTIPLE_MASTERS</a></td><td><a href="ft2-base_interface.html#FT_STYLE_FLAG_XXX">FT_STYLE_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_HAS_VERTICAL">FT_HAS_VERTICAL</a></td><td><a href="ft2-system_interface.html#FT_Stream">FT_Stream</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a></td></tr> +<tr><td><a href="ft2-type1_tables.html#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td><a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_IMAGE_H">FT_IMAGE_H</a></td><td><a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_IMAGE_TAG">FT_IMAGE_TAG</a></td><td><a href="ft2-bzip2.html#FT_Stream_OpenBzip2">FT_Stream_OpenBzip2</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_INCREMENTAL_H">FT_INCREMENTAL_H</a></td><td><a href="ft2-gzip.html#FT_Stream_OpenGzip">FT_Stream_OpenGzip</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental">FT_Incremental</a></td><td><a href="ft2-lzw.html#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_FreeGlyphDataFunc">FT_Incremental_FreeGlyphDataFunc</a></td><td><a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_FuncsRec">FT_Incremental_FuncsRec</a></td><td><a href="ft2-system_interface.html#FT_StreamRec">FT_StreamRec</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphDataFunc">FT_Incremental_GetGlyphDataFunc</a></td><td><a href="ft2-basic_types.html#FT_String">FT_String</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_GetGlyphMetricsFunc">FT_Incremental_GetGlyphMetricsFunc</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker">FT_Stroker</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_Interface">FT_Incremental_Interface</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_BeginSubPath">FT_Stroker_BeginSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_InterfaceRec">FT_Incremental_InterfaceRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ConicTo">FT_Stroker_ConicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_Metrics">FT_Incremental_Metrics</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_CubicTo">FT_Stroker_CubicTo</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a></td></tr> +<tr><td><a href="ft2-incremental.html#FT_Incremental_MetricsRec">FT_Incremental_MetricsRec</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Done">FT_Stroker_Done</a></td><td><a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_EndSubPath">FT_Stroker_EndSubPath</a></td><td><a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int">FT_Int</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Export">FT_Stroker_Export</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int16">FT_Int16</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ExportBorder">FT_Stroker_ExportBorder</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int32">FT_Int32</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetBorderCounts">FT_Stroker_GetBorderCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a></td></tr> +<tr><td><a href="ft2-basic_types.html#FT_Int64">FT_Int64</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_GetCounts">FT_Stroker_GetCounts</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_CID_KEYED">FT_IS_CID_KEYED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineCap">FT_Stroker_LineCap</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_FIXED_WIDTH">FT_IS_FIXED_WIDTH</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineJoin">FT_Stroker_LineJoin</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_SCALABLE">FT_IS_SCALABLE</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_LineTo">FT_Stroker_LineTo</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_SFNT">FT_IS_SFNT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_New">FT_Stroker_New</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_IS_TRICKY">FT_IS_TRICKY</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_ParseOutline">FT_Stroker_ParseOutline</a></td><td><a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_DEFAULT</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Rewind">FT_Stroker_Rewind</a></td><td><a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNFITTED</a></td><td><a href="ft2-glyph_stroker.html#FT_Stroker_Set">FT_Stroker_Set</a></td><td><a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a></td><td><a href="ft2-glyph_stroker.html#FT_StrokerBorder">FT_StrokerBorder</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Kerning_Mode">FT_Kerning_Mode</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_2X2</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_LCD_FILTER_H">FT_LCD_FILTER_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_USE_MY_METRICS</a></td><td><a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XXX</a></td><td><a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a></td></tr> +<tr><td><a href="ft2-header_file_macros.html#FT_LIST_H">FT_LIST_H</a></td><td><a href="ft2-base_interface.html#FT_SUBGLYPH_FLAG_XXX">FT_SUBGLYPH_FLAG_XY_SCALE</a></td><td><a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a></td></tr> +<tr><td><a href="ft2-base_interface.html#FT_Library">FT_Library</a></td><td><a href="ft2-base_interface.html#FT_SubGlyph">FT_SubGlyph</a></td><td></td></tr> +<tr><td><a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td><a href="ft2-header_file_macros.html#FT_SYNTHESIS_H">FT_SYNTHESIS_H</a></td><td></td></tr> +</table> +<hr> +<table class="index-toc-link"><tr><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> + +<div class="timestamp">generated on Sat Dec 6 18:53:39 2014</div></body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lcd_filtering.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lcd_filtering.html index ca3df8d853a..83d8c34ad34 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-lcd_filtering.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lcd_filtering.html @@ -3,50 +3,113 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> +<title>FreeType-2.5.4 API Reference</title> <style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; - background: #FFFFFF; } + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } - p { text-align: justify; } h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } + p { text-align: justify; } + + pre.colored { color: blue; } span.keyword { font-family: monospace; text-align: left; white-space: pre; color: darkblue; } - pre.colored { color: blue; } + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } - ul.empty { list-style-type: none; } </style> </head> <body> -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> -<center><h1> -LCD Filtering -</h1></center> +<h1>LCD Filtering</h1> <h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#FT_LcdFilter">FT_LcdFilter</a></td><td></td><td><a href="#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td></tr> -<tr><td></td><td><a href="#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td></td><td></td></tr> -</table><br><br> +<table class="synopsis"> +<tr><td><a href="#FT_LcdFilter">FT_LcdFilter</a></td><td><a href="#FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></td></tr> +<tr><td><a href="#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></td><td></td></tr> +</table> + -<table align=center width="87%"><tr><td> <p>The <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> API can be used to specify a low-pass filter, which is then applied to LCD-optimized bitmaps generated through <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>. This is useful to reduce color fringes that would occur with unfiltered rendering.</p> <p>Note that no filter is active by default, and that this function is <b>not</b> implemented in default builds of the library. You need to #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your ‘ftoption.h’ file in order to activate it.</p> <p>FreeType generates alpha coverage maps, which are linear by nature. For instance, the value 0x80 in bitmap representation means that (within numerical precision) 0x80/0xff fraction of that pixel is covered by the glyph's outline. The blending function for placing text over a background is</p> @@ -63,144 +126,120 @@ LCD Filtering [0x10, 0x50, 0x60, 0x50, 0x10] , </pre> <p>where ‘a’ has value 0x30 and ‘b’ value 0x20. The weights in filter may have a sum larger than 0x100, which increases coloration slightly but also improves contrast.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="FT_LcdFilter">FT_LcdFilter</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LCD_FILTER_H (ftlcdfil.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<div class="section"> +<h3 id="FT_LcdFilter">FT_LcdFilter</h3> +<p>Defined in FT_LCD_FILTER_H (ftlcdfil.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_LcdFilter_ { - <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> = 0, - <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a> = 1, - <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LIGHT</a> = 2, - <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_LEGACY</a> = 16, + <a href="ft2-lcd_filtering.html#FT_LCD_FILTER_NONE">FT_LCD_FILTER_NONE</a> = 0, + <a href="ft2-lcd_filtering.html#FT_LCD_FILTER_DEFAULT">FT_LCD_FILTER_DEFAULT</a> = 1, + <a href="ft2-lcd_filtering.html#FT_LCD_FILTER_LIGHT">FT_LCD_FILTER_LIGHT</a> = 2, + <a href="ft2-lcd_filtering.html#FT_LCD_FILTER_LEGACY">FT_LCD_FILTER_LEGACY</a> = 16, FT_LCD_FILTER_MAX /* do not remove */ } <b>FT_LcdFilter</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A list of values to identify various types of LCD filters.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>FT_LCD_FILTER_NONE</b></td><td> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_LCD_FILTER_NONE">FT_LCD_FILTER_NONE</td><td class="desc"> <p>Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color fringes.</p> </td></tr> -<tr valign=top><td><b>FT_LCD_FILTER_DEFAULT</b></td><td> +<tr><td class="val" id="FT_LCD_FILTER_DEFAULT">FT_LCD_FILTER_DEFAULT</td><td class="desc"> <p>The default filter reduces color fringes considerably, at the cost of a slight blurriness in the output.</p> </td></tr> -<tr valign=top><td><b>FT_LCD_FILTER_LIGHT</b></td><td> +<tr><td class="val" id="FT_LCD_FILTER_LIGHT">FT_LCD_FILTER_LIGHT</td><td class="desc"> <p>The light filter is a variant that produces less blurriness at the cost of slightly more color fringes than the default one. It might be better, depending on taste, your monitor, or your personal vision.</p> </td></tr> -<tr valign=top><td><b>FT_LCD_FILTER_LEGACY</b></td><td> +<tr><td class="val" id="FT_LCD_FILTER_LEGACY">FT_LCD_FILTER_LEGACY</td><td class="desc"> <p>This filter corresponds to the original libXft color filter. It provides high contrast output but can exhibit really bad color fringes if glyphs are not extremely well hinted to the pixel grid. In other words, it only works well if the TrueType bytecode interpreter is enabled <b>and</b> high-quality hinted fonts are used.</p> <p>This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the future.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> + +<h4>since</h4> <p>2.3.0</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LCD_FILTER_H (ftlcdfil.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</h3> +<p>Defined in FT_LCD_FILTER_H (ftlcdfil.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FT_Library_SetLcdFilter</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LcdFilter</a> filter ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>This function is used to apply color filtering to LCD decimated bitmaps, like the ones used when calling <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a> with <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a> or <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD_V</a>.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> <p>A handle to the target library instance.</p> </td></tr> -<tr valign=top><td><b>filter</b></td><td> +<tr><td class="val" id="filter">filter</td><td class="desc"> <p>The filter type.</p> <p>You can use <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> here to disable this feature, or <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_DEFAULT</a> to use a default filter that should work well on most LCD screens.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This feature is always disabled by default. Clients must make an explicit call to this function with a ‘filter’ value other than <a href="ft2-lcd_filtering.html#FT_LcdFilter">FT_LCD_FILTER_NONE</a> in order to enable it.</p> <p>Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.</p> <p>The filter affects glyph bitmaps rendered through <a href="ft2-base_interface.html#FT_Render_Glyph">FT_Render_Glyph</a>, <a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, and <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>.</p> <p>It does <i>not</i> affect the output of <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> and <a href="ft2-outline_processing.html#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a>.</p> <p>If this feature is activated, the dimensions of LCD glyph bitmaps are either larger or taller than the dimensions of the corresponding outline with regards to the pixel grid. For example, for <a href="ft2-base_interface.html#FT_Render_Mode">FT_RENDER_MODE_LCD</a>, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.</p> <p>The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> + +<h4>since</h4> <p>2.3.0</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_LCD_FILTER_H (ftlcdfil.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Library_SetLcdFilterWeights">FT_Library_SetLcdFilterWeights</h3> +<p>Defined in FT_LCD_FILTER_H (ftlcdfil.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FT_Library_SetLcdFilterWeights</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, <span class="keyword">unsigned</span> <span class="keyword">char</span> *weights ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Use this function to override the filter weights selected by <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a>. By default, FreeType uses the quintuple (0x00, 0x55, 0x56, 0x55, 0x00) for FT_LCD_FILTER_LIGHT, and (0x10, 0x40, 0x70, 0x40, 0x10) for FT_LCD_FILTER_DEFAULT and FT_LCD_FILTER_LEGACY.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>library</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> <p>A handle to the target library instance.</p> </td></tr> -<tr valign=top><td><b>weights</b></td><td> +<tr><td class="val" id="weights">weights</td><td class="desc"> <p>A pointer to an array; the function copies the first five bytes and uses them to specify the filter weights.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>Due to <b>PATENTS</b> covering subpixel rendering, this function doesn't do anything except returning ‘FT_Err_Unimplemented_Feature’ if the configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not defined in your build of the library, which should correspond to all default builds of FreeType.</p> <p>This function must be called after <a href="ft2-lcd_filtering.html#FT_Library_SetLcdFilter">FT_Library_SetLcdFilter</a> to have any effect.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>since</b></em></td></tr><tr><td> + +<h4>since</h4> <p>2.4.0</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-list_processing.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-list_processing.html new file mode 100644 index 00000000000..972a103b36d --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-list_processing.html @@ -0,0 +1,446 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>List Processing</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_List">FT_List</a></td><td><a href="#FT_List_Add">FT_List_Add</a></td><td><a href="#FT_List_Iterate">FT_List_Iterate</a></td></tr> +<tr><td><a href="#FT_ListNode">FT_ListNode</a></td><td><a href="#FT_List_Insert">FT_List_Insert</a></td><td><a href="#FT_List_Iterator">FT_List_Iterator</a></td></tr> +<tr><td><a href="#FT_ListRec">FT_ListRec</a></td><td><a href="#FT_List_Find">FT_List_Find</a></td><td><a href="#FT_List_Finalize">FT_List_Finalize</a></td></tr> +<tr><td><a href="#FT_ListNodeRec">FT_ListNodeRec</a></td><td><a href="#FT_List_Remove">FT_List_Remove</a></td><td><a href="#FT_List_Destructor">FT_List_Destructor</a></td></tr> +<tr><td> </td><td><a href="#FT_List_Up">FT_List_Up</a></td><td></td></tr> +</table> + + +<p>This section contains various definitions related to list processing using doubly-linked nodes.</p> + +<div class="section"> +<h3 id="FT_List">FT_List</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_* <b>FT_List</b>; +</pre> + +<p>A handle to a list record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ListNode">FT_ListNode</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_* <b>FT_ListNode</b>; +</pre> + +<p>Many elements and objects in FreeType are listed through an <a href="ft2-list_processing.html#FT_List">FT_List</a> record (see <a href="ft2-list_processing.html#FT_ListRec">FT_ListRec</a>). As its name suggests, an FT_ListNode is a handle to a single list element.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ListRec">FT_ListRec</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListRec_ + { + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> head; + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> tail; + + } <b>FT_ListRec</b>; +</pre> + +<p>A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="head">head</td><td class="desc"> +<p>The head (first element) of doubly-linked list.</p> +</td></tr> +<tr><td class="val" id="tail">tail</td><td class="desc"> +<p>The tail (last element) of doubly-linked list.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ListNodeRec">FT_ListNodeRec</h3> +<p>Defined in FT_TYPES_H (fttypes.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ListNodeRec_ + { + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> prev; + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> next; + <span class="keyword">void</span>* data; + + } <b>FT_ListNodeRec</b>; +</pre> + +<p>A structure used to hold a single list element.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="prev">prev</td><td class="desc"> +<p>The previous element in the list. NULL if first.</p> +</td></tr> +<tr><td class="val" id="next">next</td><td class="desc"> +<p>The next element in the list. NULL if last.</p> +</td></tr> +<tr><td class="val" id="data">data</td><td class="desc"> +<p>A typeless pointer to the listed object.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Add">FT_List_Add</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Add</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); +</pre> + +<p>Append an element to the end of a list.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A pointer to the parent list.</p> +</td></tr> +<tr><td class="val" id="node">node</td><td class="desc"> +<p>The node to append.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Insert">FT_List_Insert</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Insert</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); +</pre> + +<p>Insert an element at the head of a list.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A pointer to parent list.</p> +</td></tr> +<tr><td class="val" id="node">node</td><td class="desc"> +<p>The node to insert.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Find">FT_List_Find</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> ) + <b>FT_List_Find</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <span class="keyword">void</span>* data ); +</pre> + +<p>Find the list node for a given listed object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A pointer to the parent list.</p> +</td></tr> +<tr><td class="val" id="data">data</td><td class="desc"> +<p>The address of the listed object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>List node. NULL if it wasn't found.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Remove">FT_List_Remove</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Remove</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); +</pre> + +<p>Remove a node from a list. This function doesn't check whether the node is in the list!</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="node">node</td><td class="desc"> +<p>The node to remove.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A pointer to the parent list.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Up">FT_List_Up</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Up</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node ); +</pre> + +<p>Move a node to the head/top of a list. Used to maintain LRU lists.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A pointer to the parent list.</p> +</td></tr> +<tr><td class="val" id="node">node</td><td class="desc"> +<p>The node to move.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Iterate">FT_List_Iterate</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_List_Iterate</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_List_Iterator">FT_List_Iterator</a> iterator, + <span class="keyword">void</span>* user ); +</pre> + +<p>Parse a list and calls a given iterator function on each element. Note that parsing is stopped as soon as one of the iterator calls returns a non-zero value.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A handle to the list.</p> +</td></tr> +<tr><td class="val" id="iterator">iterator</td><td class="desc"> +<p>An iterator function, called on each node of the list.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A user-supplied field that is passed as the second argument to the iterator.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The result (a FreeType error code) of the last iterator call.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Iterator">FT_List_Iterator</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FT_List_Iterator</b>)( <a href="ft2-list_processing.html#FT_ListNode">FT_ListNode</a> node, + <span class="keyword">void</span>* user ); +</pre> + +<p>An FT_List iterator function that is called during a list parse by <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="node">node</td><td class="desc"> +<p>The current iteration list node.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer passed to <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>. Can be used to point to the iteration's state.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Finalize">FT_List_Finalize</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_List_Finalize</b>( <a href="ft2-list_processing.html#FT_List">FT_List</a> list, + <a href="ft2-list_processing.html#FT_List_Destructor">FT_List_Destructor</a> destroy, + <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">void</span>* user ); +</pre> + +<p>Destroy all elements in the list as well as the list itself.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="list">list</td><td class="desc"> +<p>A handle to the list.</p> +</td></tr> +<tr><td class="val" id="destroy">destroy</td><td class="desc"> +<p>A list destructor that will be applied to each element of the list. Set this to NULL if not needed.</p> +</td></tr> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>The current memory object that handles deallocation.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A user-supplied field that is passed as the last argument to the destructor.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This function expects that all nodes added by <a href="ft2-list_processing.html#FT_List_Add">FT_List_Add</a> or <a href="ft2-list_processing.html#FT_List_Insert">FT_List_Insert</a> have been dynamically allocated.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_List_Destructor">FT_List_Destructor</h3> +<p>Defined in FT_LIST_H (ftlist.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_List_Destructor</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">void</span>* data, + <span class="keyword">void</span>* user ); +</pre> + +<p>An <a href="ft2-list_processing.html#FT_List">FT_List</a> iterator function that is called during a list finalization by <a href="ft2-list_processing.html#FT_List_Finalize">FT_List_Finalize</a> to destroy all elements in a given list.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="system">system</td><td class="desc"> +<p>The current system object.</p> +</td></tr> +<tr><td class="val" id="data">data</td><td class="desc"> +<p>The current object to destroy.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer passed to <a href="ft2-list_processing.html#FT_List_Iterate">FT_List_Iterate</a>. It can be used to point to the iteration's state.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lzw.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lzw.html new file mode 100644 index 00000000000..a87d60afdbd --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-lzw.html @@ -0,0 +1,149 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>LZW Streams</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Stream_OpenLZW">FT_Stream_OpenLZW</a></td><td></td><td></td><td></td></tr> +</table> + + +<p>This section contains the declaration of LZW-specific functions.</p> + +<div class="section"> +<h3 id="FT_Stream_OpenLZW">FT_Stream_OpenLZW</h3> +<p>Defined in FT_LZW_H (ftlzw.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Stream_OpenLZW</b>( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> source ); +</pre> + +<p>Open a new stream to parse LZW-compressed font files. This is mainly used to support the compressed ‘*.pcf.Z’ fonts that come with XFree86.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stream">stream</td><td class="desc"> +<p>The target embedding stream.</p> +</td></tr> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>The source stream.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The source stream must be opened <i>before</i> calling this function.</p> +<p>Calling the internal function ‘FT_Stream_Close’ on the new stream will <b>not</b> call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.</p> +<p>The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream</p> +<p>In certain builds of the library, LZW compression recognition is automatically handled when calling <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> or <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>. This means that if no font driver is capable of handling the raw compressed file, the library will try to open a LZW stream from it and re-open the face with it.</p> +<p>This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with LZW support.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-mac_specific.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-mac_specific.html new file mode 100644 index 00000000000..27689ce6279 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-mac_specific.html @@ -0,0 +1,374 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Mac Specific Interface</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_New_Face_From_FOND">FT_New_Face_From_FOND</a></td><td><a href="#FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</a></td></tr> +<tr><td><a href="#FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</a></td><td><a href="#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a></td></tr> +<tr><td><a href="#FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</a></td><td><a href="#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a></td></tr> +</table> + + +<p>The following definitions are only available if FreeType is compiled on a Macintosh.</p> + +<div class="section"> +<h3 id="FT_New_Face_From_FOND">FT_New_Face_From_FOND</h3> +<p>Defined in FT_MAC_H (ftmac.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face_From_FOND</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + Handle fond, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) + FT_DEPRECATED_ATTRIBUTE; +</pre> + +<p>Create a new face object from a FOND resource.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library resource.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="fond">fond</td><td class="desc"> +<p>A FOND resource.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>Only supported for the -1 ‘sanity check’ special case.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> +<p>A handle to a new face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>notes</h4> +<p>This function can be used to create <a href="ft2-base_interface.html#FT_Face">FT_Face</a> objects from fonts that are installed in the system as follows.</p> +<pre class="colored"> + fond = GetResource( 'FOND', fontName ); + error = FT_New_Face_From_FOND( library, fond, 0, &face ); +</pre> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GetFile_From_Mac_Name">FT_GetFile_From_Mac_Name</h3> +<p>Defined in FT_MAC_H (ftmac.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GetFile_From_Mac_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, + FSSpec* pathSpec, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) + FT_DEPRECATED_ATTRIBUTE; +</pre> + +<p>Return an FSSpec for the disk file containing the named font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="fontName">fontName</td><td class="desc"> +<p>Mac OS name of the font (e.g., Times New Roman Bold).</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="pathSpec">pathSpec</td><td class="desc"> +<p>FSSpec to the file. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>Index of the face. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GetFile_From_Mac_ATS_Name">FT_GetFile_From_Mac_ATS_Name</h3> +<p>Defined in FT_MAC_H (ftmac.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GetFile_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, + FSSpec* pathSpec, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) + FT_DEPRECATED_ATTRIBUTE; +</pre> + +<p>Return an FSSpec for the disk file containing the named font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="fontName">fontName</td><td class="desc"> +<p>Mac OS name of the font in ATS framework.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="pathSpec">pathSpec</td><td class="desc"> +<p>FSSpec to the file. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>Index of the face. For passing to <a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a>.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_GetFilePath_From_Mac_ATS_Name">FT_GetFilePath_From_Mac_ATS_Name</h3> +<p>Defined in FT_MAC_H (ftmac.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_GetFilePath_From_Mac_ATS_Name</b>( <span class="keyword">const</span> <span class="keyword">char</span>* fontName, + UInt8* path, + UInt32 maxPathSize, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* face_index ) + FT_DEPRECATED_ATTRIBUTE; +</pre> + +<p>Return a pathname of the disk file and face index for given font name that is handled by ATS framework.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="fontName">fontName</td><td class="desc"> +<p>Mac OS name of the font in ATS framework.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="path">path</td><td class="desc"> +<p>Buffer to store pathname of the file. For passing to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>. The client must allocate this buffer before calling this function.</p> +</td></tr> +<tr><td class="val" id="maxPathSize">maxPathSize</td><td class="desc"> +<p>Lengths of the buffer ‘path’ that client allocated.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>Index of the face. For passing to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</h3> +<p>Defined in FT_MAC_H (ftmac.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face_From_FSSpec</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> FSSpec *spec, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) + FT_DEPRECATED_ATTRIBUTE; +</pre> + +<p>Create a new face object from a given resource and typeface index using an FSSpec to the font file.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library resource.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="spec">spec</td><td class="desc"> +<p>FSSpec to the font file.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>The index of the face within the resource. The first face has index 0.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> +<p>A handle to a new face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p><a href="ft2-mac_specific.html#FT_New_Face_From_FSSpec">FT_New_Face_From_FSSpec</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSSpec instead of a path.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</h3> +<p>Defined in FT_MAC_H (ftmac.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Face_From_FSRef</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> FSRef *ref, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> face_index, + <a href="ft2-base_interface.html#FT_Face">FT_Face</a> *aface ) + FT_DEPRECATED_ATTRIBUTE; +</pre> + +<p>Create a new face object from a given resource and typeface index using an FSRef to the font file.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library resource.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="spec">spec</td><td class="desc"> +<p>FSRef to the font file.</p> +</td></tr> +<tr><td class="val" id="face_index">face_index</td><td class="desc"> +<p>The index of the face within the resource. The first face has index 0.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aface">aface</td><td class="desc"> +<p>A handle to a new face object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p><a href="ft2-mac_specific.html#FT_New_Face_From_FSRef">FT_New_Face_From_FSRef</a> is identical to <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a> except it accepts an FSRef instead of a path.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-module_management.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-module_management.html new file mode 100644 index 00000000000..20da2c9170a --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-module_management.html @@ -0,0 +1,779 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Module Management</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Module">FT_Module</a></td><td><a href="#FT_Add_Default_Modules">FT_Add_Default_Modules</a></td><td><a href="#FT_Renderer">FT_Renderer</a></td></tr> +<tr><td><a href="#FT_Module_Constructor">FT_Module_Constructor</a></td><td> </td><td><a href="#FT_Renderer_Class">FT_Renderer_Class</a></td></tr> +<tr><td><a href="#FT_Module_Destructor">FT_Module_Destructor</a></td><td><a href="#FT_Property_Set">FT_Property_Set</a></td><td> </td></tr> +<tr><td><a href="#FT_Module_Requester">FT_Module_Requester</a></td><td><a href="#FT_Property_Get">FT_Property_Get</a></td><td><a href="#FT_Get_Renderer">FT_Get_Renderer</a></td></tr> +<tr><td><a href="#FT_Module_Class">FT_Module_Class</a></td><td> </td><td><a href="#FT_Set_Renderer">FT_Set_Renderer</a></td></tr> +<tr><td> </td><td><a href="#FT_New_Library">FT_New_Library</a></td><td> </td></tr> +<tr><td><a href="#FT_Add_Module">FT_Add_Module</a></td><td><a href="#FT_Done_Library">FT_Done_Library</a></td><td><a href="#FT_Set_Debug_Hook">FT_Set_Debug_Hook</a></td></tr> +<tr><td><a href="#FT_Get_Module">FT_Get_Module</a></td><td><a href="#FT_Reference_Library">FT_Reference_Library</a></td><td> </td></tr> +<tr><td><a href="#FT_Remove_Module">FT_Remove_Module</a></td><td> </td><td><a href="#FT_Driver">FT_Driver</a></td></tr> +</table> + + +<p>The definitions below are used to manage modules within FreeType. Modules can be added, upgraded, and removed at runtime. Additionally, some module properties can be controlled also.</p> +<p>Here is a list of possible values of the ‘module_name’ field in the <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> structure.</p> +<pre class="colored"> + autofitter + bdf + cff + gxvalid + otvalid + pcf + pfr + psaux + pshinter + psnames + raster1, raster5 + sfnt + smooth, smooth-lcd, smooth-lcdv + truetype + type1 + type42 + t1cid + winfonts +</pre> +<p>Note that the FreeType Cache sub-system is not a FreeType module.</p> + +<div class="section"> +<h3 id="FT_Module">FT_Module</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_ModuleRec_* <b>FT_Module</b>; +</pre> + +<p>A handle to a given FreeType module object. Each module can be a font driver, a renderer, or anything else that provides services to the formers.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Module_Constructor">FT_Module_Constructor</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-basic_types.html#FT_Error">FT_Error</a> + (*<b>FT_Module_Constructor</b>)( <a href="ft2-module_management.html#FT_Module">FT_Module</a> module ); +</pre> + +<p>A function used to initialize (not create) a new module object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="module">module</td><td class="desc"> +<p>The module to initialize.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Module_Destructor">FT_Module_Destructor</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Module_Destructor</b>)( <a href="ft2-module_management.html#FT_Module">FT_Module</a> module ); +</pre> + +<p>A function used to finalize (not destroy) a given module object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="module">module</td><td class="desc"> +<p>The module to finalize.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Module_Requester">FT_Module_Requester</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + <span class="keyword">typedef</span> FT_Module_Interface + (*<b>FT_Module_Requester</b>)( <a href="ft2-module_management.html#FT_Module">FT_Module</a> module, + <span class="keyword">const</span> <span class="keyword">char</span>* name ); +</pre> + +<p>A function used to query a given module for a specific interface.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="module">module</td><td class="desc"> +<p>The module to be searched.</p> +</td></tr> +<tr><td class="val" id="name">name</td><td class="desc"> +<p>The name of the interface in the module.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Module_Class">FT_Module_Class</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Module_Class_ + { + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> module_flags; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> module_size; + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> module_version; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> module_requires; + + <span class="keyword">const</span> <span class="keyword">void</span>* module_interface; + + <a href="ft2-module_management.html#FT_Module_Constructor">FT_Module_Constructor</a> module_init; + <a href="ft2-module_management.html#FT_Module_Destructor">FT_Module_Destructor</a> module_done; + <a href="ft2-module_management.html#FT_Module_Requester">FT_Module_Requester</a> get_interface; + + } <b>FT_Module_Class</b>; +</pre> + +<p>The module class descriptor.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="module_flags">module_flags</td><td class="desc"> +<p>Bit flags describing the module.</p> +</td></tr> +<tr><td class="val" id="module_size">module_size</td><td class="desc"> +<p>The size of one module object/instance in bytes.</p> +</td></tr> +<tr><td class="val" id="module_name">module_name</td><td class="desc"> +<p>The name of the module.</p> +</td></tr> +<tr><td class="val" id="module_version">module_version</td><td class="desc"> +<p>The version, as a 16.16 fixed number (major.minor).</p> +</td></tr> +<tr><td class="val" id="module_requires">module_requires</td><td class="desc"> +<p>The version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version 2.0, i.e., 0x20000.</p> +</td></tr> +<tr><td class="val" id="module_init">module_init</td><td class="desc"> +<p>The initializing function.</p> +</td></tr> +<tr><td class="val" id="module_done">module_done</td><td class="desc"> +<p>The finalizing function.</p> +</td></tr> +<tr><td class="val" id="get_interface">get_interface</td><td class="desc"> +<p>The interface requesting function.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Add_Module">FT_Add_Module</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Add_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a>* clazz ); +</pre> + +<p>Add a new module to a given library instance.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="clazz">clazz</td><td class="desc"> +<p>A pointer to class descriptor for the module.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Module">FT_Get_Module</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-module_management.html#FT_Module">FT_Module</a> ) + <b>FT_Get_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <span class="keyword">char</span>* module_name ); +</pre> + +<p>Find a module by its name.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library object.</p> +</td></tr> +<tr><td class="val" id="module_name">module_name</td><td class="desc"> +<p>The module's name (as an ASCII string).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A module handle. 0 if none was found.</p> + +<h4>note</h4> +<p>FreeType's internal modules aren't documented very well, and you should look up the source code for details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Remove_Module">FT_Remove_Module</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Remove_Module</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-module_management.html#FT_Module">FT_Module</a> module ); +</pre> + +<p>Remove a given module from a library instance.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a library object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="module">module</td><td class="desc"> +<p>A handle to a module object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The module object is destroyed by the function in case of success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Add_Default_Modules">FT_Add_Default_Modules</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Add_Default_Modules</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); +</pre> + +<p>Add the set of default drivers to a given library object. This is only useful when you create a library object with <a href="ft2-module_management.html#FT_New_Library">FT_New_Library</a> (usually to plug a custom memory manager).</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a new library object.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Property_Set">FT_Property_Set</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Property_Set</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* property_name, + <span class="keyword">const</span> <span class="keyword">void</span>* value ); +</pre> + +<p>Set a property for a given module.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library the module is part of.</p> +</td></tr> +<tr><td class="val" id="module_name">module_name</td><td class="desc"> +<p>The module name.</p> +</td></tr> +<tr><td class="val" id="property_name">property_name</td><td class="desc"> +<p>The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.</p> +<p>Note that only a few modules have properties.</p> +</td></tr> +<tr><td class="val" id="value">value</td><td class="desc"> +<p>A generic pointer to a variable or structure that gives the new value of the property. The exact definition of ‘value’ is dependent on the property; see the ‘Synopsis’ subsection of the module's documentation.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If ‘module_name’ isn't a valid module name, or ‘property_name’ doesn't specify a valid property, or if ‘value’ doesn't represent a valid value for the given property, an error is returned.</p> +<p>The following example sets property ‘bar’ (a simple integer) in module ‘foo’ to value 1.</p> +<pre class="colored"> + FT_UInt bar; + + + bar = 1; + FT_Property_Set( library, "foo", "bar", &bar ); +</pre> +<p>Note that the FreeType Cache sub-system doesn't recognize module property changes. To avoid glyph lookup confusion within the cache you should call <a href="ft2-cache_subsystem.html#FTC_Manager_Reset">FTC_Manager_Reset</a> to completely flush the cache if a module property gets changed after <a href="ft2-cache_subsystem.html#FTC_Manager_New">FTC_Manager_New</a> has been called.</p> +<p>It is not possible to set properties of the FreeType Cache sub-system itself with FT_Property_Set; use ?FTC_Property_Set? instead.</p> + +<h4>since</h4> +<p>2.4.11</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Property_Get">FT_Property_Get</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Property_Get</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* module_name, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_String">FT_String</a>* property_name, + <span class="keyword">void</span>* value ); +</pre> + +<p>Get a module's property value.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library the module is part of.</p> +</td></tr> +<tr><td class="val" id="module_name">module_name</td><td class="desc"> +<p>The module name.</p> +</td></tr> +<tr><td class="val" id="property_name">property_name</td><td class="desc"> +<p>The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="value">value</td><td class="desc"> +<p>A generic pointer to a variable or structure that gives the value of the property. The exact definition of ‘value’ is dependent on the property; see the ‘Synopsis’ subsection of the module's documentation.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If ‘module_name’ isn't a valid module name, or ‘property_name’ doesn't specify a valid property, or if ‘value’ doesn't represent a valid value for the given property, an error is returned.</p> +<p>The following example gets property ‘baz’ (a range) in module ‘foo’.</p> +<pre class="colored"> + typedef range_ + { + FT_Int32 min; + FT_Int32 max; + + } range; + + range baz; + + + FT_Property_Get( library, "foo", "baz", &baz ); +</pre> +<p>It is not possible to retrieve properties of the FreeType Cache sub-system with FT_Property_Get; use ?FTC_Property_Get? instead.</p> + +<h4>since</h4> +<p>2.4.11</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_New_Library">FT_New_Library</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Library</b>( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-base_interface.html#FT_Library">FT_Library</a> *alibrary ); +</pre> + +<p>This function is used to create a new FreeType library instance from a given memory object. It is thus possible to use libraries with distinct memory allocators within the same program.</p> +<p>Normally, you would call this function (followed by a call to <a href="ft2-module_management.html#FT_Add_Default_Modules">FT_Add_Default_Modules</a> or a series of calls to <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>) instead of <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a> to initialize the FreeType library.</p> +<p>Don't use <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a> but <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a> to destroy a library instance.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>A handle to the original memory object.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="alibrary">alibrary</td><td class="desc"> +<p>A pointer to handle of a new library object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>See the discussion of reference counters in the description of <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Done_Library">FT_Done_Library</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); +</pre> + +<p>Discard a given library object. This closes all drivers and discards all resource objects.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the target library.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>See the discussion of reference counters in the description of <a href="ft2-module_management.html#FT_Reference_Library">FT_Reference_Library</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Reference_Library">FT_Reference_Library</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Reference_Library</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); +</pre> + +<p>A counter gets initialized to 1 at the time an <a href="ft2-base_interface.html#FT_Library">FT_Library</a> structure is created. This function increments the counter. <a href="ft2-module_management.html#FT_Done_Library">FT_Done_Library</a> then only destroys a library if the counter is 1, otherwise it simply decrements the counter.</p> +<p>This function helps in managing life-cycles of structures that reference <a href="ft2-base_interface.html#FT_Library">FT_Library</a> objects.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a target library object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>since</h4> +<p>2.4.2</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Renderer">FT_Renderer</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RendererRec_* <b>FT_Renderer</b>; +</pre> + +<p>A handle to a given FreeType renderer. A renderer is a special module in charge of converting a glyph image to a bitmap, when necessary. Each renderer supports a given glyph image format, and one or more target surface depths.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Renderer_Class">FT_Renderer_Class</h3> +<p>Defined in FT_RENDER_H (ftrender.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Renderer_Class_ + { + <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> root; + + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> glyph_format; + + FT_Renderer_RenderFunc render_glyph; + FT_Renderer_TransformFunc transform_glyph; + FT_Renderer_GetCBoxFunc get_glyph_cbox; + FT_Renderer_SetModeFunc set_mode; + + <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a>* raster_class; + + } <b>FT_Renderer_Class</b>; +</pre> + +<p>The renderer module class descriptor.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="root">root</td><td class="desc"> +<p>The root <a href="ft2-module_management.html#FT_Module_Class">FT_Module_Class</a> fields.</p> +</td></tr> +<tr><td class="val" id="glyph_format">glyph_format</td><td class="desc"> +<p>The glyph image format this renderer handles.</p> +</td></tr> +<tr><td class="val" id="render_glyph">render_glyph</td><td class="desc"> +<p>A method used to render the image that is in a given glyph slot into a bitmap.</p> +</td></tr> +<tr><td class="val" id="transform_glyph">transform_glyph</td><td class="desc"> +<p>A method used to transform the image that is in a given glyph slot.</p> +</td></tr> +<tr><td class="val" id="get_glyph_cbox">get_glyph_cbox</td><td class="desc"> +<p>A method used to access the glyph's cbox.</p> +</td></tr> +<tr><td class="val" id="set_mode">set_mode</td><td class="desc"> +<p>A method used to pass additional parameters.</p> +</td></tr> +<tr><td class="val" id="raster_class">raster_class</td><td class="desc"> +<p>For <a href="ft2-basic_types.html#FT_Glyph_Format">FT_GLYPH_FORMAT_OUTLINE</a> renderers only. This is a pointer to its raster's class.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Renderer">FT_Get_Renderer</h3> +<p>Defined in FT_RENDER_H (ftrender.h).</p> +<pre> + FT_EXPORT( <a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a> ) + <b>FT_Get_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> format ); +</pre> + +<p>Retrieve the current renderer for a given glyph format.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library object.</p> +</td></tr> +<tr><td class="val" id="format">format</td><td class="desc"> +<p>The glyph format.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A renderer handle. 0 if none found.</p> + +<h4>note</h4> +<p>An error will be returned if a module already exists by that name, or if the module requires a version of FreeType that is too great.</p> +<p>To add a new renderer, simply use <a href="ft2-module_management.html#FT_Add_Module">FT_Add_Module</a>. To retrieve a renderer by its name, use <a href="ft2-module_management.html#FT_Get_Module">FT_Get_Module</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Renderer">FT_Set_Renderer</h3> +<p>Defined in FT_RENDER_H (ftrender.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Renderer</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-module_management.html#FT_Renderer">FT_Renderer</a> renderer, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_params, + <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a>* parameters ); +</pre> + +<p>Set the current renderer to use, and set additional mode.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="renderer">renderer</td><td class="desc"> +<p>A handle to the renderer object.</p> +</td></tr> +<tr><td class="val" id="num_params">num_params</td><td class="desc"> +<p>The number of additional parameters.</p> +</td></tr> +<tr><td class="val" id="parameters">parameters</td><td class="desc"> +<p>Additional parameters.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.</p> +<p>This doesn't change the current renderer for other formats.</p> +<p>Currently, only the B/W renderer, if compiled with FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels anti-aliasing mode; this option must be set directly in ‘ftraster.c’ and is undefined by default) accepts a single tag ‘pal5’ to set its gray palette as a character string with 5 elements. Consequently, the third and fourth argument are zero normally.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Debug_Hook">FT_Set_Debug_Hook</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Set_Debug_Hook</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> hook_index, + FT_DebugHook_Func debug_hook ); +</pre> + +<p>Set a debug hook function for debugging the interpreter of a font format.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library object.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="hook_index">hook_index</td><td class="desc"> +<p>The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.</p> +</td></tr> +<tr><td class="val" id="debug_hook">debug_hook</td><td class="desc"> +<p>The function used to debug the interpreter.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.</p> +<p>Since the internal headers of FreeType are no longer installed, the symbol ‘FT_DEBUG_HOOK_TRUETYPE’ isn't available publicly. This is a bug and will be fixed in a forthcoming release.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Driver">FT_Driver</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_DriverRec_* <b>FT_Driver</b>; +</pre> + +<p>A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-multiple_masters.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-multiple_masters.html new file mode 100644 index 00000000000..1a0ffbb0ab6 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-multiple_masters.html @@ -0,0 +1,482 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Multiple Masters</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_MM_Axis">FT_MM_Axis</a></td><td><a href="#FT_Get_MM_Var">FT_Get_MM_Var</a></td></tr> +<tr><td><a href="#FT_Multi_Master">FT_Multi_Master</a></td><td><a href="#FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</a></td></tr> +<tr><td><a href="#FT_Var_Axis">FT_Var_Axis</a></td><td><a href="#FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</a></td></tr> +<tr><td><a href="#FT_Var_Named_Style">FT_Var_Named_Style</a></td><td><a href="#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a></td></tr> +<tr><td><a href="#FT_MM_Var">FT_MM_Var</a></td><td><a href="#FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</a></td></tr> +<tr><td><a href="#FT_Get_Multi_Master">FT_Get_Multi_Master</a></td><td></td></tr> +</table> + + +<p>The following types and functions are used to manage Multiple Master fonts, i.e., the selection of specific design instances by setting design axis coordinates.</p> +<p>George Williams has extended this interface to make it work with both Type 1 Multiple Masters fonts and GX distortable (var) fonts. Some of these routines only work with MM fonts, others will work with both types. They are similar enough that a consistent interface makes sense.</p> + +<div class="section"> +<h3 id="FT_MM_Axis">FT_MM_Axis</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Axis_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* name; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> minimum; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> maximum; + + } <b>FT_MM_Axis</b>; +</pre> + +<p>A simple structure used to model a given axis in design space for Multiple Masters fonts.</p> +<p>This structure can't be used for GX var fonts.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="name">name</td><td class="desc"> +<p>The axis's name.</p> +</td></tr> +<tr><td class="val" id="minimum">minimum</td><td class="desc"> +<p>The axis's minimum design coordinate.</p> +</td></tr> +<tr><td class="val" id="maximum">maximum</td><td class="desc"> +<p>The axis's maximum design coordinate.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Multi_Master">FT_Multi_Master</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Multi_Master_ + { + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_axis; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_designs; + <a href="ft2-multiple_masters.html#FT_MM_Axis">FT_MM_Axis</a> axis[T1_MAX_MM_AXIS]; + + } <b>FT_Multi_Master</b>; +</pre> + +<p>A structure used to model the axes and space of a Multiple Masters font.</p> +<p>This structure can't be used for GX var fonts.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="num_axis">num_axis</td><td class="desc"> +<p>Number of axes. Cannot exceed 4.</p> +</td></tr> +<tr><td class="val" id="num_designs">num_designs</td><td class="desc"> +<p>Number of designs; should be normally 2^num_axis even though the Type 1 specification strangely allows for intermediate designs to be present. This number cannot exceed 16.</p> +</td></tr> +<tr><td class="val" id="axis">axis</td><td class="desc"> +<p>A table of axis descriptors.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Var_Axis">FT_Var_Axis</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Axis_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* name; + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> minimum; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> def; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> maximum; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> strid; + + } <b>FT_Var_Axis</b>; +</pre> + +<p>A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="name">name</td><td class="desc"> +<p>The axis's name. Not always meaningful for GX.</p> +</td></tr> +<tr><td class="val" id="minimum">minimum</td><td class="desc"> +<p>The axis's minimum design coordinate.</p> +</td></tr> +<tr><td class="val" id="def">def</td><td class="desc"> +<p>The axis's default design coordinate. FreeType computes meaningful default values for MM; it is then an integer value, not in 16.16 format.</p> +</td></tr> +<tr><td class="val" id="maximum">maximum</td><td class="desc"> +<p>The axis's maximum design coordinate.</p> +</td></tr> +<tr><td class="val" id="tag">tag</td><td class="desc"> +<p>The axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.</p> +</td></tr> +<tr><td class="val" id="strid">strid</td><td class="desc"> +<p>The entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Var_Named_Style">FT_Var_Named_Style</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Var_Named_Style_ + { + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> strid; + + } <b>FT_Var_Named_Style</b>; +</pre> + +<p>A simple structure used to model a named style in a GX var font.</p> +<p>This structure can't be used for MM fonts.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="coords">coords</td><td class="desc"> +<p>The design coordinates for this style. This is an array with one entry for each axis.</p> +</td></tr> +<tr><td class="val" id="strid">strid</td><td class="desc"> +<p>The entry in ‘name’ table identifying this style.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MM_Var">FT_MM_Var</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MM_Var_ + { + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_axis; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_designs; + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_namedstyles; + <a href="ft2-multiple_masters.html#FT_Var_Axis">FT_Var_Axis</a>* axis; + <a href="ft2-multiple_masters.html#FT_Var_Named_Style">FT_Var_Named_Style</a>* namedstyle; + + } <b>FT_MM_Var</b>; +</pre> + +<p>A structure used to model the axes and space of a Multiple Masters or GX var distortable font.</p> +<p>Some fields are specific to one format and not to the other.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="num_axis">num_axis</td><td class="desc"> +<p>The number of axes. The maximum value is 4 for MM; no limit in GX.</p> +</td></tr> +<tr><td class="val" id="num_designs">num_designs</td><td class="desc"> +<p>The number of designs; should be normally 2^num_axis for MM fonts. Not meaningful for GX (where every glyph could have a different number of designs).</p> +</td></tr> +<tr><td class="val" id="num_namedstyles">num_namedstyles</td><td class="desc"> +<p>The number of named styles; only meaningful for GX that allows certain design coordinates to have a string ID (in the ‘name’ table) associated with them. The font can tell the user that, for example, Weight=1.5 is ‘Bold’.</p> +</td></tr> +<tr><td class="val" id="axis">axis</td><td class="desc"> +<p>A table of axis descriptors. GX fonts contain slightly more data than MM.</p> +</td></tr> +<tr><td class="val" id="namedstyles">namedstyles</td><td class="desc"> +<p>A table of named styles. Only meaningful with GX.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Multi_Master">FT_Get_Multi_Master</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Multi_Master</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-multiple_masters.html#FT_Multi_Master">FT_Multi_Master</a> *amaster ); +</pre> + +<p>Retrieve the Multiple Master descriptor of a given font.</p> +<p>This function can't be used with GX fonts.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="amaster">amaster</td><td class="desc"> +<p>The Multiple Masters descriptor.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_MM_Var">FT_Get_MM_Var</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_MM_Var</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-multiple_masters.html#FT_MM_Var">FT_MM_Var</a>* *amaster ); +</pre> + +<p>Retrieve the Multiple Master/GX var descriptor of a given font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="amaster">amaster</td><td class="desc"> +<p>The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_MM_Design_Coordinates">FT_Set_MM_Design_Coordinates</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_MM_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a>* coords ); +</pre> + +<p>For Multiple Masters fonts, choose an interpolated font design through design coordinates.</p> +<p>This function can't be used with GX fonts.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="num_coords">num_coords</td><td class="desc"> +<p>The number of design coordinates (must be equal to the number of axes in the font).</p> +</td></tr> +<tr><td class="val" id="coords">coords</td><td class="desc"> +<p>An array of design coordinates.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Var_Design_Coordinates">FT_Set_Var_Design_Coordinates</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Var_Design_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); +</pre> + +<p>For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="num_coords">num_coords</td><td class="desc"> +<p>The number of design coordinates (must be equal to the number of axes in the font).</p> +</td></tr> +<tr><td class="val" id="coords">coords</td><td class="desc"> +<p>An array of design coordinates.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_MM_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); +</pre> + +<p>For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend coordinates.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="num_coords">num_coords</td><td class="desc"> +<p>The number of design coordinates (must be equal to the number of axes in the font).</p> +</td></tr> +<tr><td class="val" id="coords">coords</td><td class="desc"> +<p>The design coordinates array (each element must be between 0 and 1.0).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Set_Var_Blend_Coordinates">FT_Set_Var_Blend_Coordinates</h3> +<p>Defined in FT_MULTIPLE_MASTERS_H (ftmm.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Set_Var_Blend_Coordinates</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_coords, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a>* coords ); +</pre> + +<p>This is another name of <a href="ft2-multiple_masters.html#FT_Set_MM_Blend_Coordinates">FT_Set_MM_Blend_Coordinates</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-ot_validation.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-ot_validation.html new file mode 100644 index 00000000000..f2afad43480 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-ot_validation.html @@ -0,0 +1,247 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>OpenType Validation</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_OpenType_Validate">FT_OpenType_Validate</a></td><td> </td><td></td></tr> +<tr><td><a href="#FT_OpenType_Free">FT_OpenType_Free</a></td><td><a href="#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a></td><td></td></tr> +</table> + + +<p>This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p> + +<div class="section"> +<h3 id="FT_OpenType_Validate">FT_OpenType_Validate</h3> +<p>Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_OpenType_Validate</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> validation_flags, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *BASE_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GDEF_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GPOS_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *GSUB_table, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> *JSTF_table ); +</pre> + +<p>Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library that actually does the text layout can access those tables without error checking (which can be quite time consuming).</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="validation_flags">validation_flags</td><td class="desc"> +<p>A bit field that specifies the tables to be validated. See <a href="ft2-ot_validation.html#FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</a> for possible values.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="BASE_table">BASE_table</td><td class="desc"> +<p>A pointer to the BASE table.</p> +</td></tr> +<tr><td class="val" id="GDEF_table">GDEF_table</td><td class="desc"> +<p>A pointer to the GDEF table.</p> +</td></tr> +<tr><td class="val" id="GPOS_table">GPOS_table</td><td class="desc"> +<p>A pointer to the GPOS table.</p> +</td></tr> +<tr><td class="val" id="GSUB_table">GSUB_table</td><td class="desc"> +<p>A pointer to the GSUB table.</p> +</td></tr> +<tr><td class="val" id="JSTF_table">JSTF_table</td><td class="desc"> +<p>A pointer to the JSTF table.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with OpenType fonts, returning an error otherwise.</p> +<p>After use, the application should deallocate the five tables with <a href="ft2-ot_validation.html#FT_OpenType_Free">FT_OpenType_Free</a>. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OpenType_Free">FT_OpenType_Free</h3> +<p>Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_OpenType_Free</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bytes">FT_Bytes</a> table ); +</pre> + +<p>Free the buffer allocated by OpenType validator.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="table">table</td><td class="desc"> +<p>The pointer to the buffer that is allocated by <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a>.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This function must be used to free the buffer allocated by <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a> only.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_VALIDATE_OTXXX">FT_VALIDATE_OTXXX</h3> +<p>Defined in FT_OPENTYPE_VALIDATE_H (ftotval.h).</p> +<pre> +#define <a href="ft2-ot_validation.html#FT_VALIDATE_BASE">FT_VALIDATE_BASE</a> 0x0100 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_GDEF">FT_VALIDATE_GDEF</a> 0x0200 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_GPOS">FT_VALIDATE_GPOS</a> 0x0400 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_GSUB">FT_VALIDATE_GSUB</a> 0x0800 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_JSTF">FT_VALIDATE_JSTF</a> 0x1000 +#define <a href="ft2-ot_validation.html#FT_VALIDATE_MATH">FT_VALIDATE_MATH</a> 0x2000 + +#define <a href="ft2-ot_validation.html#FT_VALIDATE_OT">FT_VALIDATE_OT</a> <a href="ft2-ot_validation.html#FT_VALIDATE_BASE">FT_VALIDATE_BASE</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_GDEF">FT_VALIDATE_GDEF</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_GPOS">FT_VALIDATE_GPOS</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_GSUB">FT_VALIDATE_GSUB</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_JSTF">FT_VALIDATE_JSTF</a> | \ + <a href="ft2-ot_validation.html#FT_VALIDATE_MATH">FT_VALIDATE_MATH</a> +</pre> + +<p>A list of bit-field constants used with <a href="ft2-ot_validation.html#FT_OpenType_Validate">FT_OpenType_Validate</a> to indicate which OpenType tables should be validated.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_VALIDATE_BASE">FT_VALIDATE_BASE</td><td class="desc"> +<p>Validate BASE table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_GDEF">FT_VALIDATE_GDEF</td><td class="desc"> +<p>Validate GDEF table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_GPOS">FT_VALIDATE_GPOS</td><td class="desc"> +<p>Validate GPOS table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_GSUB">FT_VALIDATE_GSUB</td><td class="desc"> +<p>Validate GSUB table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_JSTF">FT_VALIDATE_JSTF</td><td class="desc"> +<p>Validate JSTF table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_MATH">FT_VALIDATE_MATH</td><td class="desc"> +<p>Validate MATH table.</p> +</td></tr> +<tr><td class="val" id="FT_VALIDATE_OT">FT_VALIDATE_OT</td><td class="desc"> +<p>Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-outline_processing.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-outline_processing.html new file mode 100644 index 00000000000..a08da1cac72 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-outline_processing.html @@ -0,0 +1,964 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Outline Processing</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Outline">FT_Outline</a></td><td><a href="#FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</a></td></tr> +<tr><td><a href="#FT_Outline_New">FT_Outline_New</a></td><td><a href="#FT_Outline_Render">FT_Outline_Render</a></td></tr> +<tr><td><a href="#FT_Outline_Done">FT_Outline_Done</a></td><td><a href="#FT_Outline_Decompose">FT_Outline_Decompose</a></td></tr> +<tr><td><a href="#FT_Outline_Copy">FT_Outline_Copy</a></td><td><a href="#FT_Outline_Funcs">FT_Outline_Funcs</a></td></tr> +<tr><td><a href="#FT_Outline_Translate">FT_Outline_Translate</a></td><td><a href="#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a></td></tr> +<tr><td><a href="#FT_Outline_Transform">FT_Outline_Transform</a></td><td><a href="#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a></td></tr> +<tr><td><a href="#FT_Outline_Embolden">FT_Outline_Embolden</a></td><td><a href="#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a></td></tr> +<tr><td><a href="#FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</a></td><td><a href="#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a></td></tr> +<tr><td><a href="#FT_Outline_Reverse">FT_Outline_Reverse</a></td><td> </td></tr> +<tr><td><a href="#FT_Outline_Check">FT_Outline_Check</a></td><td><a href="#FT_Orientation">FT_Orientation</a></td></tr> +<tr><td> </td><td><a href="#FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</a></td></tr> +<tr><td><a href="#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a></td><td> </td></tr> +<tr><td><a href="#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a></td><td><a href="#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a></td></tr> +<tr><td> </td><td></td></tr> +</table> + + +<p>This section contains routines used to create and destroy scalable glyph images known as ‘outlines’. These can also be measured, transformed, and converted into bitmaps and pixmaps.</p> + +<div class="section"> +<h3 id="FT_Outline">FT_Outline</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_ + { + <span class="keyword">short</span> n_contours; /* number of contours in glyph */ + <span class="keyword">short</span> n_points; /* number of points in the glyph */ + + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* points; /* the outline's points */ + <span class="keyword">char</span>* tags; /* the points flags */ + <span class="keyword">short</span>* contours; /* the contour end points */ + + <span class="keyword">int</span> flags; /* outline masks */ + + } <b>FT_Outline</b>; +</pre> + +<p>This structure is used to describe an outline to the scan-line converter.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="n_contours">n_contours</td><td class="desc"> +<p>The number of contours in the outline.</p> +</td></tr> +<tr><td class="val" id="n_points">n_points</td><td class="desc"> +<p>The number of points in the outline.</p> +</td></tr> +<tr><td class="val" id="points">points</td><td class="desc"> +<p>A pointer to an array of ‘n_points’ <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> elements, giving the outline's point coordinates.</p> +</td></tr> +<tr><td class="val" id="tags">tags</td><td class="desc"> +<p>A pointer to an array of ‘n_points’ chars, giving each outline point's type.</p> +<p>If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.</p> +<p>Bit 1 is meaningful for ‘off’ points only. If set, it indicates a third-order Bézier arc control point; and a second-order control point if unset.</p> +<p>If bit 2 is set, bits 5-7 contain the drop-out mode (as defined in the OpenType specification; the value is the same as the argument to the SCANMODE instruction).</p> +<p>Bits 3 and 4 are reserved for internal purposes.</p> +</td></tr> +<tr><td class="val" id="contours">contours</td><td class="desc"> +<p>An array of ‘n_contours’ shorts, giving the end point of each contour within the outline. For example, the first contour is defined by the points ‘0’ to ‘contours[0]’, the second one is defined by the points ‘contours[0]+1’ to ‘contours[1]’, etc.</p> +</td></tr> +<tr><td class="val" id="flags">flags</td><td class="desc"> +<p>A set of bit flags used to characterize the outline and give hints to the scan-converter and hinter on how to convert/grid-fit it. See <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_XXX</a>.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The B/W rasterizer only checks bit 2 in the ‘tags’ array for the first point of each contour. The drop-out mode as given with <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a>, <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a>, and <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a> in ‘flags’ is then overridden.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_New">FT_Outline_New</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_New</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> numPoints, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> numContours, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *anoutline ); + + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + FT_Outline_New_Internal( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> numPoints, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> numContours, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *anoutline ); +</pre> + +<p>Create a new outline of a given size.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to the library object from where the outline is allocated. Note however that the new outline will <b>not</b> necessarily be <b>freed</b>, when destroying the library, by <a href="ft2-base_interface.html#FT_Done_FreeType">FT_Done_FreeType</a>.</p> +</td></tr> +<tr><td class="val" id="numPoints">numPoints</td><td class="desc"> +<p>The maximum number of points within the outline. Must be smaller than or equal to 0xFFFF (65535).</p> +</td></tr> +<tr><td class="val" id="numContours">numContours</td><td class="desc"> +<p>The maximum number of contours within the outline. This value must be in the range 0 to ‘numPoints’.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="anoutline">anoutline</td><td class="desc"> +<p>A handle to the new outline.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Done">FT_Outline_Done</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Done</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); + + + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + FT_Outline_Done_Internal( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Destroy an outline created with <a href="ft2-outline_processing.html#FT_Outline_New">FT_Outline_New</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle of the library object used to allocate the outline.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the outline object to be discarded.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If the outline's ‘owner’ field is not set, only the outline descriptor will be released.</p> +<p>The reason why this function takes an ‘library’ parameter is simply to use ft_mem_free().</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Copy">FT_Outline_Copy</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Copy</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* source, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> *target ); +</pre> + +<p>Copy an outline into another one. Both objects must have the same sizes (number of points & number of contours) when this function is called.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>A handle to the source outline.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="target">target</td><td class="desc"> +<p>A handle to the target outline.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Translate">FT_Outline_Translate</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Translate</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xOffset, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> yOffset ); +</pre> + +<p>Apply a simple translation to the points of an outline.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the target outline descriptor.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="xOffset">xOffset</td><td class="desc"> +<p>The horizontal offset.</p> +</td></tr> +<tr><td class="val" id="yOffset">yOffset</td><td class="desc"> +<p>The vertical offset.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Transform">FT_Outline_Transform</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Transform</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a>* matrix ); +</pre> + +<p>Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the target outline descriptor.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="matrix">matrix</td><td class="desc"> +<p>A pointer to the transformation matrix.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>You can use <a href="ft2-outline_processing.html#FT_Outline_Translate">FT_Outline_Translate</a> if you need to translate the outline's points.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Embolden">FT_Outline_Embolden</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Embolden</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> strength ); +</pre> + +<p>Embolden an outline. The new outline will be at most 4 times ‘strength’ pixels wider and higher. You may think of the left and bottom borders as unchanged.</p> +<p>Negative ‘strength’ values to reduce the outline thickness are possible also.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A handle to the target outline.</p> +</td></tr> +</table> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="strength">strength</td><td class="desc"> +<p>How strong the glyph is emboldened. Expressed in 26.6 pixel format.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The used algorithm to increase or decrease the thickness of the glyph doesn't change the number of points; this means that certain situations like acute angles or intersections are sometimes handled incorrectly.</p> +<p>If you need ‘better’ metrics values you should call <a href="ft2-outline_processing.html#FT_Outline_Get_CBox">FT_Outline_Get_CBox</a> or <a href="ft2-outline_processing.html#FT_Outline_Get_BBox">FT_Outline_Get_BBox</a>.</p> +<p>Example call:</p> +<pre class="colored"> + FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); + if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) + FT_Outline_Embolden( &face->slot->outline, strength ); +</pre> +<p>To get meaningful results, font scaling values must be set with functions like <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> before calling FT_Render_Glyph.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_EmboldenXY">FT_Outline_EmboldenXY</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_EmboldenXY</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> xstrength, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> ystrength ); +</pre> + +<p>Embolden an outline. The new outline will be ‘xstrength’ pixels wider and ‘ystrength’ pixels higher. Otherwise, it is similar to <a href="ft2-outline_processing.html#FT_Outline_Embolden">FT_Outline_Embolden</a>, which uses the same strength in both directions.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Reverse">FT_Outline_Reverse</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Reverse</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.</p> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the target outline descriptor.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This function toggles the bit flag <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_REVERSE_FILL</a> in the outline's ‘flags’ field.</p> +<p>It shouldn't be used by a normal client application, unless it knows what it is doing.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Check">FT_Outline_Check</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Check</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>Check the contents of an outline descriptor.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A handle to a source outline.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Get_CBox">FT_Outline_Get_CBox</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Outline_Get_CBox</b>( <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *acbox ); +</pre> + +<p>Return an outline's ‘control box’. The control box encloses all the outline's points, including Bézier control points. Though it coincides with the exact bounding box for most glyphs, it can be slightly larger in some situations (like when rotating an outline that contains Bézier outside arcs).</p> +<p>Computing the control box is very fast, while getting the bounding box can take much more time as it needs to walk over all segments and arcs in the outline. To get the latter, you can use the ‘ftbbox’ component, which is dedicated to this single task.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the source outline descriptor.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="acbox">acbox</td><td class="desc"> +<p>The outline's control box.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>See <a href="ft2-glyph_management.html#FT_Glyph_Get_CBox">FT_Glyph_Get_CBox</a> for a discussion of tricky fonts.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Get_BBox">FT_Outline_Get_BBox</h3> +<p>Defined in FT_BBOX_H (ftbbox.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Get_BBox</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> *abbox ); +</pre> + +<p>Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm that returns <i>very</i> quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the source outline.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="abbox">abbox</td><td class="desc"> +<p>The outline's exact bounding box.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If the font is tricky and the glyph has been loaded with <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_NO_SCALE</a>, the resulting BBox is meaningless. To get reasonable values for the BBox it is necessary to load the glyph at a large ppem value (so that the hinting instructions can properly shift and scale the subglyphs), then extracting the BBox, which can be eventually converted back to font units.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Get_Bitmap">FT_Outline_Get_Bitmap</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Get_Bitmap</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a> *abitmap ); +</pre> + +<p>Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a FreeType library object.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the source outline descriptor.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="abitmap">abitmap</td><td class="desc"> +<p>A pointer to the target bitmap descriptor.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function does NOT CREATE the bitmap, it only renders an outline image within the one you pass to it! Consequently, the various fields in ‘abitmap’ should be set accordingly.</p> +<p>It will use the raster corresponding to the default glyph format.</p> +<p>The value of the ‘num_grays’ field in ‘abitmap’ is ignored. If you select the gray-level rasterizer, and you want less than 256 gray levels, you have to use <a href="ft2-outline_processing.html#FT_Outline_Render">FT_Outline_Render</a> directly.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Render">FT_Outline_Render</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Render</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a>* params ); +</pre> + +<p>Render an outline within a bitmap using the current scan-convert. This function uses an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure as an argument, allowing advanced features like direct composition, translucency, etc.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A handle to a FreeType library object.</p> +</td></tr> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the source outline descriptor.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="params">params</td><td class="desc"> +<p>A pointer to an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure used to describe the rendering operation.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You should know what you are doing and how <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> works to use this function.</p> +<p>The field ‘params.source’ will be set to ‘outline’ before the scan converter is called, which means that the value you give to it is actually ignored.</p> +<p>The gray-level rasterizer always uses 256 gray levels. If you want less gray levels, you have to provide your own span callback. See the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> value of the ‘flags’ field in the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure for more details.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Decompose">FT_Outline_Decompose</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Outline_Decompose</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline, + <span class="keyword">const</span> <a href="ft2-outline_processing.html#FT_Outline_Funcs">FT_Outline_Funcs</a>* func_interface, + <span class="keyword">void</span>* user ); +</pre> + +<p>Walk over an outline's structure to decompose it into individual segments and Bézier arcs. This function also emits ‘move to’ operations to indicate the start of new contours in the outline.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A pointer to the source target.</p> +</td></tr> +<tr><td class="val" id="func_interface">func_interface</td><td class="desc"> +<p>A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.</p> +</td></tr> +</table> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer that is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>A contour that contains a single point only is represented by a ‘move to’ operation followed by ‘line to’ to the same point. In most cases, it is best to filter this out before using the outline for stroking purposes (otherwise it would result in a visible dot when round caps are used).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Funcs">FT_Outline_Funcs</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Outline_Funcs_ + { + <a href="ft2-outline_processing.html#FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</a> move_to; + <a href="ft2-outline_processing.html#FT_Outline_LineToFunc">FT_Outline_LineToFunc</a> line_to; + <a href="ft2-outline_processing.html#FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</a> conic_to; + <a href="ft2-outline_processing.html#FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</a> cubic_to; + + <span class="keyword">int</span> shift; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> delta; + + } <b>FT_Outline_Funcs</b>; +</pre> + +<p>A structure to hold various function pointers used during outline decomposition in order to emit segments, conic, and cubic Béziers.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="move_to">move_to</td><td class="desc"> +<p>The ‘move to’ emitter.</p> +</td></tr> +<tr><td class="val" id="line_to">line_to</td><td class="desc"> +<p>The segment emitter.</p> +</td></tr> +<tr><td class="val" id="conic_to">conic_to</td><td class="desc"> +<p>The second-order Bézier arc emitter.</p> +</td></tr> +<tr><td class="val" id="cubic_to">cubic_to</td><td class="desc"> +<p>The third-order Bézier arc emitter.</p> +</td></tr> +<tr><td class="val" id="shift">shift</td><td class="desc"> +<p>The shift that is applied to coordinates before they are sent to the emitter.</p> +</td></tr> +<tr><td class="val" id="delta">delta</td><td class="desc"> +<p>The delta that is applied to coordinates before they are sent to the emitter, but after the shift.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The point coordinates sent to the emitters are the transformed version of the original coordinates (this is important for high accuracy during scan-conversion). The transformation is simple:</p> +<pre class="colored"> + x' = (x << shift) - delta + y' = (x << shift) - delta +</pre> +<p>Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_MoveToFunc">FT_Outline_MoveToFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_MoveToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_MoveTo_Func <b>FT_Outline_MoveToFunc</b> +</pre> + +<p>A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.</p> +<p>A ‘move to’ is emitted to start a new contour in an outline.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the target point of the ‘move to’.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_LineToFunc">FT_Outline_LineToFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_LineToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_LineTo_Func <b>FT_Outline_LineToFunc</b> +</pre> + +<p>A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.</p> +<p>A ‘line to’ is emitted to indicate a segment in the outline.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the target point of the ‘line to’.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_ConicToFunc">FT_Outline_ConicToFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_ConicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_ConicTo_Func <b>FT_Outline_ConicToFunc</b> +</pre> + +<p>A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.</p> +<p>A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="control">control</td><td class="desc"> +<p>An intermediate control point between the last position and the new target in ‘to’.</p> +</td></tr> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the target end point of the conic arc.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_CubicToFunc">FT_Outline_CubicToFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Outline_CubicToFunc</b>)( <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control1, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* control2, + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a>* to, + <span class="keyword">void</span>* user ); + +#define FT_Outline_CubicTo_Func <b>FT_Outline_CubicToFunc</b> +</pre> + +<p>A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.</p> +<p>A ‘cubic to’ is emitted to indicate a third-order Bézier arc.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="control1">control1</td><td class="desc"> +<p>A pointer to the first Bézier control point.</p> +</td></tr> +<tr><td class="val" id="control2">control2</td><td class="desc"> +<p>A pointer to the second Bézier control point.</p> +</td></tr> +<tr><td class="val" id="to">to</td><td class="desc"> +<p>A pointer to the target end point.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A typeless pointer, which is passed from the caller of the decomposition function.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Orientation">FT_Orientation</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Orientation_ + { + <a href="ft2-outline_processing.html#FT_ORIENTATION_TRUETYPE">FT_ORIENTATION_TRUETYPE</a> = 0, + <a href="ft2-outline_processing.html#FT_ORIENTATION_POSTSCRIPT">FT_ORIENTATION_POSTSCRIPT</a> = 1, + <a href="ft2-outline_processing.html#FT_ORIENTATION_FILL_RIGHT">FT_ORIENTATION_FILL_RIGHT</a> = <a href="ft2-outline_processing.html#FT_ORIENTATION_TRUETYPE">FT_ORIENTATION_TRUETYPE</a>, + <a href="ft2-outline_processing.html#FT_ORIENTATION_FILL_LEFT">FT_ORIENTATION_FILL_LEFT</a> = <a href="ft2-outline_processing.html#FT_ORIENTATION_POSTSCRIPT">FT_ORIENTATION_POSTSCRIPT</a>, + <a href="ft2-outline_processing.html#FT_ORIENTATION_NONE">FT_ORIENTATION_NONE</a> + + } <b>FT_Orientation</b>; +</pre> + +<p>A list of values used to describe an outline's contour orientation.</p> +<p>The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_ORIENTATION_TRUETYPE">FT_ORIENTATION_TRUETYPE</td><td class="desc"> +<p>According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must be unfilled.</p> +</td></tr> +<tr><td class="val" id="FT_ORIENTATION_POSTSCRIPT">FT_ORIENTATION_POSTSCRIPT</td><td class="desc"> +<p>According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.</p> +</td></tr> +<tr><td class="val" id="FT_ORIENTATION_FILL_RIGHT">FT_ORIENTATION_FILL_RIGHT</td><td class="desc"> +<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a>, but is used to remember that in TrueType, everything that is to the right of the drawing direction of a contour must be filled.</p> +</td></tr> +<tr><td class="val" id="FT_ORIENTATION_FILL_LEFT">FT_ORIENTATION_FILL_LEFT</td><td class="desc"> +<p>This is identical to <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a>, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.</p> +</td></tr> +<tr><td class="val" id="FT_ORIENTATION_NONE">FT_ORIENTATION_NONE</td><td class="desc"> +<p>The orientation cannot be determined. That is, different parts of the glyph have different orientation.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Outline_Get_Orientation">FT_Outline_Get_Orientation</h3> +<p>Defined in FT_OUTLINE_H (ftoutln.h).</p> +<pre> + FT_EXPORT( <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a> ) + <b>FT_Outline_Get_Orientation</b>( <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>* outline ); +</pre> + +<p>This function analyzes a glyph outline and tries to compute its fill orientation (see <a href="ft2-outline_processing.html#FT_Orientation">FT_Orientation</a>). This is done by integrating the total area covered by the outline. The positive integral corresponds to the clockwise orientation and <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_POSTSCRIPT</a> is returned. The negative integral corresponds to the counter-clockwise orientation and <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> is returned.</p> +<p>Note that this will return <a href="ft2-outline_processing.html#FT_Orientation">FT_ORIENTATION_TRUETYPE</a> for empty outlines.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="outline">outline</td><td class="desc"> +<p>A handle to the source outline.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The orientation.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_OUTLINE_XXX">FT_OUTLINE_XXX</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> +#define <a href="ft2-outline_processing.html#FT_OUTLINE_NONE">FT_OUTLINE_NONE</a> 0x0 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_OWNER">FT_OUTLINE_OWNER</a> 0x1 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_EVEN_ODD_FILL">FT_OUTLINE_EVEN_ODD_FILL</a> 0x2 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_REVERSE_FILL">FT_OUTLINE_REVERSE_FILL</a> 0x4 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_IGNORE_DROPOUTS">FT_OUTLINE_IGNORE_DROPOUTS</a> 0x8 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_SMART_DROPOUTS">FT_OUTLINE_SMART_DROPOUTS</a> 0x10 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_INCLUDE_STUBS">FT_OUTLINE_INCLUDE_STUBS</a> 0x20 + +#define <a href="ft2-outline_processing.html#FT_OUTLINE_HIGH_PRECISION">FT_OUTLINE_HIGH_PRECISION</a> 0x100 +#define <a href="ft2-outline_processing.html#FT_OUTLINE_SINGLE_PASS">FT_OUTLINE_SINGLE_PASS</a> 0x200 + + + /* these constants are deprecated; use the corresponding */ + /* `<b>FT_OUTLINE_XXX</b>' values instead */ +#define ft_outline_none <a href="ft2-outline_processing.html#FT_OUTLINE_NONE">FT_OUTLINE_NONE</a> +#define ft_outline_owner <a href="ft2-outline_processing.html#FT_OUTLINE_OWNER">FT_OUTLINE_OWNER</a> +#define ft_outline_even_odd_fill <a href="ft2-outline_processing.html#FT_OUTLINE_EVEN_ODD_FILL">FT_OUTLINE_EVEN_ODD_FILL</a> +#define ft_outline_reverse_fill <a href="ft2-outline_processing.html#FT_OUTLINE_REVERSE_FILL">FT_OUTLINE_REVERSE_FILL</a> +#define ft_outline_ignore_dropouts <a href="ft2-outline_processing.html#FT_OUTLINE_IGNORE_DROPOUTS">FT_OUTLINE_IGNORE_DROPOUTS</a> +#define ft_outline_high_precision <a href="ft2-outline_processing.html#FT_OUTLINE_HIGH_PRECISION">FT_OUTLINE_HIGH_PRECISION</a> +#define ft_outline_single_pass <a href="ft2-outline_processing.html#FT_OUTLINE_SINGLE_PASS">FT_OUTLINE_SINGLE_PASS</a> +</pre> + +<p>A list of bit-field constants use for the flags in an outline's ‘flags’ field.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_OUTLINE_NONE">FT_OUTLINE_NONE</td><td class="desc"> +<p>Value 0 is reserved.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_OWNER">FT_OUTLINE_OWNER</td><td class="desc"> +<p>If set, this flag indicates that the outline's field arrays (i.e., ‘points’, ‘flags’, and ‘contours’) are ‘owned’ by the outline object, and should thus be freed when it is destroyed.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_EVEN_ODD_FILL">FT_OUTLINE_EVEN_ODD_FILL</td><td class="desc"> +<p>By default, outlines are filled using the non-zero winding rule. If set to 1, the outline will be filled using the even-odd fill rule (only works with the smooth rasterizer).</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_REVERSE_FILL">FT_OUTLINE_REVERSE_FILL</td><td class="desc"> +<p>By default, outside contours of an outline are oriented in clock-wise direction, as defined in the TrueType specification. This flag is set if the outline uses the opposite direction (typically for Type 1 fonts). This flag is ignored by the scan converter.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_IGNORE_DROPOUTS">FT_OUTLINE_IGNORE_DROPOUTS</td><td class="desc"> +<p>By default, the scan converter will try to detect drop-outs in an outline and correct the glyph bitmap to ensure consistent shape continuity. If set, this flag hints the scan-line converter to ignore such cases. See below for more information.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_SMART_DROPOUTS">FT_OUTLINE_SMART_DROPOUTS</td><td class="desc"> +<p>Select smart dropout control. If unset, use simple dropout control. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a> is set. See below for more information.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_INCLUDE_STUBS">FT_OUTLINE_INCLUDE_STUBS</td><td class="desc"> +<p>If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a> is set. See below for more information.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_HIGH_PRECISION">FT_OUTLINE_HIGH_PRECISION</td><td class="desc"> +<p>This flag indicates that the scan-line converter should try to convert this outline to bitmaps with the highest possible quality. It is typically set for small character sizes. Note that this is only a hint that might be completely ignored by a given scan-converter.</p> +</td></tr> +<tr><td class="val" id="FT_OUTLINE_SINGLE_PASS">FT_OUTLINE_SINGLE_PASS</td><td class="desc"> +<p>This flag is set to force a given scan-converter to only use a single pass over the outline to render a bitmap glyph image. Normally, it is set for very large character sizes. It is only a hint that might be completely ignored by a given scan-converter.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The flags <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_IGNORE_DROPOUTS</a>, <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_SMART_DROPOUTS</a>, and <a href="ft2-outline_processing.html#FT_OUTLINE_XXX">FT_OUTLINE_INCLUDE_STUBS</a> are ignored by the smooth rasterizer.</p> +<p>There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>.</p> +<p>Please refer to the description of the ‘SCANTYPE’ instruction in the OpenType specification (in file ‘ttinst1.doc’) how simple drop-outs, smart drop-outs, and stubs are defined.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-pfr_fonts.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-pfr_fonts.html new file mode 100644 index 00000000000..7fe83922cfa --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-pfr_fonts.html @@ -0,0 +1,242 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>PFR Fonts</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a></td><td><a href="#FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</a></td><td><a href="#FT_Get_PFR_Advance">FT_Get_PFR_Advance</a></td></tr> +</table> + + +<p>This section contains the declaration of PFR-specific functions.</p> + +<div class="section"> +<h3 id="FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</h3> +<p>Defined in FT_PFR_H (ftpfr.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PFR_Metrics</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *aoutline_resolution, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> *ametrics_resolution, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *ametrics_x_scale, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *ametrics_y_scale ); +</pre> + +<p>Return the outline and metrics resolutions of a given PFR face.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>Handle to the input face. It can be a non-PFR face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aoutline_resolution">aoutline_resolution</td><td class="desc"> +<p>Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).</p> +</td></tr> +<tr><td class="val" id="ametrics_resolution">ametrics_resolution</td><td class="desc"> +<p>Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).</p> +</td></tr> +<tr><td class="val" id="ametrics_x_scale">ametrics_x_scale</td><td class="desc"> +<p>A 16.16 fixed-point number used to scale distance expressed in metrics units to device sub-pixels. This is equivalent to ‘face->size->x_scale’, but for metrics only. Optional (parameter can be NULL).</p> +</td></tr> +<tr><td class="val" id="ametrics_y_scale">ametrics_y_scale</td><td class="desc"> +<p>Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_PFR_Kerning">FT_Get_PFR_Kerning</h3> +<p>Defined in FT_PFR_H (ftpfr.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PFR_Kerning</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> left, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> right, + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> *avector ); +</pre> + +<p>Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="left">left</td><td class="desc"> +<p>Index of the left glyph.</p> +</td></tr> +<tr><td class="val" id="right">right</td><td class="desc"> +<p>Index of the right glyph.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="avector">avector</td><td class="desc"> +<p>A kerning vector.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function always return distances in original PFR metrics units. This is unlike <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a> with the <a href="ft2-base_interface.html#FT_Kerning_Mode">FT_KERNING_UNSCALED</a> mode, which always returns distances converted to outline units.</p> +<p>You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to scale these to device sub-pixels.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_PFR_Advance">FT_Get_PFR_Advance</h3> +<p>Defined in FT_PFR_H (ftpfr.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PFR_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> *aadvance ); +</pre> + +<p>Return a given glyph advance, expressed in original metrics units, from a PFR font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +<tr><td class="val" id="gindex">gindex</td><td class="desc"> +<p>The glyph index.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aadvance">aadvance</td><td class="desc"> +<p>The glyph advance in metrics units.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You can use the ‘x_scale’ or ‘y_scale’ results of <a href="ft2-pfr_fonts.html#FT_Get_PFR_Metrics">FT_Get_PFR_Metrics</a> to convert the advance to device sub-pixels (i.e., 1/64th of pixels).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-quick_advance.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-quick_advance.html new file mode 100644 index 00000000000..fc88a6752bd --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-quick_advance.html @@ -0,0 +1,224 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Quick retrieval of advance values</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Get_Advance">FT_Get_Advance</a></td><td> </td></tr> +<tr><td><a href="#FT_Get_Advances">FT_Get_Advances</a></td><td><a href="#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a></td></tr> +</table> + + +<p>This section contains functions to quickly extract advance values without handling glyph outlines, if possible.</p> + +<div class="section"> +<h3 id="FT_Get_Advance">FT_Get_Advance</h3> +<p>Defined in FT_ADVANCES_H (ftadvanc.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Advance</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> gindex, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvance ); +</pre> + +<p>Retrieve the advance value of a given glyph outline in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> +</td></tr> +<tr><td class="val" id="gindex">gindex</td><td class="desc"> +<p>The glyph index.</p> +</td></tr> +<tr><td class="val" id="load_flags">load_flags</td><td class="desc"> +<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, used to determine what kind of advances you need.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="padvance">padvance</td><td class="desc"> +<p>The advance value. If scaling is performed (based on the value of ‘load_flags’), the advance value is in 16.16 format. Otherwise, it is in font units.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p> +<p>A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Advances">FT_Get_Advances</h3> +<p>Defined in FT_ADVANCES_H (ftadvanc.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Advances</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> start, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> count, + <a href="ft2-basic_types.html#FT_Int32">FT_Int32</a> load_flags, + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> *padvances ); +</pre> + +<p>Retrieve the advance values of several glyph outlines in an <a href="ft2-base_interface.html#FT_Face">FT_Face</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>The source <a href="ft2-base_interface.html#FT_Face">FT_Face</a> handle.</p> +</td></tr> +<tr><td class="val" id="start">start</td><td class="desc"> +<p>The first glyph index.</p> +</td></tr> +<tr><td class="val" id="count">count</td><td class="desc"> +<p>The number of advance values you want to retrieve.</p> +</td></tr> +<tr><td class="val" id="load_flags">load_flags</td><td class="desc"> +<p>A set of bit flags similar to those used when calling <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="padvance">padvance</td><td class="desc"> +<p>The advance values. This array, to be provided by the caller, must contain at least ‘count’ elements.</p> +<p>If scaling is performed (based on the value of ‘load_flags’), the advance values are in 16.16 format. Otherwise, they are in font units.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_VERTICAL_LAYOUT</a> is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function may fail if you use <a href="ft2-quick_advance.html#FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</a> and if the corresponding font backend doesn't have a quick way to retrieve the advances.</p> +<p>Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_ADVANCE_FLAG_FAST_ONLY">FT_ADVANCE_FLAG_FAST_ONLY</h3> +<p>Defined in FT_ADVANCES_H (ftadvanc.h).</p> +<pre> +#define <b>FT_ADVANCE_FLAG_FAST_ONLY</b> 0x20000000UL +</pre> + +<p>A bit-flag to be OR-ed with the ‘flags’ parameter of the <a href="ft2-quick_advance.html#FT_Get_Advance">FT_Get_Advance</a> and <a href="ft2-quick_advance.html#FT_Get_Advances">FT_Get_Advances</a> functions.</p> +<p>If set, it indicates that you want these functions to fail if the corresponding hinting mode or font driver doesn't allow for very quick advance computation.</p> +<p>Typically, glyphs that are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.</p> +<p>Normal and bytecode hinted modes that require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-raster.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-raster.html new file mode 100644 index 00000000000..2dba6ec3cae --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-raster.html @@ -0,0 +1,532 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Scanline Converter</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Raster">FT_Raster</a></td><td> </td><td><a href="#FT_Raster_Funcs">FT_Raster_Funcs</a></td></tr> +<tr><td><a href="#FT_Span">FT_Span</a></td><td><a href="#FT_Raster_NewFunc">FT_Raster_NewFunc</a></td><td> </td></tr> +<tr><td><a href="#FT_SpanFunc">FT_SpanFunc</a></td><td><a href="#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a></td><td><a href="#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a></td></tr> +<tr><td> </td><td><a href="#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a></td><td><a href="#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a></td></tr> +<tr><td><a href="#FT_Raster_Params">FT_Raster_Params</a></td><td><a href="#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a></td><td></td></tr> +<tr><td><a href="#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</a></td><td><a href="#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a></td><td></td></tr> +</table> + + +<p>This section contains technical definitions.</p> + +<div class="section"> +<h3 id="FT_Raster">FT_Raster</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_RasterRec_* <b>FT_Raster</b>; +</pre> + +<p>An opaque handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Span">FT_Span</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Span_ + { + <span class="keyword">short</span> x; + <span class="keyword">unsigned</span> <span class="keyword">short</span> len; + <span class="keyword">unsigned</span> <span class="keyword">char</span> coverage; + + } <b>FT_Span</b>; +</pre> + +<p>A structure used to model a single span of gray pixels when rendering an anti-aliased bitmap.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="x">x</td><td class="desc"> +<p>The span's horizontal start position.</p> +</td></tr> +<tr><td class="val" id="len">len</td><td class="desc"> +<p>The span's length in pixels.</p> +</td></tr> +<tr><td class="val" id="coverage">coverage</td><td class="desc"> +<p>The span color/coverage, ranging from 0 (background) to 255 (foreground).</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This structure is used by the span drawing callback type named <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> that takes the y coordinate of the span as a parameter.</p> +<p>The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_SpanFunc">FT_SpanFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_SpanFunc</b>)( <span class="keyword">int</span> y, + <span class="keyword">int</span> count, + <span class="keyword">const</span> <a href="ft2-raster.html#FT_Span">FT_Span</a>* spans, + <span class="keyword">void</span>* user ); + +#define FT_Raster_Span_Func <b>FT_SpanFunc</b> +</pre> + +<p>A function used as a call-back by the anti-aliased renderer in order to let client applications draw themselves the gray pixel spans on each scan line.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="y">y</td><td class="desc"> +<p>The scanline's y coordinate.</p> +</td></tr> +<tr><td class="val" id="count">count</td><td class="desc"> +<p>The number of spans to draw on this scanline.</p> +</td></tr> +<tr><td class="val" id="spans">spans</td><td class="desc"> +<p>A table of ‘count’ spans to draw on the scanline.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>User-supplied data that is passed to the callback.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.</p> +<p>This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.</p> +<p>Note that the ‘count’ field cannot be greater than a fixed value defined by the ‘FT_MAX_GRAY_SPANS’ configuration macro in ‘ftoption.h’. By default, this value is set to 32, which means that if there are more than 32 spans on a given scanline, the callback is called several times with the same ‘y’ parameter in order to draw all callbacks.</p> +<p>Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_Params">FT_Raster_Params</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Params_ + { + <span class="keyword">const</span> <a href="ft2-basic_types.html#FT_Bitmap">FT_Bitmap</a>* target; + <span class="keyword">const</span> <span class="keyword">void</span>* source; + <span class="keyword">int</span> flags; + <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> gray_spans; + <a href="ft2-raster.html#FT_SpanFunc">FT_SpanFunc</a> black_spans; /* unused */ + <a href="ft2-raster.html#FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</a> bit_test; /* unused */ + <a href="ft2-raster.html#FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</a> bit_set; /* unused */ + <span class="keyword">void</span>* user; + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> clip_box; + + } <b>FT_Raster_Params</b>; +</pre> + +<p>A structure to hold the arguments used by a raster's render function.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="target">target</td><td class="desc"> +<p>The target bitmap.</p> +</td></tr> +<tr><td class="val" id="source">source</td><td class="desc"> +<p>A pointer to the source glyph image (e.g., an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a>).</p> +</td></tr> +<tr><td class="val" id="flags">flags</td><td class="desc"> +<p>The rendering flags.</p> +</td></tr> +<tr><td class="val" id="gray_spans">gray_spans</td><td class="desc"> +<p>The gray span drawing callback.</p> +</td></tr> +<tr><td class="val" id="black_spans">black_spans</td><td class="desc"> +<p>Unused.</p> +</td></tr> +<tr><td class="val" id="bit_test">bit_test</td><td class="desc"> +<p>Unused.</p> +</td></tr> +<tr><td class="val" id="bit_set">bit_set</td><td class="desc"> +<p>Unused.</p> +</td></tr> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>User-supplied data that is passed to each drawing callback.</p> +</td></tr> +<tr><td class="val" id="clip_box">clip_box</td><td class="desc"> +<p>An optional clipping box. It is only used in direct rendering mode. Note that coordinates here should be expressed in <i>integer</i> pixels (and not in 26.6 fixed-point units).</p> +</td></tr> +</table> + +<h4>note</h4> +<p>An anti-aliased glyph bitmap is drawn if the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_AA</a> bit flag is set in the ‘flags’ field, otherwise a monochrome bitmap is generated.</p> +<p>If the <a href="ft2-raster.html#FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_DIRECT</a> bit flag is set in ‘flags’, the raster will call the ‘gray_spans’ callback to draw gray pixel spans. This allows direct composition over a pre-existing bitmap through user-provided callbacks to perform the span drawing and composition. Not supported by the monochrome rasterizer.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_RASTER_FLAG_XXX">FT_RASTER_FLAG_XXX</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> +#define <a href="ft2-raster.html#FT_RASTER_FLAG_DEFAULT">FT_RASTER_FLAG_DEFAULT</a> 0x0 +#define <a href="ft2-raster.html#FT_RASTER_FLAG_AA">FT_RASTER_FLAG_AA</a> 0x1 +#define <a href="ft2-raster.html#FT_RASTER_FLAG_DIRECT">FT_RASTER_FLAG_DIRECT</a> 0x2 +#define <a href="ft2-raster.html#FT_RASTER_FLAG_CLIP">FT_RASTER_FLAG_CLIP</a> 0x4 + + /* these constants are deprecated; use the corresponding */ + /* `<b>FT_RASTER_FLAG_XXX</b>' values instead */ +#define ft_raster_flag_default <a href="ft2-raster.html#FT_RASTER_FLAG_DEFAULT">FT_RASTER_FLAG_DEFAULT</a> +#define ft_raster_flag_aa <a href="ft2-raster.html#FT_RASTER_FLAG_AA">FT_RASTER_FLAG_AA</a> +#define ft_raster_flag_direct <a href="ft2-raster.html#FT_RASTER_FLAG_DIRECT">FT_RASTER_FLAG_DIRECT</a> +#define ft_raster_flag_clip <a href="ft2-raster.html#FT_RASTER_FLAG_CLIP">FT_RASTER_FLAG_CLIP</a> +</pre> + +<p>A list of bit flag constants as used in the ‘flags’ field of a <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_RASTER_FLAG_DEFAULT">FT_RASTER_FLAG_DEFAULT</td><td class="desc"> +<p>This value is 0.</p> +</td></tr> +<tr><td class="val" id="FT_RASTER_FLAG_AA">FT_RASTER_FLAG_AA</td><td class="desc"> +<p>This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).</p> +</td></tr> +<tr><td class="val" id="FT_RASTER_FLAG_DIRECT">FT_RASTER_FLAG_DIRECT</td><td class="desc"> +<p>This flag is set to indicate direct rendering. In this mode, client applications must provide their own span callback. This lets them directly draw or compose over an existing bitmap. If this bit is not set, the target pixmap's buffer <i>must</i> be zeroed before rendering.</p> +<p>Direct rendering is only possible with anti-aliased glyphs.</p> +</td></tr> +<tr><td class="val" id="FT_RASTER_FLAG_CLIP">FT_RASTER_FLAG_CLIP</td><td class="desc"> +<p>This flag is only used in direct rendering mode. If set, the output will be clipped to a box specified in the ‘clip_box’ field of the <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure.</p> +<p>Note that by default, the glyph bitmap is clipped to the target pixmap, except in direct rendering mode where all spans are generated if no clipping box is set.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_NewFunc">FT_Raster_NewFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_NewFunc</b>)( <span class="keyword">void</span>* memory, + <a href="ft2-raster.html#FT_Raster">FT_Raster</a>* raster ); + +#define FT_Raster_New_Func <b>FT_Raster_NewFunc</b> +</pre> + +<p>A function used to create a new raster object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>A handle to the memory allocator.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="raster">raster</td><td class="desc"> +<p>A handle to the new raster object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Error code. 0 means success.</p> + +<h4>note</h4> +<p>The ‘memory’ parameter is a typeless pointer in order to avoid un-wanted dependencies on the rest of the FreeType code. In practice, it is an <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_DoneFunc">FT_Raster_DoneFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Raster_DoneFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster ); + +#define FT_Raster_Done_Func <b>FT_Raster_DoneFunc</b> +</pre> + +<p>A function used to destroy a given raster object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="raster">raster</td><td class="desc"> +<p>A handle to the raster object.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_ResetFunc">FT_Raster_ResetFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Raster_ResetFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, + <span class="keyword">unsigned</span> <span class="keyword">char</span>* pool_base, + <span class="keyword">unsigned</span> <span class="keyword">long</span> pool_size ); + +#define FT_Raster_Reset_Func <b>FT_Raster_ResetFunc</b> +</pre> + +<p>FreeType provides an area of memory called the ‘render pool’, available to all registered rasters. This pool can be freely used during a given scan-conversion but is shared by all rasters. Its content is thus transient.</p> +<p>This function is called each time the render pool changes, or just after a new raster object is created.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="raster">raster</td><td class="desc"> +<p>A handle to the new raster object.</p> +</td></tr> +<tr><td class="val" id="pool_base">pool_base</td><td class="desc"> +<p>The address in memory of the render pool.</p> +</td></tr> +<tr><td class="val" id="pool_size">pool_size</td><td class="desc"> +<p>The size in bytes of the render pool.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Rasters can ignore the render pool and rely on dynamic memory allocation if they want to (a handle to the memory allocator is passed to the raster constructor). However, this is not recommended for efficiency purposes.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_SetModeFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, + <span class="keyword">unsigned</span> <span class="keyword">long</span> mode, + <span class="keyword">void</span>* args ); + +#define FT_Raster_Set_Mode_Func <b>FT_Raster_SetModeFunc</b> +</pre> + +<p>This function is a generic facility to change modes or attributes in a given raster. This can be used for debugging purposes, or simply to allow implementation-specific ‘features’ in a given raster module.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="raster">raster</td><td class="desc"> +<p>A handle to the new raster object.</p> +</td></tr> +<tr><td class="val" id="mode">mode</td><td class="desc"> +<p>A 4-byte tag used to name the mode or property.</p> +</td></tr> +<tr><td class="val" id="args">args</td><td class="desc"> +<p>A pointer to the new mode/property to use.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_RenderFunc">FT_Raster_RenderFunc</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_RenderFunc</b>)( <a href="ft2-raster.html#FT_Raster">FT_Raster</a> raster, + <span class="keyword">const</span> <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a>* params ); + +#define FT_Raster_Render_Func <b>FT_Raster_RenderFunc</b> +</pre> + +<p>Invoke a given raster to scan-convert a given glyph image into a target bitmap.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="raster">raster</td><td class="desc"> +<p>A handle to the raster object.</p> +</td></tr> +<tr><td class="val" id="params">params</td><td class="desc"> +<p>A pointer to an <a href="ft2-raster.html#FT_Raster_Params">FT_Raster_Params</a> structure used to store the rendering parameters.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Error code. 0 means success.</p> + +<h4>note</h4> +<p>The exact format of the source image depends on the raster's glyph format defined in its <a href="ft2-raster.html#FT_Raster_Funcs">FT_Raster_Funcs</a> structure. It can be an <a href="ft2-outline_processing.html#FT_Outline">FT_Outline</a> or anything else in order to support a large array of glyph formats.</p> +<p>Note also that the render function can fail and return a ‘FT_Err_Unimplemented_Feature’ error code if the raster used does not support direct composition.</p> +<p>XXX: For now, the standard raster doesn't support direct composition but this should change for the final release (see the files ‘demos/src/ftgrays.c’ and ‘demos/src/ftgrays2.c’ for examples of distinct implementations that support direct composition).</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_Funcs">FT_Raster_Funcs</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_Raster_Funcs_ + { + <a href="ft2-basic_types.html#FT_Glyph_Format">FT_Glyph_Format</a> glyph_format; + <a href="ft2-raster.html#FT_Raster_NewFunc">FT_Raster_NewFunc</a> raster_new; + <a href="ft2-raster.html#FT_Raster_ResetFunc">FT_Raster_ResetFunc</a> raster_reset; + <a href="ft2-raster.html#FT_Raster_SetModeFunc">FT_Raster_SetModeFunc</a> raster_set_mode; + <a href="ft2-raster.html#FT_Raster_RenderFunc">FT_Raster_RenderFunc</a> raster_render; + <a href="ft2-raster.html#FT_Raster_DoneFunc">FT_Raster_DoneFunc</a> raster_done; + + } <b>FT_Raster_Funcs</b>; +</pre> + +<p>A structure used to describe a given raster class to the library.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="glyph_format">glyph_format</td><td class="desc"> +<p>The supported glyph format for this raster.</p> +</td></tr> +<tr><td class="val" id="raster_new">raster_new</td><td class="desc"> +<p>The raster constructor.</p> +</td></tr> +<tr><td class="val" id="raster_reset">raster_reset</td><td class="desc"> +<p>Used to reset the render pool within the raster.</p> +</td></tr> +<tr><td class="val" id="raster_render">raster_render</td><td class="desc"> +<p>A function to render a glyph into a given bitmap.</p> +</td></tr> +<tr><td class="val" id="raster_done">raster_done</td><td class="desc"> +<p>The raster destructor.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_BitTest_Func">FT_Raster_BitTest_Func</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">int</span> + (*<b>FT_Raster_BitTest_Func</b>)( <span class="keyword">int</span> y, + <span class="keyword">int</span> x, + <span class="keyword">void</span>* user ); +</pre> + +<p>Deprecated, unimplemented.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Raster_BitSet_Func">FT_Raster_BitSet_Func</h3> +<p>Defined in FT_IMAGE_H (ftimage.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Raster_BitSet_Func</b>)( <span class="keyword">int</span> y, + <span class="keyword">int</span> x, + <span class="keyword">void</span>* user ); +</pre> + +<p>Deprecated, unimplemented.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sfnt_names.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sfnt_names.html new file mode 100644 index 00000000000..40b2449cd7f --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sfnt_names.html @@ -0,0 +1,256 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>SFNT Names</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_SfntName">FT_SfntName</a></td></tr> +<tr><td><a href="#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a></td></tr> +<tr><td><a href="#FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</a></td></tr> +<tr><td><a href="#FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</a></td></tr> +<tr><td><a href="#FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</a></td></tr> +</table> + + +<p>The TrueType and OpenType specifications allow the inclusion of a special ‘names table’ in font files. This table contains textual (and internationalized) information regarding the font, like family name, copyright, version, etc.</p> +<p>The definitions below are used to access them if available.</p> +<p>Note that this has nothing to do with glyph names!</p> + +<div class="section"> +<h3 id="FT_SfntName">FT_SfntName</h3> +<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_SfntName_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> platform_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> encoding_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> language_id; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> name_id; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* string; /* this string is *not* null-terminated! */ + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> string_len; /* in bytes */ + + } <b>FT_SfntName</b>; +</pre> + +<p>A structure used to model an SFNT ‘name’ table entry.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="platform_id">platform_id</td><td class="desc"> +<p>The platform ID for ‘string’.</p> +</td></tr> +<tr><td class="val" id="encoding_id">encoding_id</td><td class="desc"> +<p>The encoding ID for ‘string’.</p> +</td></tr> +<tr><td class="val" id="language_id">language_id</td><td class="desc"> +<p>The language ID for ‘string’.</p> +</td></tr> +<tr><td class="val" id="name_id">name_id</td><td class="desc"> +<p>An identifier for ‘string’.</p> +</td></tr> +<tr><td class="val" id="string">string</td><td class="desc"> +<p>The ‘name’ string. Note that its format differs depending on the (platform,encoding) pair. It can be a Pascal String, a UTF-16 one, etc.</p> +<p>Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details.</p> +</td></tr> +<tr><td class="val" id="string_len">string_len</td><td class="desc"> +<p>The length of ‘string’ in bytes.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>Possible values for ‘platform_id’, ‘encoding_id’, ‘language_id’, and ‘name_id’ are given in the file ‘ttnameid.h’. For details please refer to the TrueType or OpenType specification.</p> +<p>See also <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a>, <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a>, <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a>, <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a>, and <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a>.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</h3> +<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> ) + <b>FT_Get_Sfnt_Name_Count</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Retrieve the number of name strings in the SFNT ‘name’ table.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The number of strings in the ‘name’ table.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Sfnt_Name">FT_Get_Sfnt_Name</h3> +<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_Sfnt_Name</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> idx, + <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> *aname ); +</pre> + +<p>Retrieve a string of the SFNT ‘name’ table for a given index.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the source face.</p> +</td></tr> +<tr><td class="val" id="idx">idx</td><td class="desc"> +<p>The index of the ‘name’ string.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aname">aname</td><td class="desc"> +<p>The indexed <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structure.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.</p> +<p>Use <a href="ft2-sfnt_names.html#FT_Get_Sfnt_Name_Count">FT_Get_Sfnt_Name_Count</a> to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</h3> +<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p> +<pre> +#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 'f' ) +</pre> + +<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to make FT_Open_Face() ignore preferred family subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY">FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</h3> +<p>Defined in FT_SFNT_NAMES_H (ftsnames.h).</p> +<pre> +#define <b>FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'i', 'g', 'p', 's' ) +</pre> + +<p>A constant used as the tag of <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems that have a 4-face-per-family restriction.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sizes_management.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sizes_management.html new file mode 100644 index 00000000000..703dd6cd367 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-sizes_management.html @@ -0,0 +1,202 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Size Management</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_New_Size">FT_New_Size</a></td><td><a href="#FT_Done_Size">FT_Done_Size</a></td><td><a href="#FT_Activate_Size">FT_Activate_Size</a></td><td></td></tr> +</table> + + +<p>When creating a new face object (e.g., with <a href="ft2-base_interface.html#FT_New_Face">FT_New_Face</a>), an <a href="ft2-base_interface.html#FT_Size">FT_Size</a> object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.</p> +<p>It is however possible to create more sizes for a given face, mostly in order to manage several character pixel sizes of the same font family and style. See <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> and <a href="ft2-sizes_management.html#FT_Done_Size">FT_Done_Size</a>.</p> +<p>Note that <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a> and <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a> only modify the contents of the current ‘active’ size; you thus need to use <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> to change it.</p> +<p>99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.</p> + +<div class="section"> +<h3 id="FT_New_Size">FT_New_Size</h3> +<p>Defined in FT_SIZES_H (ftsizes.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_New_Size</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-base_interface.html#FT_Size">FT_Size</a>* size ); +</pre> + +<p>Create a new size object from a given face object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to a parent face object.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="asize">asize</td><td class="desc"> +<p>A handle to a new size object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>You need to call <a href="ft2-sizes_management.html#FT_Activate_Size">FT_Activate_Size</a> in order to select the new size for upcoming calls to <a href="ft2-base_interface.html#FT_Set_Pixel_Sizes">FT_Set_Pixel_Sizes</a>, <a href="ft2-base_interface.html#FT_Set_Char_Size">FT_Set_Char_Size</a>, <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a>, <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a>, etc.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Done_Size">FT_Done_Size</h3> +<p>Defined in FT_SIZES_H (ftsizes.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Done_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size ); +</pre> + +<p>Discard a given size object. Note that <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a> automatically discards all size objects allocated with <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="size">size</td><td class="desc"> +<p>A handle to a target size object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Activate_Size">FT_Activate_Size</h3> +<p>Defined in FT_SIZES_H (ftsizes.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Activate_Size</b>( <a href="ft2-base_interface.html#FT_Size">FT_Size</a> size ); +</pre> + +<p>Even though it is possible to create several size objects for a given face (see <a href="ft2-sizes_management.html#FT_New_Size">FT_New_Size</a> for details), functions like <a href="ft2-base_interface.html#FT_Load_Glyph">FT_Load_Glyph</a> or <a href="ft2-base_interface.html#FT_Load_Char">FT_Load_Char</a> only use the one that has been activated last to determine the ‘current character pixel size’.</p> +<p>This function can be used to ‘activate’ a previously created size object.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="size">size</td><td class="desc"> +<p>A handle to a target size object.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-system_interface.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-system_interface.html new file mode 100644 index 00000000000..f1d11919aa3 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-system_interface.html @@ -0,0 +1,401 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>System Interface</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Memory">FT_Memory</a></td><td><a href="#FT_MemoryRec">FT_MemoryRec</a></td><td><a href="#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a></td></tr> +<tr><td><a href="#FT_Alloc_Func">FT_Alloc_Func</a></td><td><a href="#FT_Stream">FT_Stream</a></td><td><a href="#FT_StreamRec">FT_StreamRec</a></td></tr> +<tr><td><a href="#FT_Free_Func">FT_Free_Func</a></td><td><a href="#FT_StreamDesc">FT_StreamDesc</a></td><td></td></tr> +<tr><td><a href="#FT_Realloc_Func">FT_Realloc_Func</a></td><td><a href="#FT_Stream_IoFunc">FT_Stream_IoFunc</a></td><td></td></tr> +</table> + + +<p>This section contains various definitions related to memory management and i/o access. You need to understand this information if you want to use a custom memory manager or you own i/o streams.</p> + +<div class="section"> +<h3 id="FT_Memory">FT_Memory</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_MemoryRec_* <b>FT_Memory</b>; +</pre> + +<p>A handle to a given memory manager object, defined with an <a href="ft2-system_interface.html#FT_MemoryRec">FT_MemoryRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Alloc_Func">FT_Alloc_Func</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span>* + (*<b>FT_Alloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">long</span> size ); +</pre> + +<p>A function used to allocate ‘size’ bytes from ‘memory’.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>A handle to the source memory manager.</p> +</td></tr> +<tr><td class="val" id="size">size</td><td class="desc"> +<p>The size in bytes to allocate.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Address of new memory block. 0 in case of failure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Free_Func">FT_Free_Func</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Free_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">void</span>* block ); +</pre> + +<p>A function used to release a given block of memory.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>A handle to the source memory manager.</p> +</td></tr> +<tr><td class="val" id="block">block</td><td class="desc"> +<p>The address of the target memory block.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Realloc_Func">FT_Realloc_Func</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span>* + (*<b>FT_Realloc_Func</b>)( <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory, + <span class="keyword">long</span> cur_size, + <span class="keyword">long</span> new_size, + <span class="keyword">void</span>* block ); +</pre> + +<p>A function used to re-allocate a given block of memory.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>A handle to the source memory manager.</p> +</td></tr> +<tr><td class="val" id="cur_size">cur_size</td><td class="desc"> +<p>The block's current size in bytes.</p> +</td></tr> +<tr><td class="val" id="new_size">new_size</td><td class="desc"> +<p>The block's requested new size.</p> +</td></tr> +<tr><td class="val" id="block">block</td><td class="desc"> +<p>The block's current address.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>New block address. 0 in case of memory shortage.</p> + +<h4>note</h4> +<p>In case of error, the old block must still be available.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_MemoryRec">FT_MemoryRec</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">struct</span> FT_MemoryRec_ + { + <span class="keyword">void</span>* user; + <a href="ft2-system_interface.html#FT_Alloc_Func">FT_Alloc_Func</a> alloc; + <a href="ft2-system_interface.html#FT_Free_Func">FT_Free_Func</a> free; + <a href="ft2-system_interface.html#FT_Realloc_Func">FT_Realloc_Func</a> realloc; + }; +</pre> + +<p>A structure used to describe a given memory manager to FreeType 2.</p> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="user">user</td><td class="desc"> +<p>A generic typeless pointer for user data.</p> +</td></tr> +<tr><td class="val" id="alloc">alloc</td><td class="desc"> +<p>A pointer type to an allocation function.</p> +</td></tr> +<tr><td class="val" id="free">free</td><td class="desc"> +<p>A pointer type to an memory freeing function.</p> +</td></tr> +<tr><td class="val" id="realloc">realloc</td><td class="desc"> +<p>A pointer type to a reallocation function.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stream">FT_Stream</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_* <b>FT_Stream</b>; +</pre> + +<p>A handle to an input stream.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_StreamDesc">FT_StreamDesc</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">union</span> FT_StreamDesc_ + { + <span class="keyword">long</span> value; + <span class="keyword">void</span>* pointer; + + } <b>FT_StreamDesc</b>; +</pre> + +<p>A union type used to store either a long or a pointer. This is used to store a file descriptor or a ‘FILE*’ in an input stream.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stream_IoFunc">FT_Stream_IoFunc</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">long</span> + (*<b>FT_Stream_IoFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream, + <span class="keyword">unsigned</span> <span class="keyword">long</span> offset, + <span class="keyword">unsigned</span> <span class="keyword">char</span>* buffer, + <span class="keyword">unsigned</span> <span class="keyword">long</span> count ); +</pre> + +<p>A function used to seek and read data from a given input stream.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stream">stream</td><td class="desc"> +<p>A handle to the source stream.</p> +</td></tr> +<tr><td class="val" id="offset">offset</td><td class="desc"> +<p>The offset of read in stream (always from start).</p> +</td></tr> +<tr><td class="val" id="buffer">buffer</td><td class="desc"> +<p>The address of the read buffer.</p> +</td></tr> +<tr><td class="val" id="count">count</td><td class="desc"> +<p>The number of bytes to read from the stream.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The number of bytes effectively read by the stream.</p> + +<h4>note</h4> +<p>This function might be called to perform a seek or skip operation with a ‘count’ of 0. A non-zero return value then indicates an error.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Stream_CloseFunc">FT_Stream_CloseFunc</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">void</span> + (*<b>FT_Stream_CloseFunc</b>)( <a href="ft2-system_interface.html#FT_Stream">FT_Stream</a> stream ); +</pre> + +<p>A function used to close a given input stream.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="stream">stream</td><td class="desc"> +<p>A handle to the target stream.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_StreamRec">FT_StreamRec</h3> +<p>Defined in FT_SYSTEM_H (ftsystem.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_StreamRec_ + { + <span class="keyword">unsigned</span> <span class="keyword">char</span>* base; + <span class="keyword">unsigned</span> <span class="keyword">long</span> size; + <span class="keyword">unsigned</span> <span class="keyword">long</span> pos; + + <a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a> descriptor; + <a href="ft2-system_interface.html#FT_StreamDesc">FT_StreamDesc</a> pathname; + <a href="ft2-system_interface.html#FT_Stream_IoFunc">FT_Stream_IoFunc</a> read; + <a href="ft2-system_interface.html#FT_Stream_CloseFunc">FT_Stream_CloseFunc</a> close; + + <a href="ft2-system_interface.html#FT_Memory">FT_Memory</a> memory; + <span class="keyword">unsigned</span> <span class="keyword">char</span>* cursor; + <span class="keyword">unsigned</span> <span class="keyword">char</span>* limit; + + } <b>FT_StreamRec</b>; +</pre> + +<p>A structure used to describe an input stream.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="base">base</td><td class="desc"> +<p>For memory-based streams, this is the address of the first stream byte in memory. This field should always be set to NULL for disk-based streams.</p> +</td></tr> +<tr><td class="val" id="size">size</td><td class="desc"> +<p>The stream size in bytes.</p> +</td></tr> +<tr><td class="val" id="pos">pos</td><td class="desc"> +<p>The current position within the stream.</p> +</td></tr> +<tr><td class="val" id="descriptor">descriptor</td><td class="desc"> +<p>This field is a union that can hold an integer or a pointer. It is used by stream implementations to store file descriptors or ‘FILE*’ pointers.</p> +</td></tr> +<tr><td class="val" id="pathname">pathname</td><td class="desc"> +<p>This field is completely ignored by FreeType. However, it is often useful during debugging to use it to store the stream's filename (where available).</p> +</td></tr> +<tr><td class="val" id="read">read</td><td class="desc"> +<p>The stream's input function.</p> +</td></tr> +<tr><td class="val" id="close">close</td><td class="desc"> +<p>The stream's close function.</p> +</td></tr> +<tr><td class="val" id="memory">memory</td><td class="desc"> +<p>The memory manager to use to preload frames. This is set internally by FreeType and shouldn't be touched by stream implementations.</p> +</td></tr> +<tr><td class="val" id="cursor">cursor</td><td class="desc"> +<p>This field is set and used internally by FreeType when parsing frames.</p> +</td></tr> +<tr><td class="val" id="limit">limit</td><td class="desc"> +<p>This field is set and used internally by FreeType when parsing frames.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-toc.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-toc.html new file mode 100644 index 00000000000..7f5b4de88c2 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-toc.html @@ -0,0 +1,270 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Table of Contents</h1> +<div class="section"> +<h2>General Remarks</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-header_inclusion.html">FreeType's header inclusion scheme</a></td><td class="desc"> +<p>How client applications should include FreeType header files.</p> +</td></tr> +<tr><td class="link"><a href="ft2-user_allocation.html">User allocation</a></td><td class="desc"> +<p>How client applications should allocate FreeType data structures.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2>Core API</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-version.html">FreeType Version</a></td><td class="desc"> +<p>Functions and macros related to FreeType versions.</p> +</td></tr> +<tr><td class="link"><a href="ft2-basic_types.html">Basic Data Types</a></td><td class="desc"> +<p>The basic data types defined by the library.</p> +</td></tr> +<tr><td class="link"><a href="ft2-base_interface.html">Base Interface</a></td><td class="desc"> +<p>The FreeType 2 base font interface.</p> +</td></tr> +<tr><td class="link"><a href="ft2-glyph_variants.html">Glyph Variants</a></td><td class="desc"> +<p>The FreeType 2 interface to Unicode Ideographic Variation Sequences (IVS), using the SFNT cmap format 14.</p> +</td></tr> +<tr><td class="link"><a href="ft2-glyph_management.html">Glyph Management</a></td><td class="desc"> +<p>Generic interface to manage individual glyph data.</p> +</td></tr> +<tr><td class="link"><a href="ft2-mac_specific.html">Mac Specific Interface</a></td><td class="desc"> +<p>Only available on the Macintosh.</p> +</td></tr> +<tr><td class="link"><a href="ft2-sizes_management.html">Size Management</a></td><td class="desc"> +<p>Managing multiple sizes per face.</p> +</td></tr> +<tr><td class="link"><a href="ft2-header_file_macros.html">Header File Macros</a></td><td class="desc"> +<p>Macro definitions used to #include specific header files.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2>Format-Specific API</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-multiple_masters.html">Multiple Masters</a></td><td class="desc"> +<p>How to manage Multiple Masters fonts.</p> +</td></tr> +<tr><td class="link"><a href="ft2-truetype_tables.html">TrueType Tables</a></td><td class="desc"> +<p>TrueType specific table types and functions.</p> +</td></tr> +<tr><td class="link"><a href="ft2-type1_tables.html">Type 1 Tables</a></td><td class="desc"> +<p>Type 1 (PostScript) specific font tables.</p> +</td></tr> +<tr><td class="link"><a href="ft2-sfnt_names.html">SFNT Names</a></td><td class="desc"> +<p>Access the names embedded in TrueType and OpenType files.</p> +</td></tr> +<tr><td class="link"><a href="ft2-bdf_fonts.html">BDF and PCF Files</a></td><td class="desc"> +<p>BDF and PCF specific API.</p> +</td></tr> +<tr><td class="link"><a href="ft2-cid_fonts.html">CID Fonts</a></td><td class="desc"> +<p>CID-keyed font specific API.</p> +</td></tr> +<tr><td class="link"><a href="ft2-pfr_fonts.html">PFR Fonts</a></td><td class="desc"> +<p>PFR/TrueDoc specific API.</p> +</td></tr> +<tr><td class="link"><a href="ft2-winfnt_fonts.html">Window FNT Files</a></td><td class="desc"> +<p>Windows FNT specific API.</p> +</td></tr> +<tr><td class="link"><a href="ft2-font_formats.html">Font Formats</a></td><td class="desc"> +<p>Getting the font format.</p> +</td></tr> +<tr><td class="link"><a href="ft2-gasp_table.html">Gasp Table</a></td><td class="desc"> +<p>Retrieving TrueType ‘gasp’ table entries.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2>Controlling FreeType Modules</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-auto_hinter.html">The auto-hinter</a></td><td class="desc"> +<p>Controlling the auto-hinting module.</p> +</td></tr> +<tr><td class="link"><a href="ft2-cff_driver.html">The CFF driver</a></td><td class="desc"> +<p>Controlling the CFF driver module.</p> +</td></tr> +<tr><td class="link"><a href="ft2-tt_driver.html">The TrueType driver</a></td><td class="desc"> +<p>Controlling the TrueType driver module.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2>Cache Sub-System</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-cache_subsystem.html">Cache Sub-System</a></td><td class="desc"> +<p>How to cache face, size, and glyph data with FreeType 2.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2>Support API</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-computations.html">Computations</a></td><td class="desc"> +<p>Crunching fixed numbers and vectors.</p> +</td></tr> +<tr><td class="link"><a href="ft2-list_processing.html">List Processing</a></td><td class="desc"> +<p>Simple management of lists.</p> +</td></tr> +<tr><td class="link"><a href="ft2-outline_processing.html">Outline Processing</a></td><td class="desc"> +<p>Functions to create, transform, and render vectorial glyph images.</p> +</td></tr> +<tr><td class="link"><a href="ft2-quick_advance.html">Quick retrieval of advance values</a></td><td class="desc"> +<p>Retrieve horizontal and vertical advance values without processing glyph outlines, if possible.</p> +</td></tr> +<tr><td class="link"><a href="ft2-bitmap_handling.html">Bitmap Handling</a></td><td class="desc"> +<p>Handling FT_Bitmap objects.</p> +</td></tr> +<tr><td class="link"><a href="ft2-raster.html">Scanline Converter</a></td><td class="desc"> +<p>How vectorial outlines are converted into bitmaps and pixmaps.</p> +</td></tr> +<tr><td class="link"><a href="ft2-glyph_stroker.html">Glyph Stroker</a></td><td class="desc"> +<p>Generating bordered and stroked glyphs.</p> +</td></tr> +<tr><td class="link"><a href="ft2-system_interface.html">System Interface</a></td><td class="desc"> +<p>How FreeType manages memory and i/o.</p> +</td></tr> +<tr><td class="link"><a href="ft2-module_management.html">Module Management</a></td><td class="desc"> +<p>How to add, upgrade, remove, and control modules from FreeType.</p> +</td></tr> +<tr><td class="link"><a href="ft2-gzip.html">GZIP Streams</a></td><td class="desc"> +<p>Using gzip-compressed font files.</p> +</td></tr> +<tr><td class="link"><a href="ft2-lzw.html">LZW Streams</a></td><td class="desc"> +<p>Using LZW-compressed font files.</p> +</td></tr> +<tr><td class="link"><a href="ft2-bzip2.html">BZIP2 Streams</a></td><td class="desc"> +<p>Using bzip2-compressed font files.</p> +</td></tr> +<tr><td class="link"><a href="ft2-lcd_filtering.html">LCD Filtering</a></td><td class="desc"> +<p>Reduce color fringes of LCD-optimized bitmaps.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2>Miscellaneous</h2> +<table class="toc"> +<tr><td class="link"><a href="ft2-ot_validation.html">OpenType Validation</a></td><td class="desc"> +<p>An API to validate OpenType tables.</p> +</td></tr> +<tr><td class="link"><a href="ft2-incremental.html">Incremental Loading</a></td><td class="desc"> +<p>Custom Glyph Loading.</p> +</td></tr> +<tr><td class="link"><a href="ft2-truetype_engine.html">The TrueType Engine</a></td><td class="desc"> +<p>TrueType bytecode support.</p> +</td></tr> +<tr><td class="link"><a href="ft2-gx_validation.html">TrueTypeGX/AAT Validation</a></td><td class="desc"> +<p>An API to validate TrueTypeGX/AAT tables.</p> +</td></tr> +</table> +</div> +<div class="section"> +<h2><a href="ft2-index.html">Global Index</a></h2></div> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td></tr></table> + +<div class="timestamp">generated on Sat Dec 6 18:53:39 2014</div></body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_engine.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_engine.html new file mode 100644 index 00000000000..6764604c316 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_engine.html @@ -0,0 +1,176 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>The TrueType Engine</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a></td><td><a href="#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a></td></tr> +</table> + + +<p>This section contains a function used to query the level of TrueType bytecode support compiled in this version of the library.</p> + +<div class="section"> +<h3 id="FT_TrueTypeEngineType">FT_TrueTypeEngineType</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_TrueTypeEngineType_ + { + <a href="ft2-truetype_engine.html#FT_TRUETYPE_ENGINE_TYPE_NONE">FT_TRUETYPE_ENGINE_TYPE_NONE</a> = 0, + <a href="ft2-truetype_engine.html#FT_TRUETYPE_ENGINE_TYPE_UNPATENTED">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</a>, + <a href="ft2-truetype_engine.html#FT_TRUETYPE_ENGINE_TYPE_PATENTED">FT_TRUETYPE_ENGINE_TYPE_PATENTED</a> + + } <b>FT_TrueTypeEngineType</b>; +</pre> + +<p>A list of values describing which kind of TrueType bytecode engine is implemented in a given FT_Library instance. It is used by the <a href="ft2-truetype_engine.html#FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</a> function.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_TRUETYPE_ENGINE_TYPE_NONE">FT_TRUETYPE_ENGINE_TYPE_NONE</td><td class="desc"> +<p>The library doesn't implement any kind of bytecode interpreter.</p> +</td></tr> +<tr><td class="val" id="FT_TRUETYPE_ENGINE_TYPE_UNPATENTED">FT_TRUETYPE_ENGINE_TYPE_UNPATENTED</td><td class="desc"> +<p>The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType virtual machine.</p> +<p>Its main use is to load certain Asian fonts that position and scale glyph components with bytecode instructions. It produces bad output for most other fonts.</p> +</td></tr> +<tr><td class="val" id="FT_TRUETYPE_ENGINE_TYPE_PATENTED">FT_TRUETYPE_ENGINE_TYPE_PATENTED</td><td class="desc"> +<p>The library implements a bytecode interpreter that covers the full instruction set of the TrueType virtual machine (this was governed by patents until May 2010, hence the name).</p> +</td></tr> +</table> + +<h4>since</h4> +<p>2.2</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_TrueType_Engine_Type">FT_Get_TrueType_Engine_Type</h3> +<p>Defined in FT_MODULE_H (ftmodapi.h).</p> +<pre> + FT_EXPORT( <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> ) + <b>FT_Get_TrueType_Engine_Type</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library ); +</pre> + +<p>Return an <a href="ft2-truetype_engine.html#FT_TrueTypeEngineType">FT_TrueTypeEngineType</a> value to indicate which level of the TrueType virtual machine a given library instance supports.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A library instance.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>A value indicating which level is supported.</p> + +<h4>since</h4> +<p>2.2</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_tables.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_tables.html index 5da7a9579ae..5a174bd2c4e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/reference/ft2-truetype_tables.html +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-truetype_tables.html @@ -3,456 +3,129 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.5.3 API Reference</title> +<title>FreeType-2.5.4 API Reference</title> <style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; color: #000000; - background: #FFFFFF; } + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } - p { text-align: justify; } h1 { text-align: center; } - li { text-align: justify; } - td { padding: 0 0.5em 0 0.5em; } - td.left { padding: 0 0.5em 0 0.5em; - text-align: left; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } - a:link { color: #0000EF; } - a:visited { color: #51188E; } - a:hover { color: #FF0000; } + p { text-align: justify; } + + pre.colored { color: blue; } span.keyword { font-family: monospace; text-align: left; white-space: pre; color: darkblue; } - pre.colored { color: blue; } + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } - ul.empty { list-style-type: none; } </style> </head> <body> -<table align=center><tr><td><font size=-1>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-1>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> -<center><h1>FreeType-2.5.3 API Reference</h1></center> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> -<center><h1> -TrueType Tables -</h1></center> +<h1>TrueType Tables</h1> <h2>Synopsis</h2> -<table align=center cellspacing=5 cellpadding=0 border=0> -<tr><td></td><td><a href="#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td><td></td><td><a href="#TT_Postscript">TT_Postscript</a></td></tr> -<tr><td></td><td><a href="#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td><td></td><td><a href="#TT_PCLT">TT_PCLT</a></td></tr> -<tr><td></td><td><a href="#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td><td></td><td><a href="#TT_MaxProfile">TT_MaxProfile</a></td></tr> -<tr><td></td><td><a href="#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td><td></td><td><a href="#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td></tr> -<tr><td></td><td><a href="#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td><td></td><td><a href="#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td></tr> -<tr><td></td><td><a href="#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td><td></td><td><a href="#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td></tr> -<tr><td></td><td><a href="#TT_Header">TT_Header</a></td><td></td><td><a href="#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td></tr> -<tr><td></td><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td></tr> -<tr><td></td><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td></tr> -<tr><td></td><td><a href="#TT_OS2">TT_OS2</a></td><td></td><td><a href="#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td></tr> -</table><br><br> - -<table align=center width="87%"><tr><td> -<p>This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.</p> -</td></tr></table><br> -<table align=center width="75%"><tr><td> -<h4><a name="TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> 0 -#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> 1 -#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> 2 /* deprecated */ -#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> 3 -#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_CUSTOM</a> 4 -#define <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> 7 /* artificial */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘platform_id’ identifier code in <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> and <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structures.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td colspan=0><b>TT_PLATFORM_APPLE_UNICODE</b></td></tr> -<tr valign=top><td></td><td> -<p>Used by Apple to indicate a Unicode character map and/or name entry. See <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a> for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes <i>only</i>.</p> -</td></tr> -<tr valign=top><td><b>TT_PLATFORM_MACINTOSH</b></td><td> -<p>Used by Apple to indicate a MacOS-specific charmap and/or name entry. See <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a> for corresponding ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).</p> -</td></tr> -<tr valign=top><td><b>TT_PLATFORM_ISO</b></td><td> -<p>This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a> for a list of corresponding ‘encoding_id’ values.</p> -</td></tr> -<tr valign=top><td><b>TT_PLATFORM_MICROSOFT</b></td><td> -<p>Used by Microsoft to indicate Windows-specific charmaps. See <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a> for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a>).</p> -</td></tr> -<tr valign=top><td><b>TT_PLATFORM_CUSTOM</b></td><td> -<p>Used to indicate application-specific charmaps.</p> -</td></tr> -<tr valign=top><td><b>TT_PLATFORM_ADOBE</b></td><td> -<p>This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> structure. See <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a>.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_DEFAULT</a> 0 /* Unicode 1.0 */ -#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_1_1</a> 1 /* specify Hangul at U+34xx */ -#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_ISO_10646</a> 2 /* deprecated */ -#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_2_0</a> 3 /* or later */ -#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_UNICODE_32</a> 4 /* 2.0 or later, full repertoire */ -#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_VARIANT_SELECTOR</a> 5 /* variation selector data */ - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> charmaps and name entries.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>TT_APPLE_ID_DEFAULT</b></td><td> -<p>Unicode version 1.0.</p> -</td></tr> -<tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_1_1</b></td></tr> -<tr valign=top><td></td><td> -<p>Unicode 1.1; specifies Hangul characters starting at U+34xx.</p> -</td></tr> -<tr valign=top><td><b>TT_APPLE_ID_ISO_10646</b></td><td> -<p>Deprecated (identical to preceding).</p> -</td></tr> -<tr valign=top><td colspan=0><b>TT_APPLE_ID_UNICODE_2_0</b></td></tr> -<tr valign=top><td></td><td> -<p>Unicode 2.0 and beyond (UTF-16 BMP only).</p> -</td></tr> -<tr valign=top><td><b>TT_APPLE_ID_UNICODE_32</b></td><td> -<p>Unicode 3.1 and beyond, using UTF-32.</p> -</td></tr> -<tr valign=top><td colspan=0><b>TT_APPLE_ID_VARIANT_SELECTOR</b></td></tr> -<tr valign=top><td></td><td> -<p>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</p> -</td></tr> +<table class="synopsis"> +<tr><td><a href="#TT_Header">TT_Header</a></td><td> </td></tr> +<tr><td><a href="#TT_HoriHeader">TT_HoriHeader</a></td><td><a href="#FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></td></tr> +<tr><td><a href="#TT_VertHeader">TT_VertHeader</a></td><td><a href="#FT_Get_CMap_Format">FT_Get_CMap_Format</a></td></tr> +<tr><td><a href="#TT_OS2">TT_OS2</a></td><td> </td></tr> +<tr><td><a href="#TT_Postscript">TT_Postscript</a></td><td><a href="#FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></td></tr> +<tr><td><a href="#TT_PCLT">TT_PCLT</a></td><td> </td></tr> +<tr><td><a href="#TT_MaxProfile">TT_MaxProfile</a></td><td><a href="#TT_PLATFORM_XXX">TT_PLATFORM_XXX</a></td></tr> +<tr><td> </td><td><a href="#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a></td></tr> +<tr><td><a href="#FT_Sfnt_Tag">FT_Sfnt_Tag</a></td><td><a href="#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></td></tr> +<tr><td><a href="#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></td><td><a href="#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></td></tr> +<tr><td><a href="#FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></td><td><a href="#TT_MS_ID_XXX">TT_MS_ID_XXX</a></td></tr> +<tr><td><a href="#FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></td><td><a href="#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></td></tr> </table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_MAC_ID_XXX">TT_MAC_ID_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ROMAN</a> 0 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_JAPANESE</a> 1 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TRADITIONAL_CHINESE</a> 2 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KOREAN</a> 3 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARABIC</a> 4 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_HEBREW</a> 5 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GREEK</a> 6 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RUSSIAN</a> 7 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_RSYMBOL</a> 8 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_DEVANAGARI</a> 9 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GURMUKHI</a> 10 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GUJARATI</a> 11 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ORIYA</a> 12 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BENGALI</a> 13 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TAMIL</a> 14 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TELUGU</a> 15 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KANNADA</a> 16 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALAYALAM</a> 17 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINHALESE</a> 18 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_BURMESE</a> 19 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_KHMER</a> 20 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_THAI</a> 21 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_LAOTIAN</a> 22 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEORGIAN</a> 23 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_ARMENIAN</a> 24 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MALDIVIAN</a> 25 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SIMPLIFIED_CHINESE</a> 25 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_TIBETAN</a> 26 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_MONGOLIAN</a> 27 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_GEEZ</a> 28 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SLAVIC</a> 29 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_VIETNAMESE</a> 30 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_SINDHI</a> 31 -#define <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_UNINTERP</a> 32 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> charmaps and name entries.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>TT_MAC_ID_ROMAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_JAPANESE</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>TT_MAC_ID_TRADITIONAL_CHINESE</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_KOREAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_ARABIC</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_HEBREW</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_GREEK</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_RUSSIAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_RSYMBOL</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_DEVANAGARI</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_GURMUKHI</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_GUJARATI</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_ORIYA</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_BENGALI</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_TAMIL</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_TELUGU</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_KANNADA</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_MALAYALAM</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_SINHALESE</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_BURMESE</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_KHMER</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_THAI</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_LAOTIAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_GEORGIAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_ARMENIAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_MALDIVIAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td colspan=0><b>TT_MAC_ID_SIMPLIFIED_CHINESE</b></td></tr> -<tr valign=top><td></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_TIBETAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_MONGOLIAN</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_GEEZ</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_SLAVIC</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_VIETNAMESE</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_SINDHI</b></td><td> -<p></p> -</td></tr> -<tr valign=top><td><b>TT_MAC_ID_UNINTERP</b></td><td> -<p></p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_ISO_ID_XXX">TT_ISO_ID_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_7BIT_ASCII</a> 0 -#define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_10646</a> 1 -#define <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_8859_1</a> 2 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> charmaps and name entries.</p> -<p>Their use is now deprecated.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>TT_ISO_ID_7BIT_ASCII</b></td><td> -<p>ASCII.</p> -</td></tr> -<tr valign=top><td><b>TT_ISO_ID_10646</b></td><td> -<p>ISO/10646.</p> -</td></tr> -<tr valign=top><td><b>TT_ISO_ID_8859_1</b></td><td> -<p>Also known as Latin-1.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_MS_ID_XXX">TT_MS_ID_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SYMBOL_CS</a> 0 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a> 1 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_SJIS</a> 2 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_GB2312</a> 3 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_BIG_5</a> 4 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_WANSUNG</a> 5 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_JOHAB</a> 6 -#define <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UCS_4</a> 10 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> charmaps and name entries.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>TT_MS_ID_SYMBOL_CS</b></td><td> -<p>Corresponds to Microsoft symbol encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_UNICODE_CS</b></td><td> -<p>Corresponds to a Microsoft WGL4 charmap, matching Unicode. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_SJIS</b></td><td> -<p>Corresponds to SJIS Japanese encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_GB2312</b></td><td> -<p>Corresponds to Simplified Chinese as used in Mainland China. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_BIG_5</b></td><td> -<p>Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_WANSUNG</b></td><td> -<p>Corresponds to Korean Wansung encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_JOHAB</b></td><td> -<p>Corresponds to Johab encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>.</p> -</td></tr> -<tr valign=top><td><b>TT_MS_ID_UCS_4</b></td><td> -<p>Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_IDS_H (ttnameid.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> - -#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_STANDARD</a> 0 -#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_EXPERT</a> 1 -#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_CUSTOM</a> 2 -#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_LATIN_1</a> 3 - -</pre></table><br> -<table align=center width="87%"><tr><td> -<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> charmaps. This is a FreeType-specific extension!</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>values</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>TT_ADOBE_ID_STANDARD</b></td><td> -<p>Adobe standard encoding.</p> -</td></tr> -<tr valign=top><td><b>TT_ADOBE_ID_EXPERT</b></td><td> -<p>Adobe expert encoding.</p> -</td></tr> -<tr valign=top><td><b>TT_ADOBE_ID_CUSTOM</b></td><td> -<p>Adobe custom encoding.</p> -</td></tr> -<tr valign=top><td><b>TT_ADOBE_ID_LATIN_1</b></td><td> -<p>Adobe Latin 1 encoding.</p> -</td></tr> -</table> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_Header">TT_Header</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> + +<p>This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.</p> + +<div class="section"> +<h3 id="TT_Header">TT_Header</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Header_ { <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Table_Version; @@ -480,24 +153,17 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). <a href="ft2-basic_types.html#FT_Short">FT_Short</a> Glyph_Data_Format; } <b>TT_Header</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model a TrueType font header table. All fields follow the TrueType specification.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_HoriHeader">TT_HoriHeader</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_HoriHeader">TT_HoriHeader</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_HoriHeader_ { <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version; @@ -527,82 +193,74 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). <span class="keyword">void</span>* short_metrics; } <b>TT_HoriHeader</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model a TrueType horizontal header, the ‘hhea’ table, as well as the corresponding horizontal metrics table, i.e., the ‘hmtx’ table.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>Version</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="Version">Version</td><td class="desc"> <p>The table version.</p> </td></tr> -<tr valign=top><td><b>Ascender</b></td><td> +<tr><td class="val" id="Ascender">Ascender</td><td class="desc"> <p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p> <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> <p>You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.</p> </td></tr> -<tr valign=top><td><b>Descender</b></td><td> +<tr><td class="val" id="Descender">Descender</td><td class="desc"> <p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p> <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> <p>You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.</p> </td></tr> -<tr valign=top><td><b>Line_Gap</b></td><td> +<tr><td class="val" id="Line_Gap">Line_Gap</td><td class="desc"> <p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p> </td></tr> -<tr valign=top><td><b>advance_Width_Max</b></td><td> +<tr><td class="val" id="advance_Width_Max">advance_Width_Max</td><td class="desc"> <p>This field is the maximum of all advance widths found in the font. It can be used to compute the maximum width of an arbitrary string of text.</p> </td></tr> -<tr valign=top><td><b>min_Left_Side_Bearing</b></td><td> +<tr><td class="val" id="min_Left_Side_Bearing">min_Left_Side_Bearing</td><td class="desc"> <p>The minimum left side bearing of all glyphs within the font.</p> </td></tr> -<tr valign=top><td><b>min_Right_Side_Bearing</b></td><td> +<tr><td class="val" id="min_Right_Side_Bearing">min_Right_Side_Bearing</td><td class="desc"> <p>The minimum right side bearing of all glyphs within the font.</p> </td></tr> -<tr valign=top><td><b>xMax_Extent</b></td><td> +<tr><td class="val" id="xMax_Extent">xMax_Extent</td><td class="desc"> <p>The maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the font.</p> </td></tr> -<tr valign=top><td><b>caret_Slope_Rise</b></td><td> +<tr><td class="val" id="caret_Slope_Rise">caret_Slope_Rise</td><td class="desc"> <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p> </td></tr> -<tr valign=top><td><b>caret_Slope_Run</b></td><td> +<tr><td class="val" id="caret_Slope_Run">caret_Slope_Run</td><td class="desc"> <p>The run coefficient of the cursor's slope.</p> </td></tr> -<tr valign=top><td><b>Reserved</b></td><td> +<tr><td class="val" id="Reserved">Reserved</td><td class="desc"> <p>8 reserved bytes.</p> </td></tr> -<tr valign=top><td><b>metric_Data_Format</b></td><td> +<tr><td class="val" id="metric_Data_Format">metric_Data_Format</td><td class="desc"> <p>Always 0.</p> </td></tr> -<tr valign=top><td><b>number_Of_HMetrics</b></td><td> +<tr><td class="val" id="number_Of_HMetrics">number_Of_HMetrics</td><td class="desc"> <p>Number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number of glyphs in the font.</p> </td></tr> -<tr valign=top><td><b>long_metrics</b></td><td> +<tr><td class="val" id="long_metrics">long_metrics</td><td class="desc"> <p>A pointer into the ‘hmtx’ table.</p> </td></tr> -<tr valign=top><td><b>short_metrics</b></td><td> +<tr><td class="val" id="short_metrics">short_metrics</td><td class="desc"> <p>A pointer into the ‘hmtx’ table.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields, which are different.</p> <p>This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_VertHeader">TT_VertHeader</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_VertHeader">TT_VertHeader</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_VertHeader_ { <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version; @@ -632,86 +290,77 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). <span class="keyword">void</span>* short_metrics; } <b>TT_VertHeader</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model a TrueType vertical header, the ‘vhea’ table, as well as the corresponding vertical metrics table, i.e., the ‘vmtx’ table.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>Version</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="Version">Version</td><td class="desc"> <p>The table version.</p> </td></tr> -<tr valign=top><td><b>Ascender</b></td><td> +<tr><td class="val" id="Ascender">Ascender</td><td class="desc"> <p>The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.</p> <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> <p>You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.</p> </td></tr> -<tr valign=top><td><b>Descender</b></td><td> +<tr><td class="val" id="Descender">Descender</td><td class="desc"> <p>The font's descender, i.e., the distance from the baseline to the bottom-most of all glyph points found in the font. It is negative.</p> <p>This value is invalid in many fonts, as it is usually set by the font designer, and often reflects only a portion of the glyphs found in the font (maybe ASCII).</p> <p>You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.</p> </td></tr> -<tr valign=top><td><b>Line_Gap</b></td><td> +<tr><td class="val" id="Line_Gap">Line_Gap</td><td class="desc"> <p>The font's line gap, i.e., the distance to add to the ascender and descender to get the BTB, i.e., the baseline-to-baseline distance for the font.</p> </td></tr> -<tr valign=top><td><b>advance_Height_Max</b></td><td> +<tr><td class="val" id="advance_Height_Max">advance_Height_Max</td><td class="desc"> <p>This field is the maximum of all advance heights found in the font. It can be used to compute the maximum height of an arbitrary string of text.</p> </td></tr> -<tr valign=top><td><b>min_Top_Side_Bearing</b></td><td> +<tr><td class="val" id="min_Top_Side_Bearing">min_Top_Side_Bearing</td><td class="desc"> <p>The minimum top side bearing of all glyphs within the font.</p> </td></tr> -<tr valign=top><td colspan=0><b>min_Bottom_Side_Bearing</b></td></tr> -<tr valign=top><td></td><td> +<tr><td class="val" id="min_Bottom_Side_Bearing">min_Bottom_Side_Bearing</td><td class="desc"> <p>The minimum bottom side bearing of all glyphs within the font.</p> </td></tr> -<tr valign=top><td><b>yMax_Extent</b></td><td> +<tr><td class="val" id="yMax_Extent">yMax_Extent</td><td class="desc"> <p>The maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.</p> </td></tr> -<tr valign=top><td><b>caret_Slope_Rise</b></td><td> +<tr><td class="val" id="caret_Slope_Rise">caret_Slope_Rise</td><td class="desc"> <p>The rise coefficient of the cursor's slope of the cursor (slope=rise/run).</p> </td></tr> -<tr valign=top><td><b>caret_Slope_Run</b></td><td> +<tr><td class="val" id="caret_Slope_Run">caret_Slope_Run</td><td class="desc"> <p>The run coefficient of the cursor's slope.</p> </td></tr> -<tr valign=top><td><b>caret_Offset</b></td><td> +<tr><td class="val" id="caret_Offset">caret_Offset</td><td class="desc"> <p>The cursor's offset for slanted fonts. This value is ‘reserved’ in vmtx version 1.0.</p> </td></tr> -<tr valign=top><td><b>Reserved</b></td><td> +<tr><td class="val" id="Reserved">Reserved</td><td class="desc"> <p>8 reserved bytes.</p> </td></tr> -<tr valign=top><td><b>metric_Data_Format</b></td><td> +<tr><td class="val" id="metric_Data_Format">metric_Data_Format</td><td class="desc"> <p>Always 0.</p> </td></tr> -<tr valign=top><td><b>number_Of_HMetrics</b></td><td> +<tr><td class="val" id="number_Of_HMetrics">number_Of_HMetrics</td><td class="desc"> <p>Number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number of glyphs in the font.</p> </td></tr> -<tr valign=top><td><b>long_metrics</b></td><td> +<tr><td class="val" id="long_metrics">long_metrics</td><td class="desc"> <p>A pointer into the ‘vmtx’ table.</p> </td></tr> -<tr valign=top><td><b>short_metrics</b></td><td> +<tr><td class="val" id="short_metrics">short_metrics</td><td class="desc"> <p>A pointer into the ‘vmtx’ table.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields, which are different.</p> <p>This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_OS2">TT_OS2</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_OS2">TT_OS2</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_OS2_ { <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> version; /* 0x0001 - more or 0xFFFF */ @@ -768,25 +417,18 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> usUpperOpticalPointSize; /* in twips (1/20th points) */ } <b>TT_OS2</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model a TrueType OS/2 table. All fields comply to the OpenType specification.</p> <p>Note that we now support old Mac fonts that do not include an OS/2 table. In this case, the ‘version’ field is always set to 0xFFFF.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_Postscript">TT_Postscript</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_Postscript">TT_Postscript</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_Postscript_ { <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> FormatType; @@ -803,24 +445,17 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). /* load them by default. See the ttpost.c file. */ } <b>TT_Postscript</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model a TrueType PostScript table. All fields comply to the TrueType specification. This structure does not reference the PostScript glyph names, which can be nevertheless accessed with the ‘ttpost’ module.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_PCLT">TT_PCLT</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_PCLT">TT_PCLT</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_PCLT_ { <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> Version; @@ -840,24 +475,17 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> Reserved; } <b>TT_PCLT</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="TT_MaxProfile">TT_MaxProfile</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_MaxProfile">TT_MaxProfile</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">struct</span> TT_MaxProfile_ { <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> version; @@ -877,132 +505,150 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> maxComponentDepth; } <b>TT_MaxProfile</b>; +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>The maximum profile is a table containing many max values, which can be used to pre-allocate arrays. This ensures that no memory allocation occurs during a glyph load.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>fields</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>version</b></td><td> + +<h4>fields</h4> +<table class="fields"> +<tr><td class="val" id="version">version</td><td class="desc"> <p>The version number.</p> </td></tr> -<tr valign=top><td><b>numGlyphs</b></td><td> +<tr><td class="val" id="numGlyphs">numGlyphs</td><td class="desc"> <p>The number of glyphs in this TrueType font.</p> </td></tr> -<tr valign=top><td><b>maxPoints</b></td><td> +<tr><td class="val" id="maxPoints">maxPoints</td><td class="desc"> <p>The maximum number of points in a non-composite TrueType glyph. See also the structure element ‘maxCompositePoints’.</p> </td></tr> -<tr valign=top><td><b>maxContours</b></td><td> +<tr><td class="val" id="maxContours">maxContours</td><td class="desc"> <p>The maximum number of contours in a non-composite TrueType glyph. See also the structure element ‘maxCompositeContours’.</p> </td></tr> -<tr valign=top><td><b>maxCompositePoints</b></td><td> +<tr><td class="val" id="maxCompositePoints">maxCompositePoints</td><td class="desc"> <p>The maximum number of points in a composite TrueType glyph. See also the structure element ‘maxPoints’.</p> </td></tr> -<tr valign=top><td><b>maxCompositeContours</b></td><td> +<tr><td class="val" id="maxCompositeContours">maxCompositeContours</td><td class="desc"> <p>The maximum number of contours in a composite TrueType glyph. See also the structure element ‘maxContours’.</p> </td></tr> -<tr valign=top><td><b>maxZones</b></td><td> +<tr><td class="val" id="maxZones">maxZones</td><td class="desc"> <p>The maximum number of zones used for glyph hinting.</p> </td></tr> -<tr valign=top><td><b>maxTwilightPoints</b></td><td> +<tr><td class="val" id="maxTwilightPoints">maxTwilightPoints</td><td class="desc"> <p>The maximum number of points in the twilight zone used for glyph hinting.</p> </td></tr> -<tr valign=top><td><b>maxStorage</b></td><td> +<tr><td class="val" id="maxStorage">maxStorage</td><td class="desc"> <p>The maximum number of elements in the storage area used for glyph hinting.</p> </td></tr> -<tr valign=top><td><b>maxFunctionDefs</b></td><td> +<tr><td class="val" id="maxFunctionDefs">maxFunctionDefs</td><td class="desc"> <p>The maximum number of function definitions in the TrueType bytecode for this font.</p> </td></tr> -<tr valign=top><td><b>maxInstructionDefs</b></td><td> +<tr><td class="val" id="maxInstructionDefs">maxInstructionDefs</td><td class="desc"> <p>The maximum number of instruction definitions in the TrueType bytecode for this font.</p> </td></tr> -<tr valign=top><td><b>maxStackElements</b></td><td> +<tr><td class="val" id="maxStackElements">maxStackElements</td><td class="desc"> <p>The maximum number of stack elements used during bytecode interpretation.</p> </td></tr> -<tr valign=top><td><b>maxSizeOfInstructions</b></td><td> +<tr><td class="val" id="maxSizeOfInstructions">maxSizeOfInstructions</td><td class="desc"> <p>The maximum number of TrueType opcodes used for glyph hinting.</p> </td></tr> -<tr valign=top><td><b>maxComponentElements</b></td><td> +<tr><td class="val" id="maxComponentElements">maxComponentElements</td><td class="desc"> <p>The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.</p> </td></tr> -<tr valign=top><td><b>maxComponentDepth</b></td><td> +<tr><td class="val" id="maxComponentDepth">maxComponentDepth</td><td class="desc"> <p>The maximum nesting depth of composite glyphs.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>This structure is only used during font loading.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Sfnt_Tag">FT_Sfnt_Tag</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Sfnt_Tag">FT_Sfnt_Tag</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> <span class="keyword">typedef</span> <span class="keyword">enum</span> FT_Sfnt_Tag_ { - ft_sfnt_head = 0, /* <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> */ - ft_sfnt_maxp = 1, /* <a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a> */ - ft_sfnt_os2 = 2, /* <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> */ - ft_sfnt_hhea = 3, /* <a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a> */ - ft_sfnt_vhea = 4, /* <a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a> */ - ft_sfnt_post = 5, /* <a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a> */ - ft_sfnt_pclt = 6, /* <a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a> */ + <a href="ft2-truetype_tables.html#FT_SFNT_HEAD">FT_SFNT_HEAD</a>, + <a href="ft2-truetype_tables.html#FT_SFNT_MAXP">FT_SFNT_MAXP</a>, + <a href="ft2-truetype_tables.html#FT_SFNT_OS2">FT_SFNT_OS2</a>, + <a href="ft2-truetype_tables.html#FT_SFNT_HHEA">FT_SFNT_HHEA</a>, + <a href="ft2-truetype_tables.html#FT_SFNT_VHEA">FT_SFNT_VHEA</a>, + <a href="ft2-truetype_tables.html#FT_SFNT_POST">FT_SFNT_POST</a>, + <a href="ft2-truetype_tables.html#FT_SFNT_PCLT">FT_SFNT_PCLT</a>, - sfnt_max /* internal end mark */ + FT_SFNT_MAX } <b>FT_Sfnt_Tag</b>; -</pre></table><br> -<table align=center width="87%"><tr><td> + /* these constants are deprecated; use the corresponding `<b>FT_Sfnt_Tag</b>' */ + /* values instead */ +#define ft_sfnt_head <a href="ft2-truetype_tables.html#FT_SFNT_HEAD">FT_SFNT_HEAD</a> +#define ft_sfnt_maxp <a href="ft2-truetype_tables.html#FT_SFNT_MAXP">FT_SFNT_MAXP</a> +#define ft_sfnt_os2 <a href="ft2-truetype_tables.html#FT_SFNT_OS2">FT_SFNT_OS2</a> +#define ft_sfnt_hhea <a href="ft2-truetype_tables.html#FT_SFNT_HHEA">FT_SFNT_HHEA</a> +#define ft_sfnt_vhea <a href="ft2-truetype_tables.html#FT_SFNT_VHEA">FT_SFNT_VHEA</a> +#define ft_sfnt_post <a href="ft2-truetype_tables.html#FT_SFNT_POST">FT_SFNT_POST</a> +#define ft_sfnt_pclt <a href="ft2-truetype_tables.html#FT_SFNT_PCLT">FT_SFNT_PCLT</a> +</pre> + <p>An enumeration used to specify the index of an SFNT table. Used in the <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a> API function.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_SFNT_HEAD">FT_SFNT_HEAD</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> structure.</p> +</td></tr> +<tr><td class="val" id="FT_SFNT_MAXP">FT_SFNT_MAXP</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_MaxProfile">TT_MaxProfile</a> structure.</p> +</td></tr> +<tr><td class="val" id="FT_SFNT_OS2">FT_SFNT_OS2</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> structure.</p> +</td></tr> +<tr><td class="val" id="FT_SFNT_HHEA">FT_SFNT_HHEA</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_HoriHeader">TT_HoriHeader</a> structure.</p> +</td></tr> +<tr><td class="val" id="FT_SFNT_VHEA">FT_SFNT_VHEA</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_VertHeader">TT_VertHeader</a> struture.</p> +</td></tr> +<tr><td class="val" id="FT_SFNT_POST">FT_SFNT_POST</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_Postscript">TT_Postscript</a> structure.</p> +</td></tr> +<tr><td class="val" id="FT_SFNT_PCLT">FT_SFNT_PCLT</td><td class="desc"> +<p>To access the font's <a href="ft2-truetype_tables.html#TT_PCLT">TT_PCLT</a> structure.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> FT_EXPORT( <span class="keyword">void</span>* ) <b>FT_Get_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> tag ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Return a pointer to a given SFNT table within a face.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> <p>A handle to the source.</p> </td></tr> -<tr valign=top><td><b>tag</b></td><td> +<tr><td class="val" id="tag">tag</td><td class="desc"> <p>The index of the SFNT table.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not found <b>OR</b> loaded from the file.</p> <p>Use a typecast according to ‘tag’ to access the structure elements.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>The table is owned by the face object and disappears with it.</p> <p>This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See <a href="ft2-truetype_tables.html#FT_Sfnt_Tag">FT_Sfnt_Tag</a> for a list.</p> <p>Here an example how to access the ‘vhea’ table:</p> @@ -1011,69 +657,59 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). vert_header = - (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea ); + (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA ); </pre> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Load_Sfnt_Table">FT_Load_Sfnt_Table</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FT_Load_Sfnt_Table</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> tag, <a href="ft2-basic_types.html#FT_Long">FT_Long</a> offset, <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a>* buffer, <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a>* length ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Load any font table into client memory.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> <p>A handle to the source face.</p> </td></tr> -<tr valign=top><td><b>tag</b></td><td> +<tr><td class="val" id="tag">tag</td><td class="desc"> <p>The four-byte tag of the table to load. Use the value 0 if you want to access the whole font file. Otherwise, you can use one of the definitions found in the <a href="ft2-header_file_macros.html#FT_TRUETYPE_TAGS_H">FT_TRUETYPE_TAGS_H</a> file, or forge a new one with <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>.</p> </td></tr> -<tr valign=top><td><b>offset</b></td><td> +<tr><td class="val" id="offset">offset</td><td class="desc"> <p>The starting offset in the table (or file if tag == 0).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>buffer</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="buffer">buffer</td><td class="desc"> <p>The target buffer address. The client must ensure that the memory array is big enough to hold the data.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>length</b></td><td> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="length">length</td><td class="desc"> <p>If the ‘length’ parameter is NULL, then try to load the whole table. Return an error code if it fails.</p> <p>Else, if ‘*length’ is 0, exit immediately while returning the table's (or file) full size in it.</p> <p>Else the number of bytes to read from the table or file, from the starting offset.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>If you need to determine the table's length you should first call this function with ‘*length’ set to 0, as in the following example:</p> <pre class="colored"> FT_ULong length = 0; @@ -1089,150 +725,449 @@ Defined in FT_TRUETYPE_TABLES_H (tttables.h). if ( error ) { ... could not load table ... } </pre> <p>Note that structures like <a href="ft2-truetype_tables.html#TT_Header">TT_Header</a> or <a href="ft2-truetype_tables.html#TT_OS2">TT_OS2</a> can't be used with this function; they are limited to <a href="ft2-truetype_tables.html#FT_Get_Sfnt_Table">FT_Get_Sfnt_Table</a>. Reason is that those structures depend on the processor architecture, with varying size (e.g. 32bit vs. 64bit) or order (big endian vs. little endian).</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Sfnt_Table_Info">FT_Sfnt_Table_Info</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) <b>FT_Sfnt_Table_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> table_index, <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> *tag, <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> *length ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Return information on an SFNT table.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>face</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> <p>A handle to the source face.</p> </td></tr> -<tr valign=top><td><b>table_index</b></td><td> +<tr><td class="val" id="table_index">table_index</td><td class="desc"> <p>The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>inout</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>tag</b></td><td> + +<h4>inout</h4> +<table class="fields"> +<tr><td class="val" id="tag">tag</td><td class="desc"> <p>The name tag of the SFNT table. If the value is NULL, ‘table_index’ is ignored, and ‘length’ returns the number of SFNT tables in the font.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>output</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>length</b></td><td> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="length">length</td><td class="desc"> <p>The length of the SFNT table (or the number of SFNT tables, depending on ‘tag’).</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>FreeType error code. 0 means success.</p> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>note</b></em></td></tr><tr><td> + +<h4>note</h4> <p>While parsing fonts, FreeType handles SFNT tables with length zero as missing.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_CMap_Language_ID">FT_Get_CMap_Language_ID</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> ) <b>FT_Get_CMap_Language_ID</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in ‘ttnameid.h’.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>charmap</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="charmap">charmap</td><td class="desc"> <p>The target charmap.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>The language ID of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, just return 0 as the default value.</p> <p>For a format 14 cmap (to access Unicode IVS), the return value is 0xFFFFFFFF.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_Get_CMap_Format">FT_Get_CMap_Format</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_TRUETYPE_TABLES_H (tttables.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_CMap_Format">FT_Get_CMap_Format</h3> +<p>Defined in FT_TRUETYPE_TABLES_H (tttables.h).</p> +<pre> FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) <b>FT_Get_CMap_Format</b>( <a href="ft2-base_interface.html#FT_CharMap">FT_CharMap</a> charmap ); +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>Return TrueType/sfnt specific cmap format.</p> -</td></tr></table><br> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>input</b></em></td></tr><tr><td> -<p></p> -<table cellpadding=3 border=0> -<tr valign=top><td><b>charmap</b></td><td> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="charmap">charmap</td><td class="desc"> <p>The target charmap.</p> </td></tr> </table> -</td></tr></table> -<table align=center width="87%" cellpadding=5><tr bgcolor="#EEEEFF"><td><em><b>return</b></em></td></tr><tr><td> + +<h4>return</h4> <p>The format of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, return -1.</p> -</td></tr></table> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> - -<table align=center width="75%"><tr><td> -<h4><a name="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</a></h4> -<table align=center width="87%"><tr><td> -Defined in FT_UNPATENTED_HINTING_H (ttunpat.h). -</td></tr></table><br> -<table align=center width="87%"><tr bgcolor="#D6E8FF"><td><pre> +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_PARAM_TAG_UNPATENTED_HINTING">FT_PARAM_TAG_UNPATENTED_HINTING</h3> +<p>Defined in FT_UNPATENTED_HINTING_H (ttunpat.h).</p> +<pre> #define <b>FT_PARAM_TAG_UNPATENTED_HINTING</b> <a href="ft2-basic_types.html#FT_MAKE_TAG">FT_MAKE_TAG</a>( 'u', 'n', 'p', 'a' ) +</pre> -</pre></table><br> -<table align=center width="87%"><tr><td> <p>A constant used as the tag of an <a href="ft2-base_interface.html#FT_Parameter">FT_Parameter</a> structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>.</p> -</td></tr></table><br> -</td></tr></table> -<hr width="75%"> -<table align=center width="75%"><tr><td><font size=-2>[<a href="ft2-index.html">Index</a>]</font></td> -<td width="100%"></td> -<td><font size=-2>[<a href="ft2-toc.html">TOC</a>]</font></td></tr></table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_PLATFORM_XXX">TT_PLATFORM_XXX</h3> +<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p> +<pre> +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_APPLE_UNICODE">TT_PLATFORM_APPLE_UNICODE</a> 0 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_MACINTOSH">TT_PLATFORM_MACINTOSH</a> 1 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_ISO">TT_PLATFORM_ISO</a> 2 /* deprecated */ +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_MICROSOFT">TT_PLATFORM_MICROSOFT</a> 3 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_CUSTOM">TT_PLATFORM_CUSTOM</a> 4 +#define <a href="ft2-truetype_tables.html#TT_PLATFORM_ADOBE">TT_PLATFORM_ADOBE</a> 7 /* artificial */ +</pre> + +<p>A list of valid values for the ‘platform_id’ identifier code in <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> and <a href="ft2-sfnt_names.html#FT_SfntName">FT_SfntName</a> structures.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_PLATFORM_APPLE_UNICODE">TT_PLATFORM_APPLE_UNICODE</td><td class="desc"> +<p>Used by Apple to indicate a Unicode character map and/or name entry. See <a href="ft2-truetype_tables.html#TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</a> for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes <i>only</i>.</p> +</td></tr> +<tr><td class="val" id="TT_PLATFORM_MACINTOSH">TT_PLATFORM_MACINTOSH</td><td class="desc"> +<p>Used by Apple to indicate a MacOS-specific charmap and/or name entry. See <a href="ft2-truetype_tables.html#TT_MAC_ID_XXX">TT_MAC_ID_XXX</a> for corresponding ‘encoding_id’ values. Note that most TrueType fonts contain an Apple roman charmap to be usable on MacOS systems (even if they contain a Microsoft charmap as well).</p> +</td></tr> +<tr><td class="val" id="TT_PLATFORM_ISO">TT_PLATFORM_ISO</td><td class="desc"> +<p>This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See <a href="ft2-truetype_tables.html#TT_ISO_ID_XXX">TT_ISO_ID_XXX</a> for a list of corresponding ‘encoding_id’ values.</p> +</td></tr> +<tr><td class="val" id="TT_PLATFORM_MICROSOFT">TT_PLATFORM_MICROSOFT</td><td class="desc"> +<p>Used by Microsoft to indicate Windows-specific charmaps. See <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_XXX</a> for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, <a href="ft2-truetype_tables.html#TT_MS_ID_XXX">TT_MS_ID_UNICODE_CS</a>).</p> +</td></tr> +<tr><td class="val" id="TT_PLATFORM_CUSTOM">TT_PLATFORM_CUSTOM</td><td class="desc"> +<p>Used to indicate application-specific charmaps.</p> +</td></tr> +<tr><td class="val" id="TT_PLATFORM_ADOBE">TT_PLATFORM_ADOBE</td><td class="desc"> +<p>This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an <a href="ft2-base_interface.html#FT_CharMapRec">FT_CharMapRec</a> structure. See <a href="ft2-truetype_tables.html#TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</a>.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_APPLE_ID_XXX">TT_APPLE_ID_XXX</h3> +<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p> +<pre> +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_DEFAULT">TT_APPLE_ID_DEFAULT</a> 0 /* Unicode 1.0 */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_1_1">TT_APPLE_ID_UNICODE_1_1</a> 1 /* specify Hangul at U+34xx */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_ISO_10646">TT_APPLE_ID_ISO_10646</a> 2 /* deprecated */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_2_0">TT_APPLE_ID_UNICODE_2_0</a> 3 /* or later */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_UNICODE_32">TT_APPLE_ID_UNICODE_32</a> 4 /* 2.0 or later, full repertoire */ +#define <a href="ft2-truetype_tables.html#TT_APPLE_ID_VARIANT_SELECTOR">TT_APPLE_ID_VARIANT_SELECTOR</a> 5 /* variation selector data */ +</pre> + +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_APPLE_UNICODE</a> charmaps and name entries.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_APPLE_ID_DEFAULT">TT_APPLE_ID_DEFAULT</td><td class="desc"> +<p>Unicode version 1.0.</p> +</td></tr> +<tr><td class="val" id="TT_APPLE_ID_UNICODE_1_1">TT_APPLE_ID_UNICODE_1_1</td><td class="desc"> +<p>Unicode 1.1; specifies Hangul characters starting at U+34xx.</p> +</td></tr> +<tr><td class="val" id="TT_APPLE_ID_ISO_10646">TT_APPLE_ID_ISO_10646</td><td class="desc"> +<p>Deprecated (identical to preceding).</p> +</td></tr> +<tr><td class="val" id="TT_APPLE_ID_UNICODE_2_0">TT_APPLE_ID_UNICODE_2_0</td><td class="desc"> +<p>Unicode 2.0 and beyond (UTF-16 BMP only).</p> +</td></tr> +<tr><td class="val" id="TT_APPLE_ID_UNICODE_32">TT_APPLE_ID_UNICODE_32</td><td class="desc"> +<p>Unicode 3.1 and beyond, using UTF-32.</p> +</td></tr> +<tr><td class="val" id="TT_APPLE_ID_VARIANT_SELECTOR">TT_APPLE_ID_VARIANT_SELECTOR</td><td class="desc"> +<p>From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_MAC_ID_XXX">TT_MAC_ID_XXX</h3> +<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p> +<pre> +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_ROMAN">TT_MAC_ID_ROMAN</a> 0 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_JAPANESE">TT_MAC_ID_JAPANESE</a> 1 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_TRADITIONAL_CHINESE">TT_MAC_ID_TRADITIONAL_CHINESE</a> 2 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_KOREAN">TT_MAC_ID_KOREAN</a> 3 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_ARABIC">TT_MAC_ID_ARABIC</a> 4 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_HEBREW">TT_MAC_ID_HEBREW</a> 5 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_GREEK">TT_MAC_ID_GREEK</a> 6 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_RUSSIAN">TT_MAC_ID_RUSSIAN</a> 7 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_RSYMBOL">TT_MAC_ID_RSYMBOL</a> 8 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_DEVANAGARI">TT_MAC_ID_DEVANAGARI</a> 9 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_GURMUKHI">TT_MAC_ID_GURMUKHI</a> 10 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_GUJARATI">TT_MAC_ID_GUJARATI</a> 11 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_ORIYA">TT_MAC_ID_ORIYA</a> 12 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_BENGALI">TT_MAC_ID_BENGALI</a> 13 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_TAMIL">TT_MAC_ID_TAMIL</a> 14 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_TELUGU">TT_MAC_ID_TELUGU</a> 15 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_KANNADA">TT_MAC_ID_KANNADA</a> 16 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_MALAYALAM">TT_MAC_ID_MALAYALAM</a> 17 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_SINHALESE">TT_MAC_ID_SINHALESE</a> 18 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_BURMESE">TT_MAC_ID_BURMESE</a> 19 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_KHMER">TT_MAC_ID_KHMER</a> 20 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_THAI">TT_MAC_ID_THAI</a> 21 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_LAOTIAN">TT_MAC_ID_LAOTIAN</a> 22 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_GEORGIAN">TT_MAC_ID_GEORGIAN</a> 23 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_ARMENIAN">TT_MAC_ID_ARMENIAN</a> 24 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_MALDIVIAN">TT_MAC_ID_MALDIVIAN</a> 25 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_SIMPLIFIED_CHINESE">TT_MAC_ID_SIMPLIFIED_CHINESE</a> 25 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_TIBETAN">TT_MAC_ID_TIBETAN</a> 26 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_MONGOLIAN">TT_MAC_ID_MONGOLIAN</a> 27 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_GEEZ">TT_MAC_ID_GEEZ</a> 28 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_SLAVIC">TT_MAC_ID_SLAVIC</a> 29 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_VIETNAMESE">TT_MAC_ID_VIETNAMESE</a> 30 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_SINDHI">TT_MAC_ID_SINDHI</a> 31 +#define <a href="ft2-truetype_tables.html#TT_MAC_ID_UNINTERP">TT_MAC_ID_UNINTERP</a> 32 +</pre> + +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MACINTOSH</a> charmaps and name entries.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_MAC_ID_ROMAN">TT_MAC_ID_ROMAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_JAPANESE">TT_MAC_ID_JAPANESE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_TRADITIONAL_CHINESE">TT_MAC_ID_TRADITIONAL_CHINESE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_KOREAN">TT_MAC_ID_KOREAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_ARABIC">TT_MAC_ID_ARABIC</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_HEBREW">TT_MAC_ID_HEBREW</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_GREEK">TT_MAC_ID_GREEK</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_RUSSIAN">TT_MAC_ID_RUSSIAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_RSYMBOL">TT_MAC_ID_RSYMBOL</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_DEVANAGARI">TT_MAC_ID_DEVANAGARI</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_GURMUKHI">TT_MAC_ID_GURMUKHI</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_GUJARATI">TT_MAC_ID_GUJARATI</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_ORIYA">TT_MAC_ID_ORIYA</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_BENGALI">TT_MAC_ID_BENGALI</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_TAMIL">TT_MAC_ID_TAMIL</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_TELUGU">TT_MAC_ID_TELUGU</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_KANNADA">TT_MAC_ID_KANNADA</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_MALAYALAM">TT_MAC_ID_MALAYALAM</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_SINHALESE">TT_MAC_ID_SINHALESE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_BURMESE">TT_MAC_ID_BURMESE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_KHMER">TT_MAC_ID_KHMER</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_THAI">TT_MAC_ID_THAI</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_LAOTIAN">TT_MAC_ID_LAOTIAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_GEORGIAN">TT_MAC_ID_GEORGIAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_ARMENIAN">TT_MAC_ID_ARMENIAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_MALDIVIAN">TT_MAC_ID_MALDIVIAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_SIMPLIFIED_CHINESE">TT_MAC_ID_SIMPLIFIED_CHINESE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_TIBETAN">TT_MAC_ID_TIBETAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_MONGOLIAN">TT_MAC_ID_MONGOLIAN</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_GEEZ">TT_MAC_ID_GEEZ</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_SLAVIC">TT_MAC_ID_SLAVIC</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_VIETNAMESE">TT_MAC_ID_VIETNAMESE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_SINDHI">TT_MAC_ID_SINDHI</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="TT_MAC_ID_UNINTERP">TT_MAC_ID_UNINTERP</td><td class="desc"> +<p></p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_ISO_ID_XXX">TT_ISO_ID_XXX</h3> +<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p> +<pre> +#define <a href="ft2-truetype_tables.html#TT_ISO_ID_7BIT_ASCII">TT_ISO_ID_7BIT_ASCII</a> 0 +#define <a href="ft2-truetype_tables.html#TT_ISO_ID_10646">TT_ISO_ID_10646</a> 1 +#define <a href="ft2-truetype_tables.html#TT_ISO_ID_8859_1">TT_ISO_ID_8859_1</a> 2 +</pre> + +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ISO</a> charmaps and name entries.</p> +<p>Their use is now deprecated.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_ISO_ID_7BIT_ASCII">TT_ISO_ID_7BIT_ASCII</td><td class="desc"> +<p>ASCII.</p> +</td></tr> +<tr><td class="val" id="TT_ISO_ID_10646">TT_ISO_ID_10646</td><td class="desc"> +<p>ISO/10646.</p> +</td></tr> +<tr><td class="val" id="TT_ISO_ID_8859_1">TT_ISO_ID_8859_1</td><td class="desc"> +<p>Also known as Latin-1.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_MS_ID_XXX">TT_MS_ID_XXX</h3> +<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p> +<pre> +#define <a href="ft2-truetype_tables.html#TT_MS_ID_SYMBOL_CS">TT_MS_ID_SYMBOL_CS</a> 0 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_UNICODE_CS">TT_MS_ID_UNICODE_CS</a> 1 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_SJIS">TT_MS_ID_SJIS</a> 2 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_GB2312">TT_MS_ID_GB2312</a> 3 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_BIG_5">TT_MS_ID_BIG_5</a> 4 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_WANSUNG">TT_MS_ID_WANSUNG</a> 5 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_JOHAB">TT_MS_ID_JOHAB</a> 6 +#define <a href="ft2-truetype_tables.html#TT_MS_ID_UCS_4">TT_MS_ID_UCS_4</a> 10 +</pre> + +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_MICROSOFT</a> charmaps and name entries.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_MS_ID_SYMBOL_CS">TT_MS_ID_SYMBOL_CS</td><td class="desc"> +<p>Corresponds to Microsoft symbol encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_MS_SYMBOL</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_UNICODE_CS">TT_MS_ID_UNICODE_CS</td><td class="desc"> +<p>Corresponds to a Microsoft WGL4 charmap, matching Unicode. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_UNICODE</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_SJIS">TT_MS_ID_SJIS</td><td class="desc"> +<p>Corresponds to SJIS Japanese encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_SJIS</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_GB2312">TT_MS_ID_GB2312</td><td class="desc"> +<p>Corresponds to Simplified Chinese as used in Mainland China. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_GB2312</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_BIG_5">TT_MS_ID_BIG_5</td><td class="desc"> +<p>Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_BIG5</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_WANSUNG">TT_MS_ID_WANSUNG</td><td class="desc"> +<p>Corresponds to Korean Wansung encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_WANSUNG</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_JOHAB">TT_MS_ID_JOHAB</td><td class="desc"> +<p>Corresponds to Johab encoding. See <a href="ft2-base_interface.html#FT_Encoding">FT_ENCODING_JOHAB</a>.</p> +</td></tr> +<tr><td class="val" id="TT_MS_ID_UCS_4">TT_MS_ID_UCS_4</td><td class="desc"> +<p>Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_ADOBE_ID_XXX">TT_ADOBE_ID_XXX</h3> +<p>Defined in FT_TRUETYPE_IDS_H (ttnameid.h).</p> +<pre> +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_STANDARD">TT_ADOBE_ID_STANDARD</a> 0 +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_EXPERT">TT_ADOBE_ID_EXPERT</a> 1 +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_CUSTOM">TT_ADOBE_ID_CUSTOM</a> 2 +#define <a href="ft2-truetype_tables.html#TT_ADOBE_ID_LATIN_1">TT_ADOBE_ID_LATIN_1</a> 3 +</pre> + +<p>A list of valid values for the ‘encoding_id’ for <a href="ft2-truetype_tables.html#TT_PLATFORM_XXX">TT_PLATFORM_ADOBE</a> charmaps. This is a FreeType-specific extension!</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_ADOBE_ID_STANDARD">TT_ADOBE_ID_STANDARD</td><td class="desc"> +<p>Adobe standard encoding.</p> +</td></tr> +<tr><td class="val" id="TT_ADOBE_ID_EXPERT">TT_ADOBE_ID_EXPERT</td><td class="desc"> +<p>Adobe expert encoding.</p> +</td></tr> +<tr><td class="val" id="TT_ADOBE_ID_CUSTOM">TT_ADOBE_ID_CUSTOM</td><td class="desc"> +<p>Adobe custom encoding.</p> +</td></tr> +<tr><td class="val" id="TT_ADOBE_ID_LATIN_1">TT_ADOBE_ID_LATIN_1</td><td class="desc"> +<p>Adobe Latin 1 encoding.</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> </body> </html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-tt_driver.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-tt_driver.html new file mode 100644 index 00000000000..de709918f23 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-tt_driver.html @@ -0,0 +1,183 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>The TrueType driver</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#interpreter-version">interpreter-version</a></td><td><a href="#TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</a></td></tr> +</table> + + +<p>While FreeType's TrueType driver doesn't expose API functions by itself, it is possible to control its behaviour with <a href="ft2-module_management.html#FT_Property_Set">FT_Property_Set</a> and <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a>. The following lists the available properties together with the necessary macros and structures.</p> +<p>The TrueType driver's module name is ‘truetype’.</p> + +<div class="section"> +<h3 id="interpreter-version">interpreter-version</h3> + +<p>Currently, two versions are available, representing 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).</p> +<p>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.</p> +<p>Details on subpixel hinting and some of the necessary tweaks can be found in Greg Hitchcock's whitepaper at ‘<a href="http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx">http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx</a>’.</p> +<p>The following example code demonstrates how to activate subpixel hinting (omitting the error handling).</p> +<pre class="colored"> + 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 ); +</pre> + +<h4>note</h4> +<p>This property can be used with <a href="ft2-module_management.html#FT_Property_Get">FT_Property_Get</a> also.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="TT_INTERPRETER_VERSION_XXX">TT_INTERPRETER_VERSION_XXX</h3> +<p>Defined in FT_TRUETYPE_DRIVER_H (ftttdrv.h).</p> +<pre> +#define <a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_35">TT_INTERPRETER_VERSION_35</a> 35 +#define <a href="ft2-tt_driver.html#TT_INTERPRETER_VERSION_38">TT_INTERPRETER_VERSION_38</a> 38 +</pre> + +<p>A list of constants used for the <a href="ft2-tt_driver.html#interpreter-version">interpreter-version</a> property to select the hinting engine for Truetype fonts.</p> +<p>The numeric value in the constant names represents the version number as returned by the ‘GETINFO’ bytecode instruction.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="TT_INTERPRETER_VERSION_35">TT_INTERPRETER_VERSION_35</td><td class="desc"> +<p>Version 35 corresponds to MS rasterizer v.1.7 as used e.g. in Windows 98; only grayscale and B/W rasterizing is supported.</p> +</td></tr> +<tr><td class="val" id="TT_INTERPRETER_VERSION_38">TT_INTERPRETER_VERSION_38</td><td class="desc"> +<p>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).</p> +</td></tr> +</table> + +<h4>note</h4> +<p>This property controls the behaviour of the bytecode interpreter and thus how outlines get hinted. It does <b>not</b> control how glyph get rasterized! In particular, it does not control subpixel color filtering.</p> +<p>If FreeType has not been compiled with configuration option FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version 38 causes an ‘FT_Err_Unimplemented_Feature’ error.</p> +<p>Depending on the graphics framework, Microsoft uses different bytecode engines. As a consequence, the version numbers returned by a call to the ‘GETINFO[1]’ bytecode instruction are more convoluted than desired.</p> +<pre class="colored"> + framework Windows version result of GETINFO[1] + ---------------------------------------------------- + GDI before XP 35 + GDI XP and later 37 + GDI+ old before Vista 37 + GDI+ old Vista, 7 38 + GDI+ after 7 40 + DWrite before 8 39 + DWrite 8 and later 40 +</pre> +<p>Since FreeType doesn't provide all capabilities of DWrite ClearType, using version 38 seems justified.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-type1_tables.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-type1_tables.html new file mode 100644 index 00000000000..9dae39599db --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-type1_tables.html @@ -0,0 +1,858 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Type 1 Tables</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#PS_FontInfoRec">PS_FontInfoRec</a></td><td><a href="#CID_FaceInfo">CID_FaceInfo</a></td><td><a href="#T1_EncodingType">T1_EncodingType</a></td></tr> +<tr><td><a href="#PS_FontInfo">PS_FontInfo</a></td><td> </td><td><a href="#PS_Dict_Keys">PS_Dict_Keys</a></td></tr> +<tr><td><a href="#PS_PrivateRec">PS_PrivateRec</a></td><td><a href="#FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</a></td><td> </td></tr> +<tr><td><a href="#PS_Private">PS_Private</a></td><td><a href="#FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</a></td><td><a href="#T1_FontInfo">T1_FontInfo</a></td></tr> +<tr><td> </td><td><a href="#FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</a></td><td><a href="#T1_Private">T1_Private</a></td></tr> +<tr><td><a href="#CID_FaceDictRec">CID_FaceDictRec</a></td><td><a href="#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a></td><td><a href="#CID_FontDict">CID_FontDict</a></td></tr> +<tr><td><a href="#CID_FaceDict">CID_FaceDict</a></td><td> </td><td><a href="#CID_Info">CID_Info</a></td></tr> +<tr><td><a href="#CID_FaceInfoRec">CID_FaceInfoRec</a></td><td><a href="#T1_Blend_Flags">T1_Blend_Flags</a></td><td></td></tr> +</table> + + +<p>This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.</p> + +<div class="section"> +<h3 id="PS_FontInfoRec">PS_FontInfoRec</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* version; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* notice; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* full_name; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* family_name; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* weight; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> italic_angle; + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> is_fixed_pitch; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> underline_position; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> underline_thickness; + + } <b>PS_FontInfoRec</b>; +</pre> + +<p>A structure used to model a Type 1 or Type 2 FontInfo dictionary. Note that for Multiple Master fonts, each instance has its own FontInfo dictionary.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="PS_FontInfo">PS_FontInfo</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_FontInfoRec_* <b>PS_FontInfo</b>; +</pre> + +<p>A handle to a <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="PS_PrivateRec">PS_PrivateRec</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_ + { + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> unique_id; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> lenIV; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_blue_values; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_other_blues; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_family_blues; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_family_other_blues; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> blue_values[14]; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> other_blues[10]; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> family_blues [14]; + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> family_other_blues[10]; + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> blue_scale; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> blue_shift; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> blue_fuzz; + + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> standard_width[1]; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> standard_height[1]; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_snap_widths; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> num_snap_heights; + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> force_bold; + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> round_stem_up; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> snap_widths [13]; /* including std width */ + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> snap_heights[13]; /* including std height */ + + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor; + + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> language_group; + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> password; + + <a href="ft2-basic_types.html#FT_Short">FT_Short</a> min_feature[2]; + + } <b>PS_PrivateRec</b>; +</pre> + +<p>A structure used to model a Type 1 or Type 2 private dictionary. Note that for Multiple Master fonts, each instance has its own Private dictionary.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="PS_Private">PS_Private</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> PS_PrivateRec_* <b>PS_Private</b>; +</pre> + +<p>A handle to a <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="CID_FaceDictRec">CID_FaceDictRec</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_ + { + <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> private_dict; + + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> len_buildchar; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> forcebold_threshold; + <a href="ft2-basic_types.html#FT_Pos">FT_Pos</a> stroke_width; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> expansion_factor; + + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> paint_type; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> font_type; + <a href="ft2-basic_types.html#FT_Matrix">FT_Matrix</a> font_matrix; + <a href="ft2-basic_types.html#FT_Vector">FT_Vector</a> font_offset; + + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> num_subrs; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> subrmap_offset; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> sd_bytes; + + } <b>CID_FaceDictRec</b>; +</pre> + +<p>A structure used to represent data in a CID top-level dictionary.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="CID_FaceDict">CID_FaceDict</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceDictRec_* <b>CID_FaceDict</b>; +</pre> + +<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="CID_FaceInfoRec">CID_FaceInfoRec</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_ + { + <a href="ft2-basic_types.html#FT_String">FT_String</a>* cid_font_name; + <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> cid_version; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> cid_font_type; + + <a href="ft2-basic_types.html#FT_String">FT_String</a>* registry; + <a href="ft2-basic_types.html#FT_String">FT_String</a>* ordering; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> supplement; + + <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> font_info; + <a href="ft2-basic_types.html#FT_BBox">FT_BBox</a> font_bbox; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> uid_base; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_xuid; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> xuid[16]; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> cidmap_offset; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> fd_bytes; + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> gd_bytes; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> cid_count; + + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> num_dicts; + <a href="ft2-type1_tables.html#CID_FaceDict">CID_FaceDict</a> font_dicts; + + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> data_offset; + + } <b>CID_FaceInfoRec</b>; +</pre> + +<p>A structure used to represent CID Face information.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="CID_FaceInfo">CID_FaceInfo</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> CID_FaceInfoRec_* <b>CID_FaceInfo</b>; +</pre> + +<p>A handle to a <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Has_PS_Glyph_Names">FT_Has_PS_Glyph_Names</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Int">FT_Int</a> ) + <b>FT_Has_PS_Glyph_Names</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Return true if a given face provides reliable PostScript glyph names. This is similar to using the <a href="ft2-base_interface.html#FT_HAS_GLYPH_NAMES">FT_HAS_GLYPH_NAMES</a> macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.</p> +<p>When this function returns true, the caller is sure that the glyph names returned by <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a> are reliable.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>face handle</p> +</td></tr> +</table> + +<h4>return</h4> +<p>Boolean. True if glyph names are reliable.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_PS_Font_Info">FT_Get_PS_Font_Info</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PS_Font_Info</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-type1_tables.html#PS_FontInfo">PS_FontInfo</a> afont_info ); +</pre> + +<p>Retrieve the <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> structure corresponding to a given PostScript font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>PostScript face handle.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="afont_info">afont_info</td><td class="desc"> +<p>Output font info structure pointer.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.</p> +<p>If the font's format is not PostScript-based, this function will return the ‘FT_Err_Invalid_Argument’ error code.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_PS_Font_Private">FT_Get_PS_Font_Private</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_PS_Font_Private</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-type1_tables.html#PS_Private">PS_Private</a> afont_private ); +</pre> + +<p>Retrieve the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure corresponding to a given PostScript font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>PostScript face handle.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="afont_private">afont_private</td><td class="desc"> +<p>Output private dictionary structure pointer.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>The string pointers within the <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> structure are owned by the face and don't need to be freed by the caller.</p> +<p>If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Long">FT_Long</a> ) + <b>FT_Get_PS_Font_Value</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-type1_tables.html#PS_Dict_Keys">PS_Dict_Keys</a> key, + <a href="ft2-basic_types.html#FT_UInt">FT_UInt</a> idx, + <span class="keyword">void</span> *value, + <a href="ft2-basic_types.html#FT_Long">FT_Long</a> value_len ); +</pre> + +<p>Retrieve the value for the supplied key from a PostScript font.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>PostScript face handle.</p> +</td></tr> +<tr><td class="val" id="key">key</td><td class="desc"> +<p>An enumeration value representing the dictionary key to retrieve.</p> +</td></tr> +<tr><td class="val" id="idx">idx</td><td class="desc"> +<p>For array values, this specifies the index to be returned.</p> +</td></tr> +<tr><td class="val" id="value">value</td><td class="desc"> +<p>A pointer to memory into which to write the value.</p> +</td></tr> +<tr><td class="val" id="valen_len">valen_len</td><td class="desc"> +<p>The size, in bytes, of the memory supplied for the value.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="value">value</td><td class="desc"> +<p>The value matching the above key, if it exists.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).</p> + +<h4>note</h4> +<p>The values returned are not pointers into the internal structures of the face, but are ‘fresh’ copies, so that the memory containing them belongs to the calling application. This also enforces the ‘read-only’ nature of these values, i.e., this function cannot be used to manipulate the face.</p> +<p>‘value’ is a void pointer because the values returned can be of various types.</p> +<p>If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested entry is returned.</p> +<p>The ‘idx’ parameter is used, not only to retrieve elements of, for example, the FontMatrix or FontBBox, but also to retrieve name keys from the CharStrings dictionary, and the charstrings themselves. It is ignored for atomic values.</p> +<p>PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To get the value as in the font stream, you need to divide by 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale).</p> +<p>IMPORTANT: Only key/value pairs read by the FreeType interpreter can be retrieved. So, for example, PostScript procedures such as NP, ND, and RD are not available. Arbitrary keys are, obviously, not be available either.</p> +<p>If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="T1_Blend_Flags">T1_Blend_Flags</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_Blend_Flags_ + { + /* required fields in a FontInfo blend dictionary */ + <a href="ft2-type1_tables.html#T1_BLEND_UNDERLINE_POSITION">T1_BLEND_UNDERLINE_POSITION</a> = 0, + <a href="ft2-type1_tables.html#T1_BLEND_UNDERLINE_THICKNESS">T1_BLEND_UNDERLINE_THICKNESS</a>, + <a href="ft2-type1_tables.html#T1_BLEND_ITALIC_ANGLE">T1_BLEND_ITALIC_ANGLE</a>, + + /* required fields in a Private blend dictionary */ + <a href="ft2-type1_tables.html#T1_BLEND_BLUE_VALUES">T1_BLEND_BLUE_VALUES</a>, + <a href="ft2-type1_tables.html#T1_BLEND_OTHER_BLUES">T1_BLEND_OTHER_BLUES</a>, + <a href="ft2-type1_tables.html#T1_BLEND_STANDARD_WIDTH">T1_BLEND_STANDARD_WIDTH</a>, + <a href="ft2-type1_tables.html#T1_BLEND_STANDARD_HEIGHT">T1_BLEND_STANDARD_HEIGHT</a>, + <a href="ft2-type1_tables.html#T1_BLEND_STEM_SNAP_WIDTHS">T1_BLEND_STEM_SNAP_WIDTHS</a>, + <a href="ft2-type1_tables.html#T1_BLEND_STEM_SNAP_HEIGHTS">T1_BLEND_STEM_SNAP_HEIGHTS</a>, + <a href="ft2-type1_tables.html#T1_BLEND_BLUE_SCALE">T1_BLEND_BLUE_SCALE</a>, + <a href="ft2-type1_tables.html#T1_BLEND_BLUE_SHIFT">T1_BLEND_BLUE_SHIFT</a>, + <a href="ft2-type1_tables.html#T1_BLEND_FAMILY_BLUES">T1_BLEND_FAMILY_BLUES</a>, + <a href="ft2-type1_tables.html#T1_BLEND_FAMILY_OTHER_BLUES">T1_BLEND_FAMILY_OTHER_BLUES</a>, + <a href="ft2-type1_tables.html#T1_BLEND_FORCE_BOLD">T1_BLEND_FORCE_BOLD</a>, + + T1_BLEND_MAX /* do not remove */ + + } <b>T1_Blend_Flags</b>; + + + /* these constants are deprecated; use the corresponding */ + /* `<b>T1_Blend_Flags</b>' values instead */ +#define t1_blend_underline_position <a href="ft2-type1_tables.html#T1_BLEND_UNDERLINE_POSITION">T1_BLEND_UNDERLINE_POSITION</a> +#define t1_blend_underline_thickness <a href="ft2-type1_tables.html#T1_BLEND_UNDERLINE_THICKNESS">T1_BLEND_UNDERLINE_THICKNESS</a> +#define t1_blend_italic_angle <a href="ft2-type1_tables.html#T1_BLEND_ITALIC_ANGLE">T1_BLEND_ITALIC_ANGLE</a> +#define t1_blend_blue_values <a href="ft2-type1_tables.html#T1_BLEND_BLUE_VALUES">T1_BLEND_BLUE_VALUES</a> +#define t1_blend_other_blues <a href="ft2-type1_tables.html#T1_BLEND_OTHER_BLUES">T1_BLEND_OTHER_BLUES</a> +#define t1_blend_standard_widths <a href="ft2-type1_tables.html#T1_BLEND_STANDARD_WIDTH">T1_BLEND_STANDARD_WIDTH</a> +#define t1_blend_standard_height <a href="ft2-type1_tables.html#T1_BLEND_STANDARD_HEIGHT">T1_BLEND_STANDARD_HEIGHT</a> +#define t1_blend_stem_snap_widths <a href="ft2-type1_tables.html#T1_BLEND_STEM_SNAP_WIDTHS">T1_BLEND_STEM_SNAP_WIDTHS</a> +#define t1_blend_stem_snap_heights <a href="ft2-type1_tables.html#T1_BLEND_STEM_SNAP_HEIGHTS">T1_BLEND_STEM_SNAP_HEIGHTS</a> +#define t1_blend_blue_scale <a href="ft2-type1_tables.html#T1_BLEND_BLUE_SCALE">T1_BLEND_BLUE_SCALE</a> +#define t1_blend_blue_shift <a href="ft2-type1_tables.html#T1_BLEND_BLUE_SHIFT">T1_BLEND_BLUE_SHIFT</a> +#define t1_blend_family_blues <a href="ft2-type1_tables.html#T1_BLEND_FAMILY_BLUES">T1_BLEND_FAMILY_BLUES</a> +#define t1_blend_family_other_blues <a href="ft2-type1_tables.html#T1_BLEND_FAMILY_OTHER_BLUES">T1_BLEND_FAMILY_OTHER_BLUES</a> +#define t1_blend_force_bold <a href="ft2-type1_tables.html#T1_BLEND_FORCE_BOLD">T1_BLEND_FORCE_BOLD</a> +#define t1_blend_max T1_BLEND_MAX +</pre> + +<p>A set of flags used to indicate which fields are present in a given blend dictionary (font info or private). Used to support Multiple Masters fonts.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="T1_BLEND_UNDERLINE_POSITION">T1_BLEND_UNDERLINE_POSITION</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_UNDERLINE_THICKNESS">T1_BLEND_UNDERLINE_THICKNESS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_ITALIC_ANGLE">T1_BLEND_ITALIC_ANGLE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_BLUE_VALUES">T1_BLEND_BLUE_VALUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_OTHER_BLUES">T1_BLEND_OTHER_BLUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_STANDARD_WIDTH">T1_BLEND_STANDARD_WIDTH</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_STANDARD_HEIGHT">T1_BLEND_STANDARD_HEIGHT</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_STEM_SNAP_WIDTHS">T1_BLEND_STEM_SNAP_WIDTHS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_STEM_SNAP_HEIGHTS">T1_BLEND_STEM_SNAP_HEIGHTS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_BLUE_SCALE">T1_BLEND_BLUE_SCALE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_BLUE_SHIFT">T1_BLEND_BLUE_SHIFT</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_FAMILY_BLUES">T1_BLEND_FAMILY_BLUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_FAMILY_OTHER_BLUES">T1_BLEND_FAMILY_OTHER_BLUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_BLEND_FORCE_BOLD">T1_BLEND_FORCE_BOLD</td><td class="desc"> +<p></p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="T1_EncodingType">T1_EncodingType</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> T1_EncodingType_ + { + <a href="ft2-type1_tables.html#T1_ENCODING_TYPE_NONE">T1_ENCODING_TYPE_NONE</a> = 0, + <a href="ft2-type1_tables.html#T1_ENCODING_TYPE_ARRAY">T1_ENCODING_TYPE_ARRAY</a>, + <a href="ft2-type1_tables.html#T1_ENCODING_TYPE_STANDARD">T1_ENCODING_TYPE_STANDARD</a>, + <a href="ft2-type1_tables.html#T1_ENCODING_TYPE_ISOLATIN1">T1_ENCODING_TYPE_ISOLATIN1</a>, + <a href="ft2-type1_tables.html#T1_ENCODING_TYPE_EXPERT">T1_ENCODING_TYPE_EXPERT</a> + + } <b>T1_EncodingType</b>; +</pre> + +<p>An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="T1_ENCODING_TYPE_NONE">T1_ENCODING_TYPE_NONE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_ENCODING_TYPE_ARRAY">T1_ENCODING_TYPE_ARRAY</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_ENCODING_TYPE_STANDARD">T1_ENCODING_TYPE_STANDARD</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_ENCODING_TYPE_ISOLATIN1">T1_ENCODING_TYPE_ISOLATIN1</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="T1_ENCODING_TYPE_EXPERT">T1_ENCODING_TYPE_EXPERT</td><td class="desc"> +<p></p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="PS_Dict_Keys">PS_Dict_Keys</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">enum</span> PS_Dict_Keys_ + { + /* conventionally in the font dictionary */ + <a href="ft2-type1_tables.html#PS_DICT_FONT_TYPE">PS_DICT_FONT_TYPE</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FONT_MATRIX">PS_DICT_FONT_MATRIX</a>, /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FONT_BBOX">PS_DICT_FONT_BBOX</a>, /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> */ + <a href="ft2-type1_tables.html#PS_DICT_PAINT_TYPE">PS_DICT_PAINT_TYPE</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FONT_NAME">PS_DICT_FONT_NAME</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_UNIQUE_ID">PS_DICT_UNIQUE_ID</a>, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_CHAR_STRINGS">PS_DICT_NUM_CHAR_STRINGS</a>, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ + <a href="ft2-type1_tables.html#PS_DICT_CHAR_STRING_KEY">PS_DICT_CHAR_STRING_KEY</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_CHAR_STRING">PS_DICT_CHAR_STRING</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_ENCODING_TYPE">PS_DICT_ENCODING_TYPE</a>, /* <a href="ft2-type1_tables.html#T1_EncodingType">T1_EncodingType</a> */ + <a href="ft2-type1_tables.html#PS_DICT_ENCODING_ENTRY">PS_DICT_ENCODING_ENTRY</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + + /* conventionally in the font Private dictionary */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_SUBRS">PS_DICT_NUM_SUBRS</a>, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ + <a href="ft2-type1_tables.html#PS_DICT_SUBR">PS_DICT_SUBR</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_STD_HW">PS_DICT_STD_HW</a>, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ + <a href="ft2-type1_tables.html#PS_DICT_STD_VW">PS_DICT_STD_VW</a>, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_BLUE_VALUES">PS_DICT_NUM_BLUE_VALUES</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_BLUE_VALUE">PS_DICT_BLUE_VALUE</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_BLUE_FUZZ">PS_DICT_BLUE_FUZZ</a>, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_OTHER_BLUES">PS_DICT_NUM_OTHER_BLUES</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_OTHER_BLUE">PS_DICT_OTHER_BLUE</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_FAMILY_BLUES">PS_DICT_NUM_FAMILY_BLUES</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FAMILY_BLUE">PS_DICT_FAMILY_BLUE</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_FAMILY_OTHER_BLUES">PS_DICT_NUM_FAMILY_OTHER_BLUES</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FAMILY_OTHER_BLUE">PS_DICT_FAMILY_OTHER_BLUE</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_BLUE_SCALE">PS_DICT_BLUE_SCALE</a>, /* <a href="ft2-basic_types.html#FT_Fixed">FT_Fixed</a> */ + <a href="ft2-type1_tables.html#PS_DICT_BLUE_SHIFT">PS_DICT_BLUE_SHIFT</a>, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_STEM_SNAP_H">PS_DICT_NUM_STEM_SNAP_H</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_STEM_SNAP_H">PS_DICT_STEM_SNAP_H</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_NUM_STEM_SNAP_V">PS_DICT_NUM_STEM_SNAP_V</a>, /* <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> */ + <a href="ft2-type1_tables.html#PS_DICT_STEM_SNAP_V">PS_DICT_STEM_SNAP_V</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FORCE_BOLD">PS_DICT_FORCE_BOLD</a>, /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> */ + <a href="ft2-type1_tables.html#PS_DICT_RND_STEM_UP">PS_DICT_RND_STEM_UP</a>, /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> */ + <a href="ft2-type1_tables.html#PS_DICT_MIN_FEATURE">PS_DICT_MIN_FEATURE</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_LEN_IV">PS_DICT_LEN_IV</a>, /* <a href="ft2-basic_types.html#FT_Int">FT_Int</a> */ + <a href="ft2-type1_tables.html#PS_DICT_PASSWORD">PS_DICT_PASSWORD</a>, /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a> */ + <a href="ft2-type1_tables.html#PS_DICT_LANGUAGE_GROUP">PS_DICT_LANGUAGE_GROUP</a>, /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a> */ + + /* conventionally in the font FontInfo dictionary */ + <a href="ft2-type1_tables.html#PS_DICT_VERSION">PS_DICT_VERSION</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_NOTICE">PS_DICT_NOTICE</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_FULL_NAME">PS_DICT_FULL_NAME</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_FAMILY_NAME">PS_DICT_FAMILY_NAME</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_WEIGHT">PS_DICT_WEIGHT</a>, /* <a href="ft2-basic_types.html#FT_String">FT_String</a>* */ + <a href="ft2-type1_tables.html#PS_DICT_IS_FIXED_PITCH">PS_DICT_IS_FIXED_PITCH</a>, /* <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> */ + <a href="ft2-type1_tables.html#PS_DICT_UNDERLINE_POSITION">PS_DICT_UNDERLINE_POSITION</a>, /* <a href="ft2-basic_types.html#FT_Short">FT_Short</a> */ + <a href="ft2-type1_tables.html#PS_DICT_UNDERLINE_THICKNESS">PS_DICT_UNDERLINE_THICKNESS</a>, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ + <a href="ft2-type1_tables.html#PS_DICT_FS_TYPE">PS_DICT_FS_TYPE</a>, /* <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> */ + <a href="ft2-type1_tables.html#PS_DICT_ITALIC_ANGLE">PS_DICT_ITALIC_ANGLE</a>, /* <a href="ft2-basic_types.html#FT_Long">FT_Long</a> */ + + PS_DICT_MAX = <a href="ft2-type1_tables.html#PS_DICT_ITALIC_ANGLE">PS_DICT_ITALIC_ANGLE</a> + + } <b>PS_Dict_Keys</b>; +</pre> + +<p>An enumeration used in calls to <a href="ft2-type1_tables.html#FT_Get_PS_Font_Value">FT_Get_PS_Font_Value</a> to identify the Type 1 dictionary entry to retrieve.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="PS_DICT_FONT_TYPE">PS_DICT_FONT_TYPE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FONT_MATRIX">PS_DICT_FONT_MATRIX</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FONT_BBOX">PS_DICT_FONT_BBOX</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_PAINT_TYPE">PS_DICT_PAINT_TYPE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FONT_NAME">PS_DICT_FONT_NAME</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_UNIQUE_ID">PS_DICT_UNIQUE_ID</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_CHAR_STRINGS">PS_DICT_NUM_CHAR_STRINGS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_CHAR_STRING_KEY">PS_DICT_CHAR_STRING_KEY</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_CHAR_STRING">PS_DICT_CHAR_STRING</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_ENCODING_TYPE">PS_DICT_ENCODING_TYPE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_ENCODING_ENTRY">PS_DICT_ENCODING_ENTRY</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_SUBRS">PS_DICT_NUM_SUBRS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_SUBR">PS_DICT_SUBR</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_STD_HW">PS_DICT_STD_HW</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_STD_VW">PS_DICT_STD_VW</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_BLUE_VALUES">PS_DICT_NUM_BLUE_VALUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_BLUE_VALUE">PS_DICT_BLUE_VALUE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_BLUE_FUZZ">PS_DICT_BLUE_FUZZ</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_OTHER_BLUES">PS_DICT_NUM_OTHER_BLUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_OTHER_BLUE">PS_DICT_OTHER_BLUE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_FAMILY_BLUES">PS_DICT_NUM_FAMILY_BLUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FAMILY_BLUE">PS_DICT_FAMILY_BLUE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_FAMILY_OTHER_BLUES">PS_DICT_NUM_FAMILY_OTHER_BLUES</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FAMILY_OTHER_BLUE">PS_DICT_FAMILY_OTHER_BLUE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_BLUE_SCALE">PS_DICT_BLUE_SCALE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_BLUE_SHIFT">PS_DICT_BLUE_SHIFT</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_STEM_SNAP_H">PS_DICT_NUM_STEM_SNAP_H</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_STEM_SNAP_H">PS_DICT_STEM_SNAP_H</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NUM_STEM_SNAP_V">PS_DICT_NUM_STEM_SNAP_V</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_STEM_SNAP_V">PS_DICT_STEM_SNAP_V</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FORCE_BOLD">PS_DICT_FORCE_BOLD</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_RND_STEM_UP">PS_DICT_RND_STEM_UP</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_MIN_FEATURE">PS_DICT_MIN_FEATURE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_LEN_IV">PS_DICT_LEN_IV</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_PASSWORD">PS_DICT_PASSWORD</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_LANGUAGE_GROUP">PS_DICT_LANGUAGE_GROUP</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_VERSION">PS_DICT_VERSION</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_NOTICE">PS_DICT_NOTICE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FULL_NAME">PS_DICT_FULL_NAME</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FAMILY_NAME">PS_DICT_FAMILY_NAME</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_WEIGHT">PS_DICT_WEIGHT</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_IS_FIXED_PITCH">PS_DICT_IS_FIXED_PITCH</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_UNDERLINE_POSITION">PS_DICT_UNDERLINE_POSITION</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_UNDERLINE_THICKNESS">PS_DICT_UNDERLINE_THICKNESS</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_FS_TYPE">PS_DICT_FS_TYPE</td><td class="desc"> +<p></p> +</td></tr> +<tr><td class="val" id="PS_DICT_ITALIC_ANGLE">PS_DICT_ITALIC_ANGLE</td><td class="desc"> +<p></p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="T1_FontInfo">T1_FontInfo</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a> <b>T1_FontInfo</b>; +</pre> + +<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_FontInfoRec">PS_FontInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="T1_Private">T1_Private</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a> <b>T1_Private</b>; +</pre> + +<p>This type is equivalent to <a href="ft2-type1_tables.html#PS_PrivateRec">PS_PrivateRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="CID_FontDict">CID_FontDict</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a> <b>CID_FontDict</b>; +</pre> + +<p>This type is equivalent to <a href="ft2-type1_tables.html#CID_FaceDictRec">CID_FaceDictRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="CID_Info">CID_Info</h3> +<p>Defined in FT_TYPE1_TABLES_H (t1tables.h).</p> +<pre> + <span class="keyword">typedef</span> <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a> <b>CID_Info</b>; +</pre> + +<p>This type is equivalent to <a href="ft2-type1_tables.html#CID_FaceInfoRec">CID_FaceInfoRec</a>. It is deprecated but kept to maintain source compatibility between various versions of FreeType.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-user_allocation.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-user_allocation.html new file mode 100644 index 00000000000..5a6390c6a9f --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-user_allocation.html @@ -0,0 +1,110 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>User allocation</h1> + +<p>FreeType assumes that structures allocated by the user and passed as arguments are zeroed out except for the actual data. In other words, it is recommended to use ‘calloc’ (or variants of it) instead of ‘malloc’ for allocation.</p> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-version.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-version.html new file mode 100644 index 00000000000..901c0c493ca --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-version.html @@ -0,0 +1,252 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>FreeType Version</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_Library_Version">FT_Library_Version</a></td><td> </td></tr> +<tr><td> </td><td><a href="#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a></td></tr> +<tr><td><a href="#FREETYPE_MAJOR">FREETYPE_MAJOR</a></td><td><a href="#FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</a></td></tr> +<tr><td><a href="#FREETYPE_MINOR">FREETYPE_MINOR</a></td><td> </td></tr> +<tr><td><a href="#FREETYPE_PATCH">FREETYPE_PATCH</a></td><td><a href="#FREETYPE_XXX">FREETYPE_XXX</a></td></tr> +</table> + + +<p>Note that those functions and macros are of limited use because even a new release of FreeType with only documentation changes increases the version number.</p> + +<div class="section"> +<h3 id="FT_Library_Version">FT_Library_Version</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <span class="keyword">void</span> ) + <b>FT_Library_Version</b>( <a href="ft2-base_interface.html#FT_Library">FT_Library</a> library, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *amajor, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *aminor, + <a href="ft2-basic_types.html#FT_Int">FT_Int</a> *apatch ); +</pre> + +<p>Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MAJOR</a>, <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_MINOR</a>, and <a href="ft2-version.html#FREETYPE_XXX">FREETYPE_PATCH</a>.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="library">library</td><td class="desc"> +<p>A source library handle.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="amajor">amajor</td><td class="desc"> +<p>The major version number.</p> +</td></tr> +<tr><td class="val" id="aminor">aminor</td><td class="desc"> +<p>The minor version number.</p> +</td></tr> +<tr><td class="val" id="apatch">apatch</td><td class="desc"> +<p>The patch version number.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use <a href="ft2-base_interface.html#FT_Init_FreeType">FT_Init_FreeType</a>.</p> +<p>In such cases, the library version might not be available before the library object has been created.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> ) + <b>FT_Face_CheckTrueTypePatents</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face ); +</pre> + +<p>Parse all bytecode instructions of a TrueType font file to check whether any of the patented opcodes are used. This is only useful if you want to be able to use the unpatented hinter with fonts that do <b>not</b> use these opcodes.</p> +<p>Note that this function parses <b>all</b> glyph instructions in the font file, which may be slow.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A face handle.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.</p> + +<h4>note</h4> +<p>Since May 2010, TrueType hinting is no longer patented.</p> + +<h4>since</h4> +<p>2.3.5</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Face_SetUnpatentedHinting">FT_Face_SetUnpatentedHinting</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> ) + <b>FT_Face_SetUnpatentedHinting</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-basic_types.html#FT_Bool">FT_Bool</a> value ); +</pre> + +<p>Enable or disable the unpatented hinter for a given face. Only enable it if you have determined that the face doesn't use any patented opcodes (see <a href="ft2-version.html#FT_Face_CheckTrueTypePatents">FT_Face_CheckTrueTypePatents</a>).</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A face handle.</p> +</td></tr> +<tr><td class="val" id="value">value</td><td class="desc"> +<p>New boolean setting.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>The old setting value. This will always be false if this is not an SFNT font, or if the unpatented hinter is not compiled in this instance of the library.</p> + +<h4>note</h4> +<p>Since May 2010, TrueType hinting is no longer patented.</p> + +<h4>since</h4> +<p>2.3.5</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FREETYPE_XXX">FREETYPE_XXX</h3> +<p>Defined in FT_FREETYPE_H (freetype.h).</p> +<pre> +#define <a href="ft2-version.html#FREETYPE_MAJOR">FREETYPE_MAJOR</a> 2 +#define <a href="ft2-version.html#FREETYPE_MINOR">FREETYPE_MINOR</a> 5 +#define <a href="ft2-version.html#FREETYPE_PATCH">FREETYPE_PATCH</a> 4 +</pre> + +<p>These three macros identify the FreeType source code version. Use <a href="ft2-version.html#FT_Library_Version">FT_Library_Version</a> to access them at runtime.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FREETYPE_MAJOR">FREETYPE_MAJOR</td><td class="desc"> +<p>The major version number.</p> +</td></tr> +<tr><td class="val" id="FREETYPE_MINOR">FREETYPE_MINOR</td><td class="desc"> +<p>The minor version number.</p> +</td></tr> +<tr><td class="val" id="FREETYPE_PATCH">FREETYPE_PATCH</td><td class="desc"> +<p>The patch level.</p> +</td></tr> +</table> + +<h4>note</h4> +<p>The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is <i>not</i> controlled by these three macros.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-winfnt_fonts.html b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-winfnt_fonts.html new file mode 100644 index 00000000000..c85b9d623c8 --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/reference/ft2-winfnt_fonts.html @@ -0,0 +1,310 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>FreeType-2.5.4 API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> + +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> +<h1>FreeType-2.5.4 API Reference</h1> + +<h1>Window FNT Files</h1> +<h2>Synopsis</h2> +<table class="synopsis"> +<tr><td><a href="#FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</a></td><td><a href="#FT_WinFNT_Header">FT_WinFNT_Header</a></td><td></td></tr> +<tr><td><a href="#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a></td><td><a href="#FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</a></td><td></td></tr> +</table> + + +<p>This section contains the declaration of Windows FNT specific functions.</p> + +<div class="section"> +<h3 id="FT_WinFNT_ID_XXX">FT_WinFNT_ID_XXX</h3> +<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p> +<pre> +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1252">FT_WinFNT_ID_CP1252</a> 0 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_DEFAULT">FT_WinFNT_ID_DEFAULT</a> 1 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_SYMBOL">FT_WinFNT_ID_SYMBOL</a> 2 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_MAC">FT_WinFNT_ID_MAC</a> 77 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP932">FT_WinFNT_ID_CP932</a> 128 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP949">FT_WinFNT_ID_CP949</a> 129 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1361">FT_WinFNT_ID_CP1361</a> 130 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP936">FT_WinFNT_ID_CP936</a> 134 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP950">FT_WinFNT_ID_CP950</a> 136 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1253">FT_WinFNT_ID_CP1253</a> 161 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1254">FT_WinFNT_ID_CP1254</a> 162 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1258">FT_WinFNT_ID_CP1258</a> 163 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1255">FT_WinFNT_ID_CP1255</a> 177 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1256">FT_WinFNT_ID_CP1256</a> 178 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1257">FT_WinFNT_ID_CP1257</a> 186 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1251">FT_WinFNT_ID_CP1251</a> 204 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP874">FT_WinFNT_ID_CP874</a> 222 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_CP1250">FT_WinFNT_ID_CP1250</a> 238 +#define <a href="ft2-winfnt_fonts.html#FT_WinFNT_ID_OEM">FT_WinFNT_ID_OEM</a> 255 +</pre> + +<p>A list of valid values for the ‘charset’ byte in <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a>. Exact mapping tables for the various cpXXXX encodings (except for cp1361) can be found at <a href="ftp://ftp.unicode.org/public">ftp://ftp.unicode.org/public</a> in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.</p> + +<h4>values</h4> +<table class="fields"> +<tr><td class="val" id="FT_WinFNT_ID_DEFAULT">FT_WinFNT_ID_DEFAULT</td><td class="desc"> +<p>This is used for font enumeration and font creation as a ‘don't care’ value. Valid font files don't contain this value. When querying for information about the character set of the font that is currently selected into a specified device context, this return value (of the related Windows API) simply denotes failure.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_SYMBOL">FT_WinFNT_ID_SYMBOL</td><td class="desc"> +<p>There is no known mapping table available.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_MAC">FT_WinFNT_ID_MAC</td><td class="desc"> +<p>Mac Roman encoding.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_OEM">FT_WinFNT_ID_OEM</td><td class="desc"> +<p>From Michael Pöttgen <michael@poettgen.de>:</p> +<p>The ‘Windows Font Mapping’ article says that FT_WinFNT_ID_OEM is used for the charset of vector fonts, like ‘modern.fon’, ‘roman.fon’, and ‘script.fon’ on Windows.</p> +<p>The ‘CreateFont’ documentation says: The FT_WinFNT_ID_OEM value specifies a character set that is operating-system dependent.</p> +<p>The ‘IFIMETRICS’ documentation from the ‘Windows Driver Development Kit’ says: This font supports an OEM-specific character set. The OEM character set is system dependent.</p> +<p>In general OEM, as opposed to ANSI (i.e., cp1252), denotes the second default codepage that most international versions of Windows have. It is one of the OEM codepages from</p> +<p><a href="http://www.microsoft.com/globaldev/reference/cphome.mspx">http://www.microsoft.com/globaldev/reference/cphome.mspx</a>,</p> +<p>and is used for the ‘DOS boxes’, to support legacy applications. A German Windows version for example usually uses ANSI codepage 1252 and OEM codepage 850.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP874">FT_WinFNT_ID_CP874</td><td class="desc"> +<p>A superset of Thai TIS 620 and ISO 8859-11.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP932">FT_WinFNT_ID_CP932</td><td class="desc"> +<p>A superset of Japanese Shift-JIS (with minor deviations).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP936">FT_WinFNT_ID_CP936</td><td class="desc"> +<p>A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP949">FT_WinFNT_ID_CP949</td><td class="desc"> +<p>A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP950">FT_WinFNT_ID_CP950</td><td class="desc"> +<p>A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1250">FT_WinFNT_ID_CP1250</td><td class="desc"> +<p>A superset of East European ISO 8859-2 (with slightly different ordering).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1251">FT_WinFNT_ID_CP1251</td><td class="desc"> +<p>A superset of Russian ISO 8859-5 (with different ordering).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1252">FT_WinFNT_ID_CP1252</td><td class="desc"> +<p>ANSI encoding. A superset of ISO 8859-1.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1253">FT_WinFNT_ID_CP1253</td><td class="desc"> +<p>A superset of Greek ISO 8859-7 (with minor modifications).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1254">FT_WinFNT_ID_CP1254</td><td class="desc"> +<p>A superset of Turkish ISO 8859-9.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1255">FT_WinFNT_ID_CP1255</td><td class="desc"> +<p>A superset of Hebrew ISO 8859-8 (with some modifications).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1256">FT_WinFNT_ID_CP1256</td><td class="desc"> +<p>A superset of Arabic ISO 8859-6 (with different ordering).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1257">FT_WinFNT_ID_CP1257</td><td class="desc"> +<p>A superset of Baltic ISO 8859-13 (with some deviations).</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1258">FT_WinFNT_ID_CP1258</td><td class="desc"> +<p>For Vietnamese. This encoding doesn't cover all necessary characters.</p> +</td></tr> +<tr><td class="val" id="FT_WinFNT_ID_CP1361">FT_WinFNT_ID_CP1361</td><td class="desc"> +<p>Korean (Johab).</p> +</td></tr> +</table> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</h3> +<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_ + { + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> version; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> file_size; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> copyright[60]; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> file_type; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> nominal_point_size; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> vertical_resolution; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> horizontal_resolution; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> ascent; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> internal_leading; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> external_leading; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> italic; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> underline; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> strike_out; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> weight; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> charset; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> pixel_width; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> pixel_height; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> pitch_and_family; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> avg_width; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> max_width; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> first_char; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> last_char; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> default_char; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> break_char; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> bytes_per_row; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> device_offset; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> face_name_offset; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> bits_pointer; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> bits_offset; + <a href="ft2-basic_types.html#FT_Byte">FT_Byte</a> reserved; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> flags; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> A_space; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> B_space; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> C_space; + <a href="ft2-basic_types.html#FT_UShort">FT_UShort</a> color_table_offset; + <a href="ft2-basic_types.html#FT_ULong">FT_ULong</a> reserved1[4]; + + } <b>FT_WinFNT_HeaderRec</b>; +</pre> + +<p>Windows FNT Header info.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_WinFNT_Header">FT_WinFNT_Header</h3> +<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p> +<pre> + <span class="keyword">typedef</span> <span class="keyword">struct</span> FT_WinFNT_HeaderRec_* <b>FT_WinFNT_Header</b>; +</pre> + +<p>A handle to an <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> structure.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +<div class="section"> +<h3 id="FT_Get_WinFNT_Header">FT_Get_WinFNT_Header</h3> +<p>Defined in FT_WINFONTS_H (ftwinfnt.h).</p> +<pre> + FT_EXPORT( <a href="ft2-basic_types.html#FT_Error">FT_Error</a> ) + <b>FT_Get_WinFNT_Header</b>( <a href="ft2-base_interface.html#FT_Face">FT_Face</a> face, + <a href="ft2-winfnt_fonts.html#FT_WinFNT_HeaderRec">FT_WinFNT_HeaderRec</a> *aheader ); +</pre> + +<p>Retrieve a Windows FNT font info header.</p> + +<h4>input</h4> +<table class="fields"> +<tr><td class="val" id="face">face</td><td class="desc"> +<p>A handle to the input face.</p> +</td></tr> +</table> + +<h4>output</h4> +<table class="fields"> +<tr><td class="val" id="aheader">aheader</td><td class="desc"> +<p>The WinFNT header.</p> +</td></tr> +</table> + +<h4>return</h4> +<p>FreeType error code. 0 means success.</p> + +<h4>note</h4> +<p>This function only works with Windows FNT faces, returning an error otherwise.</p> + +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> + +</body> +</html> diff --git a/Build/source/libs/freetype2/freetype-2.5.3/docs/release b/Build/source/libs/freetype2/freetype-2.5.4/docs/release index cf1f643d616..cf1f643d616 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/docs/release +++ b/Build/source/libs/freetype2/freetype-2.5.4/docs/release diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftconfig.h b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftconfig.h index d98a3116bb0..22d70fd35be 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftconfig.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftconfig.h @@ -266,7 +266,16 @@ FT_BEGIN_HEADER #define FT_INT64 long #define FT_UINT64 unsigned long -#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ + /*************************************************************************/ + /* */ + /* A 64-bit data type may create compilation problems if you compile */ + /* in strict ANSI mode. To avoid them, we disable other 64-bit data */ + /* types if __STDC__ is defined. You can however ignore this rule */ + /* by defining the FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ + /* */ +#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 ) + +#if defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ /* this compiler provides the __int64 type */ #define FT_LONG64 @@ -300,27 +309,9 @@ FT_BEGIN_HEADER #define FT_INT64 long long int #define FT_UINT64 unsigned long long int -#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */ - - - /*************************************************************************/ - /* */ - /* A 64-bit data type will create compilation problems if you compile */ - /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */ - /* is defined. You can however ignore this rule by defining the */ - /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ - /* */ -#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) - -#ifdef __STDC__ - - /* undefine the 64-bit macros in strict ANSI compilation mode */ -#undef FT_LONG64 -#undef FT_INT64 - -#endif /* __STDC__ */ +#endif /* _MSC_VER */ -#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ +#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */ #ifdef FT_LONG64 typedef FT_INT64 FT_Int64; @@ -333,219 +324,6 @@ FT_BEGIN_HEADER #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT -#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER - /* Provide assembler fragments for performance-critical functions. */ - /* These must be defined `static __inline__' with GCC. */ - -#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 t, t2; - - - __asm - { - smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ - mov a, t, asr #31 /* a = (hi >> 31) */ - add a, a, #0x8000 /* a += 0x8000 */ - adds t2, t2, a /* t2 += a */ - adc t, t, #0 /* t += carry */ - mov a, t2, lsr #16 /* a = t2 >> 16 */ - orr a, a, t, lsl #16 /* a |= t << 16 */ - } - return a; - } - -#endif /* __CC_ARM || __ARMCC__ */ - - -#ifdef __GNUC__ - -#if defined( __arm__ ) && \ - ( !defined( __thumb__ ) || defined( __thumb2__ ) ) && \ - !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_arm - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_arm( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 t, t2; - - - __asm__ __volatile__ ( - "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ - "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ -#if defined( __clang__ ) && defined( __thumb2__ ) - "add.w %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ -#else - "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ -#endif - "adds %1, %1, %0\n\t" /* %1 += %0 */ - "adc %2, %2, #0\n\t" /* %2 += carry */ - "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ - "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ - : "=r"(a), "=&r"(t2), "=&r"(t) - : "r"(a), "r"(b) - : "cc" ); - return a; - } - -#endif /* __arm__ && */ - /* ( __thumb2__ || !__thumb__ ) && */ - /* !( __CC_ARM || __ARMCC__ ) */ - - -#if defined( __i386__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline__ FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 result; - - - __asm__ __volatile__ ( - "imul %%edx\n" - "movl %%edx, %%ecx\n" - "sarl $31, %%ecx\n" - "addl $0x8000, %%ecx\n" - "addl %%ecx, %%eax\n" - "adcl $0, %%edx\n" - "shrl $16, %%eax\n" - "shll $16, %%edx\n" - "addl %%edx, %%eax\n" - : "=a"(result), "=d"(b) - : "a"(a), "d"(b) - : "%ecx", "cc" ); - return result; - } - -#endif /* i386 */ - -#endif /* __GNUC__ */ - - -#ifdef _MSC_VER /* Visual C++ */ - -#ifdef _M_IX86 - -#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 - - /* documentation is in freetype.h */ - - static __inline FT_Int32 - FT_MulFix_i386( FT_Int32 a, - FT_Int32 b ) - { - register FT_Int32 result; - - __asm - { - mov eax, a - mov edx, b - imul edx - mov ecx, edx - sar ecx, 31 - add ecx, 8000h - add eax, ecx - adc edx, 0 - shr eax, 16 - shl edx, 16 - add eax, edx - mov result, eax - } - return result; - } - -#endif /* _M_IX86 */ - -#endif /* _MSC_VER */ - - -#if defined( __GNUC__ ) && defined( __x86_64__ ) - -#define FT_MULFIX_ASSEMBLER FT_MulFix_x86_64 - - static __inline__ FT_Int32 - FT_MulFix_x86_64( FT_Int32 a, - FT_Int32 b ) - { - /* Temporarily disable the warning that C90 doesn't support */ - /* `long long'. */ -#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wlong-long" -#endif - -#if 1 - /* Technically not an assembly fragment, but GCC does a really good */ - /* job at inlining it and generating good machine code for it. */ - long long ret, tmp; - - - ret = (long long)a * b; - tmp = ret >> 63; - ret += 0x8000 + tmp; - - return (FT_Int32)( ret >> 16 ); -#else - - /* For some reason, GCC 4.6 on Ubuntu 12.04 generates invalid machine */ - /* code from the lines below. The main issue is that `wide_a' is not */ - /* properly initialized by sign-extending `a'. Instead, the generated */ - /* machine code assumes that the register that contains `a' on input */ - /* can be used directly as a 64-bit value, which is wrong most of the */ - /* time. */ - long long wide_a = (long long)a; - long long wide_b = (long long)b; - long long result; - - - __asm__ __volatile__ ( - "imul %2, %1\n" - "mov %1, %0\n" - "sar $63, %0\n" - "lea 0x8000(%1, %0), %0\n" - "sar $16, %0\n" - : "=&r"(result), "=&r"(wide_a) - : "r"(wide_b) - : "cc" ); - - return (FT_Int32)result; -#endif - -#if ( __GNUC__ > 4 ) || ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) -#pragma GCC diagnostic pop -#endif - } - -#endif /* __GNUC__ && __x86_64__ */ - -#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ - - -#ifdef FT_CONFIG_OPTION_INLINE_MULFIX -#ifdef FT_MULFIX_ASSEMBLER -#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER -#endif -#endif - - #ifdef FT_MAKE_OPTION_SINGLE_OBJECT #define FT_LOCAL( x ) static x diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftheader.h b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftheader.h index b6236299210..b6236299210 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftheader.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftheader.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftmodule.h b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftmodule.h index 76d271a74b9..76d271a74b9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftmodule.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftmodule.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftoption.h b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftoption.h index 5b11f0e0305..2b0b67e7af3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftoption.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftoption.h @@ -4,7 +4,7 @@ /* */ /* User-selectable configuration macros (specification only). */ /* */ -/* Copyright 1996-2013 by */ +/* Copyright 1996-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -61,7 +61,7 @@ FT_BEGIN_HEADER /* that are statically linked to the library at compile time. By */ /* default, this file is <config/ftmodule.h>. */ /* */ - /* We highly recommend using the third method whenever possible. */ + /* We highly recommend using the third method whenever possible. */ /* */ /*************************************************************************/ @@ -216,7 +216,7 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ - /* PNG bitmap support. */ + /* PNG bitmap support. */ /* */ /* FreeType now handles loading color bitmap glyphs in the PNG format. */ /* This requires help from the external libpng library. Uncompressed */ @@ -230,7 +230,7 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ - /* HarfBuzz support. */ + /* HarfBuzz support. */ /* */ /* FreeType uses the HarfBuzz library to improve auto-hinting of */ /* OpenType fonts. If available, many glyphs not directly addressable */ @@ -773,6 +773,30 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ + /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */ + /* possible to set up the default values of the four control points that */ + /* define the stem darkening behaviour of the (new) CFF engine. For */ + /* more details please read the documentation of the */ + /* `darkening-parameters' property of the cff driver module (file */ + /* `ftcffdrv.h'), which allows the control at run-time. */ + /* */ + /* Do *not* undefine these macros! */ + /* */ +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275 + +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333 +#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0 + + + /*************************************************************************/ + /* */ /* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */ /* engine gets compiled into FreeType. If defined, it is possible to */ /* switch between the two engines using the `hinting-engine' property of */ @@ -820,8 +844,8 @@ FT_BEGIN_HEADER /* - * This macro is obsolete. Support has been removed in FreeType - * version 2.5. + * This macro is obsolete. Support has been removed in FreeType + * version 2.5. */ /* #define FT_CONFIG_OPTION_OLD_INTERNALS */ @@ -837,6 +861,35 @@ FT_BEGIN_HEADER #define TT_USE_BYTECODE_INTERPRETER #endif + + /* + * Check CFF darkening parameters. The checks are the same as in function + * `cff_property_set' in file `cffdrivr.c'. + */ +#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \ + \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \ + CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500 +#error "Invalid CFF darkening parameters!" +#endif + FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftstdlib.h b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftstdlib.h index b940efc4273..b940efc4273 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/config/ftstdlib.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/config/ftstdlib.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/freetype.h b/Build/source/libs/freetype2/freetype-2.5.4/include/freetype.h index fb62b625fe8..efbd13ad835 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/freetype.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/freetype.h @@ -113,7 +113,8 @@ FT_BEGIN_HEADER /* The FreeType~2 base font interface. */ /* */ /* <Description> */ - /* This section describes the public high-level API of FreeType~2. */ + /* This section describes the most important public high-level API */ + /* functions of FreeType~2. */ /* */ /* <Order> */ /* FT_Library */ @@ -122,6 +123,7 @@ FT_BEGIN_HEADER /* FT_GlyphSlot */ /* FT_CharMap */ /* FT_Encoding */ + /* FT_ENC_TAG */ /* */ /* FT_FaceRec */ /* */ @@ -138,8 +140,22 @@ FT_BEGIN_HEADER /* FT_FACE_FLAG_MULTIPLE_MASTERS */ /* FT_FACE_FLAG_GLYPH_NAMES */ /* FT_FACE_FLAG_EXTERNAL_STREAM */ - /* FT_FACE_FLAG_FAST_GLYPHS */ /* FT_FACE_FLAG_HINTER */ + /* FT_FACE_FLAG_TRICKY */ + /* */ + /* FT_HAS_HORIZONTAL */ + /* FT_HAS_VERTICAL */ + /* FT_HAS_KERNING */ + /* FT_HAS_FIXED_SIZES */ + /* FT_HAS_GLYPH_NAMES */ + /* FT_HAS_MULTIPLE_MASTERS */ + /* FT_HAS_COLOR */ + /* */ + /* FT_IS_SFNT */ + /* FT_IS_SCALABLE */ + /* FT_IS_FIXED_WIDTH */ + /* FT_IS_CID_KEYED */ + /* FT_IS_TRICKY */ /* */ /* FT_STYLE_FLAG_BOLD */ /* FT_STYLE_FLAG_ITALIC */ @@ -158,6 +174,7 @@ FT_BEGIN_HEADER /* */ /* FT_New_Face */ /* FT_Done_Face */ + /* FT_Reference_Face */ /* FT_New_Memory_Face */ /* FT_Open_Face */ /* FT_Open_Args */ @@ -170,10 +187,13 @@ FT_BEGIN_HEADER /* FT_Request_Size */ /* FT_Select_Size */ /* FT_Size_Request_Type */ + /* FT_Size_RequestRec */ /* FT_Size_Request */ /* FT_Set_Transform */ /* FT_Load_Glyph */ /* FT_Get_Char_Index */ + /* FT_Get_First_Char */ + /* FT_Get_Next_Char */ /* FT_Get_Name_Index */ /* FT_Load_Char */ /* */ @@ -190,11 +210,11 @@ FT_BEGIN_HEADER /* FT_LOAD_NO_SCALE */ /* FT_LOAD_NO_HINTING */ /* FT_LOAD_NO_BITMAP */ - /* FT_LOAD_CROP_BITMAP */ + /* FT_LOAD_NO_AUTOHINT */ + /* FT_LOAD_COLOR */ /* */ /* FT_LOAD_VERTICAL_LAYOUT */ /* FT_LOAD_IGNORE_TRANSFORM */ - /* FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH */ /* FT_LOAD_FORCE_AUTOHINT */ /* FT_LOAD_NO_RECURSE */ /* FT_LOAD_PEDANTIC */ @@ -205,6 +225,8 @@ FT_BEGIN_HEADER /* FT_LOAD_TARGET_LCD */ /* FT_LOAD_TARGET_LCD_V */ /* */ + /* FT_LOAD_TARGET_MODE */ + /* */ /* FT_Render_Glyph */ /* FT_Render_Mode */ /* FT_Get_Kerning */ @@ -218,14 +240,22 @@ FT_BEGIN_HEADER /* FT_Set_Charmap */ /* FT_Get_Charmap_Index */ /* */ - /* FT_FSTYPE_INSTALLABLE_EMBEDDING */ - /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING */ - /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING */ - /* FT_FSTYPE_EDITABLE_EMBEDDING */ - /* FT_FSTYPE_NO_SUBSETTING */ - /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY */ - /* */ /* FT_Get_FSType_Flags */ + /* FT_Get_SubGlyph_Info */ + /* */ + /* FT_Face_Internal */ + /* FT_Size_Internal */ + /* FT_Slot_Internal */ + /* */ + /* FT_FACE_FLAG_XXX */ + /* FT_STYLE_FLAG_XXX */ + /* FT_OPEN_XXX */ + /* FT_LOAD_XXX */ + /* FT_LOAD_TARGET_XXX */ + /* FT_SUBGLYPH_FLAG_XXX */ + /* FT_FSTYPE_XXX */ + /* */ + /* FT_HAS_FAST_GLYPHS */ /* */ /*************************************************************************/ @@ -378,6 +408,13 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ + /* <Section> */ + /* module_management */ + /* */ + /*************************************************************************/ + + /*************************************************************************/ + /* */ /* <Type> */ /* FT_Module */ /* */ @@ -417,6 +454,13 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ + /* <Section> */ + /* base_interface */ + /* */ + /*************************************************************************/ + + /*************************************************************************/ + /* */ /* <Type> */ /* FT_Face */ /* */ @@ -727,15 +771,8 @@ FT_BEGIN_HEADER } FT_Encoding; - /*************************************************************************/ - /* */ - /* <Enum> */ - /* ft_encoding_xxx */ - /* */ - /* <Description> */ - /* These constants are deprecated; use the corresponding @FT_Encoding */ - /* values instead. */ - /* */ + /* these constants are deprecated; use the corresponding `FT_Encoding' */ + /* values instead */ #define ft_encoding_none FT_ENCODING_NONE #define ft_encoding_unicode FT_ENCODING_UNICODE #define ft_encoding_symbol FT_ENCODING_MS_SYMBOL @@ -1570,15 +1607,15 @@ FT_BEGIN_HEADER /* change between calls of @FT_Load_Glyph and a */ /* few other functions. */ /* */ - /* bitmap_left :: This is the bitmap's left bearing expressed */ - /* in integer pixels. Of course, this is only */ - /* valid if the format is */ - /* @FT_GLYPH_FORMAT_BITMAP. */ + /* bitmap_left :: The bitmap's left bearing expressed in */ + /* integer pixels. Only valid if the format is */ + /* @FT_GLYPH_FORMAT_BITMAP, this is, if the */ + /* glyph slot contains a bitmap. */ /* */ - /* bitmap_top :: This is the bitmap's top bearing expressed in */ - /* integer pixels. Remember that this is the */ - /* distance from the baseline to the top-most */ - /* glyph scanline, upwards y~coordinates being */ + /* bitmap_top :: The bitmap's top bearing expressed in integer */ + /* pixels. Remember that this is the distance */ + /* from the baseline to the top-most glyph */ + /* scanline, upwards y~coordinates being */ /* *positive*. */ /* */ /* outline :: The outline descriptor for the current glyph */ @@ -1592,7 +1629,6 @@ FT_BEGIN_HEADER /* This field is only valid for the composite */ /* glyph format that should normally only be */ /* loaded with the @FT_LOAD_NO_RECURSE flag. */ - /* For now this is internal to FreeType. */ /* */ /* subglyphs :: An array of subglyph descriptors for */ /* composite glyphs. There are `num_subglyphs' */ @@ -1783,16 +1819,6 @@ FT_BEGIN_HEADER /* */ /* FT_OPEN_PARAMS :: Use the `num_params' and `params' fields. */ /* */ - /* ft_open_memory :: Deprecated; use @FT_OPEN_MEMORY instead. */ - /* */ - /* ft_open_stream :: Deprecated; use @FT_OPEN_STREAM instead. */ - /* */ - /* ft_open_pathname :: Deprecated; use @FT_OPEN_PATHNAME instead. */ - /* */ - /* ft_open_driver :: Deprecated; use @FT_OPEN_DRIVER instead. */ - /* */ - /* ft_open_params :: Deprecated; use @FT_OPEN_PARAMS instead. */ - /* */ /* <Note> */ /* The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME' */ /* flags are mutually exclusive. */ @@ -1803,11 +1829,14 @@ FT_BEGIN_HEADER #define FT_OPEN_DRIVER 0x8 #define FT_OPEN_PARAMS 0x10 -#define ft_open_memory FT_OPEN_MEMORY /* deprecated */ -#define ft_open_stream FT_OPEN_STREAM /* deprecated */ -#define ft_open_pathname FT_OPEN_PATHNAME /* deprecated */ -#define ft_open_driver FT_OPEN_DRIVER /* deprecated */ -#define ft_open_params FT_OPEN_PARAMS /* deprecated */ + + /* these constants are deprecated; use the corresponding `FT_OPEN_XXX' */ + /* values instead */ +#define ft_open_memory FT_OPEN_MEMORY +#define ft_open_stream FT_OPEN_STREAM +#define ft_open_pathname FT_OPEN_PATHNAME +#define ft_open_driver FT_OPEN_DRIVER +#define ft_open_params FT_OPEN_PARAMS /*************************************************************************/ @@ -1872,22 +1901,22 @@ FT_BEGIN_HEADER /* The stream type is determined by the contents of `flags' that */ /* are tested in the following order by @FT_Open_Face: */ /* */ - /* If the `FT_OPEN_MEMORY' bit is set, assume that this is a */ + /* If the @FT_OPEN_MEMORY bit is set, assume that this is a */ /* memory file of `memory_size' bytes, located at `memory_address'. */ /* The data are are not copied, and the client is responsible for */ /* releasing and destroying them _after_ the corresponding call to */ /* @FT_Done_Face. */ /* */ - /* Otherwise, if the `FT_OPEN_STREAM' bit is set, assume that a */ + /* Otherwise, if the @FT_OPEN_STREAM bit is set, assume that a */ /* custom input stream `stream' is used. */ /* */ - /* Otherwise, if the `FT_OPEN_PATHNAME' bit is set, assume that this */ + /* Otherwise, if the @FT_OPEN_PATHNAME bit is set, assume that this */ /* is a normal file and use `pathname' to open it. */ /* */ - /* If the `FT_OPEN_DRIVER' bit is set, @FT_Open_Face only tries to */ + /* If the @FT_OPEN_DRIVER bit is set, @FT_Open_Face only tries to */ /* open the file with the driver whose handler is in `driver'. */ /* */ - /* If the `FT_OPEN_PARAMS' bit is set, the parameters given by */ + /* If the @FT_OPEN_PARAMS bit is set, the parameters given by */ /* `num_params' and `params' is used. They are ignored otherwise. */ /* */ /* Ideally, both the `pathname' and `params' fields should be tagged */ @@ -2541,11 +2570,6 @@ FT_BEGIN_HEADER * Indicates that the auto-hinter is preferred over the font's native * hinter. See also the note below. * - * FT_LOAD_CROP_BITMAP :: - * Indicates that the font driver should crop the loaded bitmap glyph - * (i.e., remove all space around its black bits). Not all drivers - * implement this. - * * FT_LOAD_PEDANTIC :: * Indicates that the font driver should perform pedantic verifications * during glyph loading. This is mostly used to detect broken glyphs @@ -2556,18 +2580,12 @@ FT_BEGIN_HEADER * result in partially hinted or distorted glyphs in case a glyph's * bytecode is buggy. * - * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH :: - * Ignored. Deprecated. - * * FT_LOAD_NO_RECURSE :: - * This flag is only used internally. It merely indicates that the - * font driver should not load composite glyphs recursively. Instead, - * it should set the `num_subglyph' and `subglyphs' values of the - * glyph slot accordingly, and set `glyph->format' to - * @FT_GLYPH_FORMAT_COMPOSITE. - * - * The description of sub-glyphs is not available to client - * applications for now. + * Indicate that the font driver should not load composite glyphs + * recursively. Instead, it should set the `num_subglyph' and + * `subglyphs' values of the glyph slot accordingly, and set + * `glyph->format' to @FT_GLYPH_FORMAT_COMPOSITE. The description of + * subglyphs can then be accessed with @FT_Get_SubGlyph_Info. * * This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM. * @@ -2600,6 +2618,12 @@ FT_BEGIN_HEADER * bitmaps transparently. Those bitmaps will be in the * @FT_PIXEL_MODE_GRAY format. * + * FT_LOAD_CROP_BITMAP :: + * Ignored. Deprecated. + * + * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH :: + * Ignored. Deprecated. + * * @note: * By default, hinting is enabled and the font's native hinter (see * @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can @@ -2836,19 +2860,8 @@ FT_BEGIN_HEADER } FT_Render_Mode; - /*************************************************************************/ - /* */ - /* <Enum> */ - /* ft_render_mode_xxx */ - /* */ - /* <Description> */ - /* These constants are deprecated. Use the corresponding */ - /* @FT_Render_Mode values instead. */ - /* */ - /* <Values> */ - /* ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL */ - /* ft_render_mode_mono :: see @FT_RENDER_MODE_MONO */ - /* */ + /* these constants are deprecated; use the corresponding */ + /* `FT_Render_Mode' values instead */ #define ft_render_mode_normal FT_RENDER_MODE_NORMAL #define ft_render_mode_mono FT_RENDER_MODE_MONO @@ -2912,39 +2925,10 @@ FT_BEGIN_HEADER } FT_Kerning_Mode; - /*************************************************************************/ - /* */ - /* <Const> */ - /* ft_kerning_default */ - /* */ - /* <Description> */ - /* This constant is deprecated. Please use @FT_KERNING_DEFAULT */ - /* instead. */ - /* */ + /* these constants are deprecated; use the corresponding */ + /* `FT_Kerning_Mode' values instead */ #define ft_kerning_default FT_KERNING_DEFAULT - - - /*************************************************************************/ - /* */ - /* <Const> */ - /* ft_kerning_unfitted */ - /* */ - /* <Description> */ - /* This constant is deprecated. Please use @FT_KERNING_UNFITTED */ - /* instead. */ - /* */ #define ft_kerning_unfitted FT_KERNING_UNFITTED - - - /*************************************************************************/ - /* */ - /* <Const> */ - /* ft_kerning_unscaled */ - /* */ - /* <Description> */ - /* This constant is deprecated. Please use @FT_KERNING_UNSCALED */ - /* instead. */ - /* */ #define ft_kerning_unscaled FT_KERNING_UNSCALED @@ -3065,9 +3049,8 @@ FT_BEGIN_HEADER /* glyph index~0 always corresponds to the `missing glyph' (called */ /* `.notdef'). */ /* */ - /* This function is not compiled within the library if the config */ - /* macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in */ - /* `ftoptions.h'. */ + /* This function always returns an error if the config macro */ + /* `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is not defined in `ftoptions.h'. */ /* */ FT_EXPORT( FT_Error ) FT_Get_Glyph_Name( FT_Face face, @@ -3515,8 +3498,8 @@ FT_BEGIN_HEADER /* */ /* http://www.unicode.org/reports/tr37/ */ /* */ - /* To date (November 2012), the character with the most variants is */ - /* U+9089, having 31 such IVS. */ + /* To date (November 2014), the character with the most variants is */ + /* U+9089, having 32 such IVS. */ /* */ /* Adobe and MS decided to support IVS with a new cmap subtable */ /* (format~14). It is an odd subtable because it is not a mapping of */ @@ -3767,12 +3750,6 @@ FT_BEGIN_HEADER FT_Long c ); - /* */ - - /* The following #if 0 ... #endif is for the documentation formatter, */ - /* hiding the internal `FT_MULFIX_INLINED' macro. */ - -#if 0 /*************************************************************************/ /* */ /* <Function> */ @@ -3806,17 +3783,6 @@ FT_BEGIN_HEADER FT_MulFix( FT_Long a, FT_Long b ); - /* */ -#endif - -#ifdef FT_MULFIX_INLINED -#define FT_MulFix( a, b ) FT_MULFIX_INLINED( a, b ) -#else - FT_EXPORT( FT_Long ) - FT_MulFix( FT_Long a, - FT_Long b ); -#endif - /*************************************************************************/ /* */ @@ -3829,18 +3795,12 @@ FT_BEGIN_HEADER /* used to divide a given value by a 16.16 fixed-point factor. */ /* */ /* <Input> */ - /* a :: The first multiplier. */ - /* b :: The second multiplier. Use a 16.16 factor here whenever */ - /* possible (see note below). */ + /* a :: The numerator. */ + /* b :: The denominator. Use a 16.16 factor here. */ /* */ /* <Return> */ /* The result of `(a*0x10000)/b'. */ /* */ - /* <Note> */ - /* The optimization for FT_DivFix() is simple: If (a~<<~16) fits in */ - /* 32~bits, then the division is computed directly. Otherwise, we */ - /* use a specialized version of @FT_MulDiv. */ - /* */ FT_EXPORT( FT_Long ) FT_DivFix( FT_Long a, FT_Long b ); @@ -3940,6 +3900,18 @@ FT_BEGIN_HEADER /* even a new release of FreeType with only documentation changes */ /* increases the version number. */ /* */ + /* <Order> */ + /* FT_Library_Version */ + /* */ + /* FREETYPE_MAJOR */ + /* FREETYPE_MINOR */ + /* FREETYPE_PATCH */ + /* */ + /* FT_Face_CheckTrueTypePatents */ + /* FT_Face_SetUnpatentedHinting */ + /* */ + /* FREETYPE_XXX */ + /* */ /*************************************************************************/ @@ -3965,7 +3937,7 @@ FT_BEGIN_HEADER */ #define FREETYPE_MAJOR 2 #define FREETYPE_MINOR 5 -#define FREETYPE_PATCH 3 +#define FREETYPE_PATCH 4 /*************************************************************************/ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ft2build.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ft2build.h index 6f8eb7f3731..6f8eb7f3731 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ft2build.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ft2build.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftadvanc.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftadvanc.h index 8f7e2fce5ed..955f93fa16c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftadvanc.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftadvanc.h @@ -4,7 +4,7 @@ /* */ /* Quick computation of advance widths (specification only). */ /* */ -/* Copyright 2008, 2013 by */ +/* Copyright 2008, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -48,6 +48,11 @@ FT_BEGIN_HEADER * @description: * This section contains functions to quickly extract advance values * without handling glyph outlines, if possible. + * + * @order: + * FT_Get_Advance + * FT_Get_Advances + * */ @@ -171,7 +176,7 @@ FT_BEGIN_HEADER FT_Int32 load_flags, FT_Fixed *padvances ); -/* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftautoh.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftautoh.h index 936791e7263..59191abbfe4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftautoh.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftautoh.h @@ -245,12 +245,12 @@ FT_BEGIN_HEADER * The data exchange structure for the @glyph-to-script-map property. * */ - typedef struct FT_Prop_GlyphToScriptMap_ - { - FT_Face face; - FT_Byte* map; + typedef struct FT_Prop_GlyphToScriptMap_ + { + FT_Face face; + FT_Byte* map; - } FT_Prop_GlyphToScriptMap; + } FT_Prop_GlyphToScriptMap; /************************************************************************** @@ -384,15 +384,15 @@ FT_BEGIN_HEADER * The data exchange structure for the @increase-x-height property. * */ - typedef struct FT_Prop_IncreaseXHeight_ - { - FT_Face face; - FT_UInt limit; + typedef struct FT_Prop_IncreaseXHeight_ + { + FT_Face face; + FT_UInt limit; - } FT_Prop_IncreaseXHeight; + } FT_Prop_IncreaseXHeight; + /* */ - /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbbox.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbbox.h index 8938841a622..d6800e240fc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbbox.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbbox.h @@ -85,7 +85,6 @@ FT_BEGIN_HEADER FT_Outline_Get_BBox( FT_Outline* outline, FT_BBox *abbox ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbdf.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbdf.h index 8b3c41115cb..6d262e4141a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbdf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbdf.h @@ -53,7 +53,7 @@ FT_BEGIN_HEADER /********************************************************************** * * @enum: - * FT_PropertyType + * BDF_PropertyType * * @description: * A list of BDF property types. @@ -200,7 +200,7 @@ FT_BEGIN_HEADER const char* prop_name, BDF_PropertyRec *aproperty ); - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbitmap.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbitmap.h index 7dbf5ba3fe6..eae716904b4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbitmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbitmap.h @@ -4,7 +4,7 @@ /* */ /* FreeType utility functions for bitmaps (specification). */ /* */ -/* Copyright 2004-2006, 2008, 2013 by */ +/* Copyright 2004-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, */ @@ -45,7 +45,9 @@ FT_BEGIN_HEADER /* Handling FT_Bitmap objects. */ /* */ /* <Description> */ - /* This section contains functions for converting FT_Bitmap objects. */ + /* This section contains functions for handling @FT_Bitmap objects. */ + /* Note that none of the functions changes the bitmap's `flow' (as */ + /* indicated by the sign of the `pitch' field in `FT_Bitmap'). */ /* */ /*************************************************************************/ @@ -122,6 +124,9 @@ FT_BEGIN_HEADER /* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */ /* you should call @FT_GlyphSlot_Own_Bitmap on the slot first. */ /* */ + /* Bitmaps in @FT_PIXEL_MODE_GRAY2 and @FT_PIXEL_MODE_GRAY@ format */ + /* are converted to @FT_PIXEL_MODE_GRAY format (i.e., 8bpp). */ + /* */ FT_EXPORT( FT_Error ) FT_Bitmap_Embolden( FT_Library library, FT_Bitmap* bitmap, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbzip2.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbzip2.h index 1bf81b15e89..4dce161fd69 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftbzip2.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftbzip2.h @@ -91,7 +91,7 @@ FT_BEGIN_HEADER FT_Stream_OpenBzip2( FT_Stream stream, FT_Stream source ); - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftcache.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftcache.h index a5d7100a3fb..a30e925cc56 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftcache.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftcache.h @@ -4,7 +4,7 @@ /* */ /* FreeType Cache subsystem (specification). */ /* */ -/* Copyright 1996-2008, 2010, 2013 by */ +/* Copyright 1996-2008, 2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -209,10 +209,10 @@ FT_BEGIN_HEADER typedef FT_Error (*FTC_Face_Requester)( FTC_FaceID face_id, FT_Library library, - FT_Pointer request_data, + FT_Pointer req_data, FT_Face* aface ); - /* */ + /* */ /*************************************************************************/ @@ -1046,8 +1046,8 @@ FT_BEGIN_HEADER FTC_SBit *sbit, FTC_Node *anode ); + /* */ - /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftcffdrv.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftcffdrv.h index e4d039d0214..f7031bc8832 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftcffdrv.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftcffdrv.h @@ -4,7 +4,7 @@ /* */ /* FreeType API for controlling the CFF driver (specification only). */ /* */ -/* Copyright 2013 by */ +/* Copyright 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -108,6 +108,12 @@ FT_BEGIN_HEADER * in one of four ways, top edge up or down, bottom edge up or down. * Unless there are conflicting hstems, the smallest movement is taken * to minimize distortion. + * + * @order: + * hinting-engine + * no-stem-darkening + * darkening-parameters + * */ @@ -212,9 +218,11 @@ FT_BEGIN_HEADER * stem width >= 2.333px: darkening amount = 0px * } * - * and piecewise linear in-between. Using the `darkening-parameters' - * property, these four control points can be changed, as the following - * example demonstrates. + * and piecewise linear in-between. At configuration time, these four + * control points can be set with the macro + * `CFF_CONFIG_OPTION_DARKENING_PARAMETERS'. At runtime, the control + * points can be changed using the `darkening-parameters' property, as + * the following example demonstrates. * * { * FT_Library library; @@ -242,8 +250,8 @@ FT_BEGIN_HEADER * */ + /* */ - /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftchapters.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftchapters.h index d333761c81b..d333761c81b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftchapters.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftchapters.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftcid.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftcid.h index 203a30caf85..17550d87b5c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftcid.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftcid.h @@ -156,7 +156,8 @@ FT_BEGIN_HEADER FT_UInt glyph_index, FT_UInt *cid ); - /* */ + /* */ + FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/fterrdef.h b/Build/source/libs/freetype2/freetype-2.5.4/include/fterrdef.h index 76c7b9e36fc..99b2fadec6d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/fterrdef.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/fterrdef.h @@ -31,218 +31,218 @@ /* generic errors */ - FT_NOERRORDEF_( Ok, 0x00, \ + FT_NOERRORDEF_( Ok, 0x00, "no error" ) - FT_ERRORDEF_( Cannot_Open_Resource, 0x01, \ + FT_ERRORDEF_( Cannot_Open_Resource, 0x01, "cannot open resource" ) - FT_ERRORDEF_( Unknown_File_Format, 0x02, \ + FT_ERRORDEF_( Unknown_File_Format, 0x02, "unknown file format" ) - FT_ERRORDEF_( Invalid_File_Format, 0x03, \ + FT_ERRORDEF_( Invalid_File_Format, 0x03, "broken file" ) - FT_ERRORDEF_( Invalid_Version, 0x04, \ + FT_ERRORDEF_( Invalid_Version, 0x04, "invalid FreeType version" ) - FT_ERRORDEF_( Lower_Module_Version, 0x05, \ + FT_ERRORDEF_( Lower_Module_Version, 0x05, "module version is too low" ) - FT_ERRORDEF_( Invalid_Argument, 0x06, \ + FT_ERRORDEF_( Invalid_Argument, 0x06, "invalid argument" ) - FT_ERRORDEF_( Unimplemented_Feature, 0x07, \ + FT_ERRORDEF_( Unimplemented_Feature, 0x07, "unimplemented feature" ) - FT_ERRORDEF_( Invalid_Table, 0x08, \ + FT_ERRORDEF_( Invalid_Table, 0x08, "broken table" ) - FT_ERRORDEF_( Invalid_Offset, 0x09, \ + FT_ERRORDEF_( Invalid_Offset, 0x09, "broken offset within table" ) - FT_ERRORDEF_( Array_Too_Large, 0x0A, \ + FT_ERRORDEF_( Array_Too_Large, 0x0A, "array allocation size too large" ) - FT_ERRORDEF_( Missing_Module, 0x0B, \ + FT_ERRORDEF_( Missing_Module, 0x0B, "missing module" ) - FT_ERRORDEF_( Missing_Property, 0x0C, \ + FT_ERRORDEF_( Missing_Property, 0x0C, "missing property" ) /* glyph/character errors */ - FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, \ + FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, "invalid glyph index" ) - FT_ERRORDEF_( Invalid_Character_Code, 0x11, \ + FT_ERRORDEF_( Invalid_Character_Code, 0x11, "invalid character code" ) - FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, \ + FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, "unsupported glyph image format" ) - FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, \ + FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, "cannot render this glyph format" ) - FT_ERRORDEF_( Invalid_Outline, 0x14, \ + FT_ERRORDEF_( Invalid_Outline, 0x14, "invalid outline" ) - FT_ERRORDEF_( Invalid_Composite, 0x15, \ + FT_ERRORDEF_( Invalid_Composite, 0x15, "invalid composite glyph" ) - FT_ERRORDEF_( Too_Many_Hints, 0x16, \ + FT_ERRORDEF_( Too_Many_Hints, 0x16, "too many hints" ) - FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, \ + FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, "invalid pixel size" ) /* handle errors */ - FT_ERRORDEF_( Invalid_Handle, 0x20, \ + FT_ERRORDEF_( Invalid_Handle, 0x20, "invalid object handle" ) - FT_ERRORDEF_( Invalid_Library_Handle, 0x21, \ + FT_ERRORDEF_( Invalid_Library_Handle, 0x21, "invalid library handle" ) - FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, \ + FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, "invalid module handle" ) - FT_ERRORDEF_( Invalid_Face_Handle, 0x23, \ + FT_ERRORDEF_( Invalid_Face_Handle, 0x23, "invalid face handle" ) - FT_ERRORDEF_( Invalid_Size_Handle, 0x24, \ + FT_ERRORDEF_( Invalid_Size_Handle, 0x24, "invalid size handle" ) - FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, \ + FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, "invalid glyph slot handle" ) - FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, \ + FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, "invalid charmap handle" ) - FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, \ + FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, "invalid cache manager handle" ) - FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, \ + FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, "invalid stream handle" ) /* driver errors */ - FT_ERRORDEF_( Too_Many_Drivers, 0x30, \ + FT_ERRORDEF_( Too_Many_Drivers, 0x30, "too many modules" ) - FT_ERRORDEF_( Too_Many_Extensions, 0x31, \ + FT_ERRORDEF_( Too_Many_Extensions, 0x31, "too many extensions" ) /* memory errors */ - FT_ERRORDEF_( Out_Of_Memory, 0x40, \ + FT_ERRORDEF_( Out_Of_Memory, 0x40, "out of memory" ) - FT_ERRORDEF_( Unlisted_Object, 0x41, \ + FT_ERRORDEF_( Unlisted_Object, 0x41, "unlisted object" ) /* stream errors */ - FT_ERRORDEF_( Cannot_Open_Stream, 0x51, \ + FT_ERRORDEF_( Cannot_Open_Stream, 0x51, "cannot open stream" ) - FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, \ + FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, "invalid stream seek" ) - FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, \ + FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, "invalid stream skip" ) - FT_ERRORDEF_( Invalid_Stream_Read, 0x54, \ + FT_ERRORDEF_( Invalid_Stream_Read, 0x54, "invalid stream read" ) - FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, \ + FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, "invalid stream operation" ) - FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, \ + FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, "invalid frame operation" ) - FT_ERRORDEF_( Nested_Frame_Access, 0x57, \ + FT_ERRORDEF_( Nested_Frame_Access, 0x57, "nested frame access" ) - FT_ERRORDEF_( Invalid_Frame_Read, 0x58, \ + FT_ERRORDEF_( Invalid_Frame_Read, 0x58, "invalid frame read" ) /* raster errors */ - FT_ERRORDEF_( Raster_Uninitialized, 0x60, \ + FT_ERRORDEF_( Raster_Uninitialized, 0x60, "raster uninitialized" ) - FT_ERRORDEF_( Raster_Corrupted, 0x61, \ + FT_ERRORDEF_( Raster_Corrupted, 0x61, "raster corrupted" ) - FT_ERRORDEF_( Raster_Overflow, 0x62, \ + FT_ERRORDEF_( Raster_Overflow, 0x62, "raster overflow" ) - FT_ERRORDEF_( Raster_Negative_Height, 0x63, \ + FT_ERRORDEF_( Raster_Negative_Height, 0x63, "negative height while rastering" ) /* cache errors */ - FT_ERRORDEF_( Too_Many_Caches, 0x70, \ + FT_ERRORDEF_( Too_Many_Caches, 0x70, "too many registered caches" ) /* TrueType and SFNT errors */ - FT_ERRORDEF_( Invalid_Opcode, 0x80, \ + FT_ERRORDEF_( Invalid_Opcode, 0x80, "invalid opcode" ) - FT_ERRORDEF_( Too_Few_Arguments, 0x81, \ + FT_ERRORDEF_( Too_Few_Arguments, 0x81, "too few arguments" ) - FT_ERRORDEF_( Stack_Overflow, 0x82, \ + FT_ERRORDEF_( Stack_Overflow, 0x82, "stack overflow" ) - FT_ERRORDEF_( Code_Overflow, 0x83, \ + FT_ERRORDEF_( Code_Overflow, 0x83, "code overflow" ) - FT_ERRORDEF_( Bad_Argument, 0x84, \ + FT_ERRORDEF_( Bad_Argument, 0x84, "bad argument" ) - FT_ERRORDEF_( Divide_By_Zero, 0x85, \ + FT_ERRORDEF_( Divide_By_Zero, 0x85, "division by zero" ) - FT_ERRORDEF_( Invalid_Reference, 0x86, \ + FT_ERRORDEF_( Invalid_Reference, 0x86, "invalid reference" ) - FT_ERRORDEF_( Debug_OpCode, 0x87, \ + FT_ERRORDEF_( Debug_OpCode, 0x87, "found debug opcode" ) - FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, \ + FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, "found ENDF opcode in execution stream" ) - FT_ERRORDEF_( Nested_DEFS, 0x89, \ + FT_ERRORDEF_( Nested_DEFS, 0x89, "nested DEFS" ) - FT_ERRORDEF_( Invalid_CodeRange, 0x8A, \ + FT_ERRORDEF_( Invalid_CodeRange, 0x8A, "invalid code range" ) - FT_ERRORDEF_( Execution_Too_Long, 0x8B, \ + FT_ERRORDEF_( Execution_Too_Long, 0x8B, "execution context too long" ) - FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, \ + FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, "too many function definitions" ) - FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, \ + FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, "too many instruction definitions" ) - FT_ERRORDEF_( Table_Missing, 0x8E, \ + FT_ERRORDEF_( Table_Missing, 0x8E, "SFNT font table missing" ) - FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, \ + FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, "horizontal header (hhea) table missing" ) - FT_ERRORDEF_( Locations_Missing, 0x90, \ + FT_ERRORDEF_( Locations_Missing, 0x90, "locations (loca) table missing" ) - FT_ERRORDEF_( Name_Table_Missing, 0x91, \ + FT_ERRORDEF_( Name_Table_Missing, 0x91, "name table missing" ) - FT_ERRORDEF_( CMap_Table_Missing, 0x92, \ + FT_ERRORDEF_( CMap_Table_Missing, 0x92, "character map (cmap) table missing" ) - FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, \ + FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, "horizontal metrics (hmtx) table missing" ) - FT_ERRORDEF_( Post_Table_Missing, 0x94, \ + FT_ERRORDEF_( Post_Table_Missing, 0x94, "PostScript (post) table missing" ) - FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, \ + FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, "invalid horizontal metrics" ) - FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, \ + FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, "invalid character map (cmap) format" ) - FT_ERRORDEF_( Invalid_PPem, 0x97, \ + FT_ERRORDEF_( Invalid_PPem, 0x97, "invalid ppem value" ) - FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, \ + FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, "invalid vertical metrics" ) - FT_ERRORDEF_( Could_Not_Find_Context, 0x99, \ + FT_ERRORDEF_( Could_Not_Find_Context, 0x99, "could not find context" ) - FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, \ + FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, "invalid PostScript (post) table format" ) - FT_ERRORDEF_( Invalid_Post_Table, 0x9B, \ + FT_ERRORDEF_( Invalid_Post_Table, 0x9B, "invalid PostScript (post) table" ) /* CFF, CID, and Type 1 errors */ - FT_ERRORDEF_( Syntax_Error, 0xA0, \ + FT_ERRORDEF_( Syntax_Error, 0xA0, "opcode syntax error" ) - FT_ERRORDEF_( Stack_Underflow, 0xA1, \ + FT_ERRORDEF_( Stack_Underflow, 0xA1, "argument stack underflow" ) - FT_ERRORDEF_( Ignore, 0xA2, \ + FT_ERRORDEF_( Ignore, 0xA2, "ignore" ) - FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, \ + FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, "no Unicode glyph name found" ) - FT_ERRORDEF_( Glyph_Too_Big, 0xA4, \ + FT_ERRORDEF_( Glyph_Too_Big, 0xA4, "glyph to big for hinting" ) /* BDF errors */ - FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, \ + FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, "`STARTFONT' field missing" ) - FT_ERRORDEF_( Missing_Font_Field, 0xB1, \ + FT_ERRORDEF_( Missing_Font_Field, 0xB1, "`FONT' field missing" ) - FT_ERRORDEF_( Missing_Size_Field, 0xB2, \ + FT_ERRORDEF_( Missing_Size_Field, 0xB2, "`SIZE' field missing" ) - FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3, \ + FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3, "`FONTBOUNDINGBOX' field missing" ) - FT_ERRORDEF_( Missing_Chars_Field, 0xB4, \ + FT_ERRORDEF_( Missing_Chars_Field, 0xB4, "`CHARS' field missing" ) - FT_ERRORDEF_( Missing_Startchar_Field, 0xB5, \ + FT_ERRORDEF_( Missing_Startchar_Field, 0xB5, "`STARTCHAR' field missing" ) - FT_ERRORDEF_( Missing_Encoding_Field, 0xB6, \ + FT_ERRORDEF_( Missing_Encoding_Field, 0xB6, "`ENCODING' field missing" ) - FT_ERRORDEF_( Missing_Bbx_Field, 0xB7, \ + FT_ERRORDEF_( Missing_Bbx_Field, 0xB7, "`BBX' field missing" ) - FT_ERRORDEF_( Bbx_Too_Big, 0xB8, \ + FT_ERRORDEF_( Bbx_Too_Big, 0xB8, "`BBX' too big" ) - FT_ERRORDEF_( Corrupted_Font_Header, 0xB9, \ + FT_ERRORDEF_( Corrupted_Font_Header, 0xB9, "Font header corrupted or missing fields" ) - FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA, \ + FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA, "Font glyphs corrupted or missing fields" ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/fterrors.h b/Build/source/libs/freetype2/freetype-2.5.4/include/fterrors.h index 0fa3e4dce19..0fa3e4dce19 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/fterrors.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/fterrors.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftgasp.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftgasp.h index 453d4fa42c9..3f3d7654678 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftgasp.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftgasp.h @@ -120,7 +120,8 @@ FT_Get_Gasp( FT_Face face, FT_UInt ppem ); -/* */ + /* */ + #endif /* _FT_GASP_H_ */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftglyph.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftglyph.h index 2d30ed9de7b..15fa6a99505 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftglyph.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftglyph.h @@ -4,7 +4,7 @@ /* */ /* FreeType convenience functions to handle glyphs (specification). */ /* */ -/* Copyright 1996-2003, 2006, 2008, 2009, 2011, 2013 by */ +/* Copyright 1996-2003, 2006, 2008, 2009, 2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -325,22 +325,8 @@ FT_BEGIN_HEADER } FT_Glyph_BBox_Mode; - /*************************************************************************/ - /* */ - /* <Enum> */ - /* ft_glyph_bbox_xxx */ - /* */ - /* <Description> */ - /* These constants are deprecated. Use the corresponding */ - /* @FT_Glyph_BBox_Mode values instead. */ - /* */ - /* <Values> */ - /* ft_glyph_bbox_unscaled :: See @FT_GLYPH_BBOX_UNSCALED. */ - /* ft_glyph_bbox_subpixels :: See @FT_GLYPH_BBOX_SUBPIXELS. */ - /* ft_glyph_bbox_gridfit :: See @FT_GLYPH_BBOX_GRIDFIT. */ - /* ft_glyph_bbox_truncate :: See @FT_GLYPH_BBOX_TRUNCATE. */ - /* ft_glyph_bbox_pixels :: See @FT_GLYPH_BBOX_PIXELS. */ - /* */ + /* these constants are deprecated; use the corresponding */ + /* `FT_Glyph_BBox_Mode' values instead */ #define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED #define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS #define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT @@ -603,7 +589,6 @@ FT_BEGIN_HEADER FT_EXPORT( FT_Error ) FT_Matrix_Invert( FT_Matrix* matrix ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftgxval.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftgxval.h index 6d38e327aa1..88c3d937503 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftgxval.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftgxval.h @@ -57,9 +57,19 @@ FT_BEGIN_HEADER /* some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, */ /* trak, prop, lcar). */ /* */ + /* <Order> */ + /* FT_TrueTypeGX_Validate */ + /* FT_TrueTypeGX_Free */ + /* */ + /* FT_ClassicKern_Validate */ + /* FT_ClassicKern_Free */ + /* */ + /* FT_VALIDATE_GX_LENGTH */ + /* FT_VALIDATE_GXXXX */ + /* FT_VALIDATE_CKERNXXX */ + /* */ /*************************************************************************/ - /*************************************************************************/ /* */ /* */ @@ -171,8 +181,6 @@ FT_BEGIN_HEADER FT_VALIDATE_lcar ) - /* */ - /********************************************************************** * * @function: @@ -221,8 +229,6 @@ FT_BEGIN_HEADER FT_UInt table_length ); - /* */ - /********************************************************************** * * @function: @@ -248,8 +254,6 @@ FT_BEGIN_HEADER FT_Bytes table ); - /* */ - /********************************************************************** * * @enum: @@ -277,8 +281,6 @@ FT_BEGIN_HEADER #define FT_VALIDATE_CKERN ( FT_VALIDATE_MS | FT_VALIDATE_APPLE ) - /* */ - /********************************************************************** * * @function: @@ -320,8 +322,6 @@ FT_BEGIN_HEADER FT_Bytes *ckern_table ); - /* */ - /********************************************************************** * * @function: @@ -346,8 +346,7 @@ FT_BEGIN_HEADER FT_ClassicKern_Free( FT_Face face, FT_Bytes table ); - - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftgzip.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftgzip.h index 78e726999ac..eb346c6dc78 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftgzip.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftgzip.h @@ -137,8 +137,7 @@ FT_BEGIN_HEADER const FT_Byte* input, FT_ULong input_len ); - - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftimage.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftimage.h index ea71a78efb6..2f7ca2aaf55 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftimage.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftimage.h @@ -5,7 +5,7 @@ /* FreeType glyph image formats and default raster interface */ /* (specification). */ /* */ -/* Copyright 1996-2010, 2013 by */ +/* Copyright 1996-2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -193,67 +193,14 @@ FT_BEGIN_HEADER } FT_Pixel_Mode; - /*************************************************************************/ - /* */ - /* <Enum> */ - /* ft_pixel_mode_xxx */ - /* */ - /* <Description> */ - /* A list of deprecated constants. Use the corresponding */ - /* @FT_Pixel_Mode values instead. */ - /* */ - /* <Values> */ - /* ft_pixel_mode_none :: See @FT_PIXEL_MODE_NONE. */ - /* ft_pixel_mode_mono :: See @FT_PIXEL_MODE_MONO. */ - /* ft_pixel_mode_grays :: See @FT_PIXEL_MODE_GRAY. */ - /* ft_pixel_mode_pal2 :: See @FT_PIXEL_MODE_GRAY2. */ - /* ft_pixel_mode_pal4 :: See @FT_PIXEL_MODE_GRAY4. */ - /* */ + /* these constants are deprecated; use the corresponding `FT_Pixel_Mode' */ + /* values instead. */ #define ft_pixel_mode_none FT_PIXEL_MODE_NONE #define ft_pixel_mode_mono FT_PIXEL_MODE_MONO #define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY #define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 #define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 - /* */ - -#if 0 - - /*************************************************************************/ - /* */ - /* <Enum> */ - /* FT_Palette_Mode */ - /* */ - /* <Description> */ - /* THIS TYPE IS DEPRECATED. DO NOT USE IT! */ - /* */ - /* An enumeration type to describe the format of a bitmap palette, */ - /* used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8. */ - /* */ - /* <Values> */ - /* ft_palette_mode_rgb :: The palette is an array of 3-byte RGB */ - /* records. */ - /* */ - /* ft_palette_mode_rgba :: The palette is an array of 4-byte RGBA */ - /* records. */ - /* */ - /* <Note> */ - /* As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by */ - /* FreeType, these types are not handled by the library itself. */ - /* */ - typedef enum FT_Palette_Mode_ - { - ft_palette_mode_rgb = 0, - ft_palette_mode_rgba, - - ft_palette_mode_max /* do not remove */ - - } FT_Palette_Mode; - - /* */ - -#endif - /*************************************************************************/ /* */ @@ -318,13 +265,13 @@ FT_BEGIN_HEADER /* */ typedef struct FT_Bitmap_ { - int rows; - int width; + unsigned int rows; + unsigned int width; int pitch; unsigned char* buffer; - short num_grays; - char pixel_mode; - char palette_mode; + unsigned short num_grays; + unsigned char pixel_mode; + unsigned char palette_mode; void* palette; } FT_Bitmap; @@ -381,7 +328,7 @@ FT_BEGIN_HEADER /* */ /* flags :: A set of bit flags used to characterize the outline */ /* and give hints to the scan-converter and hinter on */ - /* how to convert/grid-fit it. See @FT_OUTLINE_FLAGS. */ + /* how to convert/grid-fit it. See @FT_OUTLINE_XXX. */ /* */ /* <Note> */ /* The B/W rasterizer only checks bit~2 in the `tags' array for the */ @@ -402,6 +349,8 @@ FT_BEGIN_HEADER } FT_Outline; + /* */ + /* Following limits must be consistent with */ /* FT_Outline.{n_contours,n_points} */ #define FT_OUTLINE_CONTOURS_MAX SHRT_MAX @@ -411,7 +360,7 @@ FT_BEGIN_HEADER /*************************************************************************/ /* */ /* <Enum> */ - /* FT_OUTLINE_FLAGS */ + /* FT_OUTLINE_XXX */ /* */ /* <Description> */ /* A list of bit-field constants use for the flags in an outline's */ @@ -492,24 +441,8 @@ FT_BEGIN_HEADER #define FT_OUTLINE_SINGLE_PASS 0x200 - /************************************************************************* - * - * @enum: - * ft_outline_flags - * - * @description: - * These constants are deprecated. Please use the corresponding - * @FT_OUTLINE_FLAGS values. - * - * @values: - * ft_outline_none :: See @FT_OUTLINE_NONE. - * ft_outline_owner :: See @FT_OUTLINE_OWNER. - * ft_outline_even_odd_fill :: See @FT_OUTLINE_EVEN_ODD_FILL. - * ft_outline_reverse_fill :: See @FT_OUTLINE_REVERSE_FILL. - * ft_outline_ignore_dropouts :: See @FT_OUTLINE_IGNORE_DROPOUTS. - * ft_outline_high_precision :: See @FT_OUTLINE_HIGH_PRECISION. - * ft_outline_single_pass :: See @FT_OUTLINE_SINGLE_PASS. - */ + /* these constants are deprecated; use the corresponding */ + /* `FT_OUTLINE_XXX' values instead */ #define ft_outline_none FT_OUTLINE_NONE #define ft_outline_owner FT_OUTLINE_OWNER #define ft_outline_even_odd_fill FT_OUTLINE_EVEN_ODD_FILL @@ -796,22 +729,8 @@ FT_BEGIN_HEADER } FT_Glyph_Format; - /*************************************************************************/ - /* */ - /* <Enum> */ - /* ft_glyph_format_xxx */ - /* */ - /* <Description> */ - /* A list of deprecated constants. Use the corresponding */ - /* @FT_Glyph_Format values instead. */ - /* */ - /* <Values> */ - /* ft_glyph_format_none :: See @FT_GLYPH_FORMAT_NONE. */ - /* ft_glyph_format_composite :: See @FT_GLYPH_FORMAT_COMPOSITE. */ - /* ft_glyph_format_bitmap :: See @FT_GLYPH_FORMAT_BITMAP. */ - /* ft_glyph_format_outline :: See @FT_GLYPH_FORMAT_OUTLINE. */ - /* ft_glyph_format_plotter :: See @FT_GLYPH_FORMAT_PLOTTER. */ - /* */ + /* these constants are deprecated; use the corresponding */ + /* `FT_Glyph_Format' values instead. */ #define ft_glyph_format_none FT_GLYPH_FORMAT_NONE #define ft_glyph_format_composite FT_GLYPH_FORMAT_COMPOSITE #define ft_glyph_format_bitmap FT_GLYPH_FORMAT_BITMAP @@ -856,6 +775,21 @@ FT_BEGIN_HEADER /* <Description> */ /* This section contains technical definitions. */ /* */ + /* <Order> */ + /* FT_Raster */ + /* FT_Span */ + /* FT_SpanFunc */ + /* */ + /* FT_Raster_Params */ + /* FT_RASTER_FLAG_XXX */ + /* */ + /* FT_Raster_NewFunc */ + /* FT_Raster_DoneFunc */ + /* FT_Raster_ResetFunc */ + /* FT_Raster_SetModeFunc */ + /* FT_Raster_RenderFunc */ + /* FT_Raster_Funcs */ + /* */ /*************************************************************************/ @@ -865,8 +799,8 @@ FT_BEGIN_HEADER /* FT_Raster */ /* */ /* <Description> */ - /* A handle (pointer) to a raster object. Each object can be used */ - /* independently to convert an outline into a bitmap or pixmap. */ + /* An opaque handle (pointer) to a raster object. Each object can be */ + /* used independently to convert an outline into a bitmap or pixmap. */ /* */ typedef struct FT_RasterRec_* FT_Raster; @@ -877,8 +811,8 @@ FT_BEGIN_HEADER /* FT_Span */ /* */ /* <Description> */ - /* A structure used to model a single span of gray (or black) pixels */ - /* when rendering a monochrome or anti-aliased bitmap. */ + /* A structure used to model a single span of gray pixels when */ + /* rendering an anti-aliased bitmap. */ /* */ /* <Fields> */ /* x :: The span's horizontal start position. */ @@ -886,8 +820,7 @@ FT_BEGIN_HEADER /* len :: The span's length in pixels. */ /* */ /* coverage :: The span color/coverage, ranging from 0 (background) */ - /* to 255 (foreground). Only used for anti-aliased */ - /* rendering. */ + /* to 255 (foreground). */ /* */ /* <Note> */ /* This structure is used by the span drawing callback type named */ @@ -957,22 +890,7 @@ FT_BEGIN_HEADER /* FT_Raster_BitTest_Func */ /* */ /* <Description> */ - /* THIS TYPE IS DEPRECATED. DO NOT USE IT. */ - /* */ - /* A function used as a call-back by the monochrome scan-converter */ - /* to test whether a given target pixel is already set to the drawing */ - /* `color'. These tests are crucial to implement drop-out control */ - /* per-se the TrueType spec. */ - /* */ - /* <Input> */ - /* y :: The pixel's y~coordinate. */ - /* */ - /* x :: The pixel's x~coordinate. */ - /* */ - /* user :: User-supplied data that is passed to the callback. */ - /* */ - /* <Return> */ - /* 1~if the pixel is `set', 0~otherwise. */ + /* Deprecated, unimplemented. */ /* */ typedef int (*FT_Raster_BitTest_Func)( int y, @@ -986,21 +904,7 @@ FT_BEGIN_HEADER /* FT_Raster_BitSet_Func */ /* */ /* <Description> */ - /* THIS TYPE IS DEPRECATED. DO NOT USE IT. */ - /* */ - /* A function used as a call-back by the monochrome scan-converter */ - /* to set an individual target pixel. This is crucial to implement */ - /* drop-out control according to the TrueType specification. */ - /* */ - /* <Input> */ - /* y :: The pixel's y~coordinate. */ - /* */ - /* x :: The pixel's x~coordinate. */ - /* */ - /* user :: User-supplied data that is passed to the callback. */ - /* */ - /* <Return> */ - /* 1~if the pixel is `set', 0~otherwise. */ + /* Deprecated, unimplemented. */ /* */ typedef void (*FT_Raster_BitSet_Func)( int y, @@ -1034,8 +938,8 @@ FT_BEGIN_HEADER /* pixmap's buffer _must_ be zeroed before */ /* rendering. */ /* */ - /* Note that for now, direct rendering is */ - /* only possible with anti-aliased glyphs. */ + /* Direct rendering is only possible with */ + /* anti-aliased glyphs. */ /* */ /* FT_RASTER_FLAG_CLIP :: This flag is only used in direct */ /* rendering mode. If set, the output will */ @@ -1053,7 +957,8 @@ FT_BEGIN_HEADER #define FT_RASTER_FLAG_DIRECT 0x2 #define FT_RASTER_FLAG_CLIP 0x4 - /* deprecated */ + /* these constants are deprecated; use the corresponding */ + /* `FT_RASTER_FLAG_XXX' values instead */ #define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT #define ft_raster_flag_aa FT_RASTER_FLAG_AA #define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT @@ -1079,11 +984,11 @@ FT_BEGIN_HEADER /* */ /* gray_spans :: The gray span drawing callback. */ /* */ - /* black_spans :: The black span drawing callback. UNIMPLEMENTED! */ + /* black_spans :: Unused. */ /* */ - /* bit_test :: The bit test callback. UNIMPLEMENTED! */ + /* bit_test :: Unused. */ /* */ - /* bit_set :: The bit set callback. UNIMPLEMENTED! */ + /* bit_set :: Unused. */ /* */ /* user :: User-supplied data that is passed to each drawing */ /* callback. */ @@ -1100,15 +1005,9 @@ FT_BEGIN_HEADER /* */ /* If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags', the */ /* raster will call the `gray_spans' callback to draw gray pixel */ - /* spans, in the case of an aa glyph bitmap, it will call */ - /* `black_spans', and `bit_test' and `bit_set' in the case of a */ - /* monochrome bitmap. This allows direct composition over a */ - /* pre-existing bitmap through user-provided callbacks to perform the */ - /* span drawing/composition. */ - /* */ - /* Note that the `bit_test' and `bit_set' callbacks are required when */ - /* rendering a monochrome bitmap, as they are crucial to implement */ - /* correct drop-out control as defined in the TrueType specification. */ + /* spans. This allows direct composition over a pre-existing bitmap */ + /* through user-provided callbacks to perform the span drawing and */ + /* composition. Not supported by the monochrome rasterizer. */ /* */ typedef struct FT_Raster_Params_ { @@ -1116,9 +1015,9 @@ FT_BEGIN_HEADER const void* source; int flags; FT_SpanFunc gray_spans; - FT_SpanFunc black_spans; /* doesn't work! */ - FT_Raster_BitTest_Func bit_test; /* doesn't work! */ - FT_Raster_BitSet_Func bit_set; /* doesn't work! */ + FT_SpanFunc black_spans; /* unused */ + FT_Raster_BitTest_Func bit_test; /* unused */ + FT_Raster_BitSet_Func bit_set; /* unused */ void* user; FT_BBox clip_box; @@ -1305,7 +1204,6 @@ FT_BEGIN_HEADER } FT_Raster_Funcs; - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftincrem.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftincrem.h index aaf689ff16c..4c0246c5df4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftincrem.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftincrem.h @@ -4,7 +4,7 @@ /* */ /* FreeType incremental loading (specification). */ /* */ -/* Copyright 2002, 2003, 2006, 2007, 2008, 2010 by */ +/* Copyright 2002, 2003, 2006-2008, 2010, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -45,7 +45,7 @@ FT_BEGIN_HEADER * @description: * This section contains various functions used to perform so-called * `incremental' glyph loading. This is a mode where all glyphs loaded - * from a given @FT_Face are provided by the client application, + * from a given @FT_Face are provided by the client application. * * Apart from that, all other tables are loaded normally from the font * file. This mode is useful when FreeType is used within another @@ -345,6 +345,7 @@ FT_BEGIN_HEADER /* */ + FT_END_HEADER #endif /* __FTINCREM_H__ */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftlcdfil.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftlcdfil.h index 39206f01927..39206f01927 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftlcdfil.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftlcdfil.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftlist.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftlist.h index 241e21e555c..9950a279971 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftlist.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftlist.h @@ -4,7 +4,7 @@ /* */ /* Generic list support for FreeType (specification). */ /* */ -/* Copyright 1996-2001, 2003, 2007, 2010, 2013 by */ +/* Copyright 1996-2001, 2003, 2007, 2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -248,7 +248,7 @@ FT_BEGIN_HEADER /* list :: A handle to the list. */ /* */ /* destroy :: A list destructor that will be applied to each element */ - /* of the list. */ + /* of the list. Set this to NULL if not needed. */ /* */ /* memory :: The current memory object that handles deallocation. */ /* */ @@ -265,7 +265,6 @@ FT_BEGIN_HEADER FT_Memory memory, void* user ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftlzw.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftlzw.h index 00d40169a75..857c0c52bbc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftlzw.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftlzw.h @@ -88,7 +88,7 @@ FT_BEGIN_HEADER FT_Stream_OpenLZW( FT_Stream stream, FT_Stream source ); - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmac.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmac.h index 42874fe6fc1..42874fe6fc1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmac.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmac.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmm.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmm.h index 837975a0b5c..2dcfd678df1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmm.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmm.h @@ -218,9 +218,6 @@ FT_BEGIN_HEADER } FT_MM_Var; - /* */ - - /*************************************************************************/ /* */ /* <Function> */ @@ -365,7 +362,6 @@ FT_BEGIN_HEADER FT_UInt num_coords, FT_Fixed* coords ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmodapi.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmodapi.h index 22878f8c6d7..980f15d3de0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmodapi.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmodapi.h @@ -75,6 +75,33 @@ FT_BEGIN_HEADER /* */ /* Note that the FreeType Cache sub-system is not a FreeType module. */ /* */ + /* <Order> */ + /* FT_Module */ + /* FT_Module_Constructor */ + /* FT_Module_Destructor */ + /* FT_Module_Requester */ + /* FT_Module_Class */ + /* */ + /* FT_Add_Module */ + /* FT_Get_Module */ + /* FT_Remove_Module */ + /* FT_Add_Default_Modules */ + /* */ + /* FT_Property_Set */ + /* FT_Property_Get */ + /* */ + /* FT_New_Library */ + /* FT_Done_Library */ + /* FT_Reference_Library */ + /* */ + /* FT_Renderer */ + /* FT_Renderer_Class */ + /* */ + /* FT_Get_Renderer */ + /* FT_Set_Renderer */ + /* */ + /* FT_Set_Debug_Hook */ + /* */ /*************************************************************************/ @@ -491,7 +518,7 @@ FT_BEGIN_HEADER FT_EXPORT( FT_Error ) FT_Done_Library( FT_Library library ); -/* */ + /* */ typedef void (*FT_DebugHook_Func)( void* arg ); @@ -629,7 +656,6 @@ FT_BEGIN_HEADER FT_EXPORT( FT_TrueTypeEngineType ) FT_Get_TrueType_Engine_Type( FT_Library library ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmoderr.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmoderr.h index 5a27db151a3..5a27db151a3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftmoderr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftmoderr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftotval.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftotval.h index bb52dc4a0d2..75ba03ee8e7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftotval.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftotval.h @@ -4,7 +4,7 @@ /* */ /* FreeType API for validating OpenType tables (specification). */ /* */ -/* Copyright 2004-2007, 2013 by */ +/* Copyright 2004-2007, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -58,6 +58,12 @@ FT_BEGIN_HEADER /* This section contains the declaration of functions to validate */ /* some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). */ /* */ + /* <Order> */ + /* FT_OpenType_Validate */ + /* FT_OpenType_Free */ + /* */ + /* FT_VALIDATE_OTXXX */ + /* */ /*************************************************************************/ @@ -107,8 +113,6 @@ FT_BEGIN_HEADER FT_VALIDATE_JSTF | \ FT_VALIDATE_MATH - /* */ - /********************************************************************** * * @function: @@ -165,8 +169,6 @@ FT_BEGIN_HEADER FT_Bytes *GSUB_table, FT_Bytes *JSTF_table ); - /* */ - /********************************************************************** * * @function: @@ -191,8 +193,7 @@ FT_BEGIN_HEADER FT_OpenType_Free( FT_Face face, FT_Bytes table ); - - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftoutln.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftoutln.h index 6c6d3f94be6..d3b8fbd2658 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftoutln.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftoutln.h @@ -52,7 +52,6 @@ FT_BEGIN_HEADER /* */ /* <Order> */ /* FT_Outline */ - /* FT_OUTLINE_FLAGS */ /* FT_Outline_New */ /* FT_Outline_Done */ /* FT_Outline_Copy */ @@ -68,13 +67,17 @@ FT_BEGIN_HEADER /* */ /* FT_Outline_Get_Bitmap */ /* FT_Outline_Render */ - /* */ /* FT_Outline_Decompose */ /* FT_Outline_Funcs */ - /* FT_Outline_MoveTo_Func */ - /* FT_Outline_LineTo_Func */ - /* FT_Outline_ConicTo_Func */ - /* FT_Outline_CubicTo_Func */ + /* FT_Outline_MoveToFunc */ + /* FT_Outline_LineToFunc */ + /* FT_Outline_ConicToFunc */ + /* FT_Outline_CubicToFunc */ + /* */ + /* FT_Orientation */ + /* FT_Outline_Get_Orientation */ + /* */ + /* FT_OUTLINE_XXX */ /* */ /*************************************************************************/ @@ -535,7 +538,7 @@ FT_BEGIN_HEADER * * @description: * This function analyzes a glyph outline and tries to compute its - * fill orientation (see @FT_Orientation). This is done by integrating + * fill orientation (see @FT_Orientation). This is done by integrating * the total area covered by the outline. The positive integral * corresponds to the clockwise orientation and @FT_ORIENTATION_POSTSCRIPT * is returned. The negative integral corresponds to the counter-clockwise @@ -555,7 +558,6 @@ FT_BEGIN_HEADER FT_EXPORT( FT_Orientation ) FT_Outline_Get_Orientation( FT_Outline* outline ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftpfr.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftpfr.h index 0b7b7d427c9..7d5035396b7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftpfr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftpfr.h @@ -161,7 +161,7 @@ FT_BEGIN_HEADER FT_UInt gindex, FT_Pos *aadvance ); - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftrender.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftrender.h index dd0229b815e..e8d36363ca6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftrender.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftrender.h @@ -226,7 +226,6 @@ FT_BEGIN_HEADER FT_UInt num_params, FT_Parameter* parameters ); - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsizes.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsizes.h index 41670457014..41670457014 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsizes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsizes.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsnames.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsnames.h index 88af440356c..88af440356c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsnames.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsnames.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftstroke.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftstroke.h index a498e4a883b..bd311709f34 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftstroke.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftstroke.h @@ -4,7 +4,7 @@ /* */ /* FreeType path stroker (specification). */ /* */ -/* Copyright 2002-2006, 2008, 2009, 2011-2012 by */ +/* Copyright 2002-2006, 2008, 2009, 2011-2012, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -46,6 +46,38 @@ FT_BEGIN_HEADER * This can be useful to generate `bordered' glyph, i.e., glyphs * displayed with a coloured (and anti-aliased) border around their * shape. + * + * @order: + * FT_Stroker + * + * FT_Stroker_LineJoin + * FT_Stroker_LineCap + * FT_StrokerBorder + * + * FT_Outline_GetInsideBorder + * FT_Outline_GetOutsideBorder + * + * FT_Glyph_Stroke + * FT_Glyph_StrokeBorder + * + * FT_Stroker_New + * FT_Stroker_Set + * FT_Stroker_Rewind + * FT_Stroker_ParseOutline + * FT_Stroker_Done + * + * FT_Stroker_BeginSubPath + * FT_Stroker_EndSubPath + * + * FT_Stroker_LineTo + * FT_Stroker_ConicTo + * FT_Stroker_CubicTo + * + * FT_Stroker_GetBorderCounts + * FT_Stroker_ExportBorder + * FT_Stroker_GetCounts + * FT_Stroker_Export + * */ @@ -55,7 +87,7 @@ FT_BEGIN_HEADER * FT_Stroker * * @description: - * Opaque handler to a path stroker object. + * Opaque handle to a path stroker object. */ typedef struct FT_StrokerRec_* FT_Stroker; @@ -276,6 +308,8 @@ FT_BEGIN_HEADER * @note: * The radius is expressed in the same units as the outline * coordinates. + * + * This function calls @FT_Stroker_Rewind automatically. */ FT_EXPORT( void ) FT_Stroker_Set( FT_Stroker stroker, @@ -570,10 +604,10 @@ FT_BEGIN_HEADER * receive all new data. * * When an outline, or a sub-path, is `closed', the stroker generates - * two independent `border' outlines, named `left' and `right' + * two independent `border' outlines, named `left' and `right'. * * When the outline, or a sub-path, is `opened', the stroker merges - * the `border' outlines with caps. The `left' border receives all + * the `border' outlines with caps. The `left' border receives all * points, while the `right' border becomes empty. * * Use the function @FT_Stroker_Export instead if you want to @@ -736,7 +770,7 @@ FT_BEGIN_HEADER FT_Bool inside, FT_Bool destroy ); - /* */ + /* */ FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsynth.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsynth.h index 839ab5e4002..d0ea730874f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsynth.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsynth.h @@ -73,6 +73,7 @@ FT_BEGIN_HEADER /* */ + FT_END_HEADER #endif /* __FTSYNTH_H__ */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsystem.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsystem.h index e07460c55d4..2c95cbbda30 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftsystem.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftsystem.h @@ -335,7 +335,6 @@ FT_BEGIN_HEADER } FT_StreamRec; - /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/fttrigon.h b/Build/source/libs/freetype2/freetype-2.5.4/include/fttrigon.h index 65143cb8c85..9c7b54324e4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/fttrigon.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/fttrigon.h @@ -237,7 +237,7 @@ FT_BEGIN_HEADER * * @input: * angle :: - * The address of angle. + * The input angle. * */ FT_EXPORT( void ) @@ -259,7 +259,7 @@ FT_BEGIN_HEADER * * @input: * angle :: - * The address of angle. + * The input angle. * */ FT_EXPORT( void ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftttdrv.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftttdrv.h index 70ad3d583b3..358841397ca 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftttdrv.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftttdrv.h @@ -158,9 +158,9 @@ FT_BEGIN_HEADER #define TT_INTERPRETER_VERSION_35 35 #define TT_INTERPRETER_VERSION_38 38 - /* */ + FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/fttypes.h b/Build/source/libs/freetype2/freetype-2.5.4/include/fttypes.h index bd944a4935f..2c01e8737ca 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/fttypes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/fttypes.h @@ -4,7 +4,7 @@ /* */ /* FreeType simple types definitions (specification only). */ /* */ -/* Copyright 1996-2002, 2004, 2006-2009, 2012, 2013 by */ +/* Copyright 1996-2002, 2004, 2006-2009, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -57,6 +57,8 @@ FT_BEGIN_HEADER /* FT_UInt16 */ /* FT_Int32 */ /* FT_UInt32 */ + /* FT_Int64 */ + /* FT_UInt64 */ /* FT_Short */ /* FT_UShort */ /* FT_Long */ @@ -78,7 +80,9 @@ FT_BEGIN_HEADER /* FT_F2Dot14 */ /* FT_UnitVector */ /* FT_F26Dot6 */ + /* FT_Data */ /* */ + /* FT_MAKE_TAG */ /* */ /* FT_Generic */ /* FT_Generic_Finalizer */ @@ -567,9 +571,9 @@ FT_BEGIN_HEADER } FT_ListRec; - /* */ + #define FT_IS_EMPTY( list ) ( (list).head == 0 ) #define FT_BOOL( x ) ( (FT_Bool)( x ) ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftwinfnt.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftwinfnt.h index 0b673517914..50261581a21 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftwinfnt.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftwinfnt.h @@ -259,9 +259,9 @@ FT_BEGIN_HEADER FT_Get_WinFNT_Header( FT_Face face, FT_WinFNT_HeaderRec *aheader ); - /* */ + FT_END_HEADER #endif /* __FTWINFNT_H__ */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ftxf86.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ftxf86.h index 493cccdd0a5..89d1993e1ea 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ftxf86.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ftxf86.h @@ -76,7 +76,8 @@ FT_BEGIN_HEADER FT_EXPORT( const char* ) FT_Get_X11_Font_Format( FT_Face face ); - /* */ + /* */ + FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/autohint.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/autohint.h index 545de938c27..545de938c27 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/autohint.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/autohint.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftcalc.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftcalc.h index 03bd68eb108..14ec37b9cd1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftcalc.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftcalc.h @@ -4,7 +4,7 @@ /* */ /* Arithmetic computations (specification). */ /* */ -/* Copyright 1996-2006, 2008, 2009, 2012-2013 by */ +/* Copyright 1996-2006, 2008, 2009, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -27,36 +27,223 @@ FT_BEGIN_HEADER -#if 0 - /*************************************************************************/ /* */ - /* <Function> */ - /* FT_SqrtFixed */ - /* */ - /* <Description> */ - /* Computes the square root of a 16.16 fixed-point value. */ - /* */ - /* <Input> */ - /* x :: The value to compute the root for. */ - /* */ - /* <Return> */ - /* The result of `sqrt(x)'. */ - /* */ - /* <Note> */ - /* This function is not very fast. */ + /* FT_MulDiv() and FT_MulFix() are declared in freetype.h. */ /* */ - FT_BASE( FT_Int32 ) - FT_SqrtFixed( FT_Int32 x ); + /*************************************************************************/ -#endif /* 0 */ +#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER + /* Provide assembler fragments for performance-critical functions. */ + /* These must be defined `static __inline__' with GCC. */ +#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ - /*************************************************************************/ - /* */ - /* FT_MulDiv() and FT_MulFix() are declared in freetype.h. */ - /* */ - /*************************************************************************/ +#define FT_MULFIX_ASSEMBLER FT_MulFix_arm + + /* documentation is in freetype.h */ + + static __inline FT_Int32 + FT_MulFix_arm( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 t, t2; + + + __asm + { + smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ + mov a, t, asr #31 /* a = (hi >> 31) */ + add a, a, #0x8000 /* a += 0x8000 */ + adds t2, t2, a /* t2 += a */ + adc t, t, #0 /* t += carry */ + mov a, t2, lsr #16 /* a = t2 >> 16 */ + orr a, a, t, lsl #16 /* a |= t << 16 */ + } + return a; + } + +#endif /* __CC_ARM || __ARMCC__ */ + + +#ifdef __GNUC__ + +#if defined( __arm__ ) && \ + ( !defined( __thumb__ ) || defined( __thumb2__ ) ) && \ + !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) + +#define FT_MULFIX_ASSEMBLER FT_MulFix_arm + + /* documentation is in freetype.h */ + + static __inline__ FT_Int32 + FT_MulFix_arm( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 t, t2; + + + __asm__ __volatile__ ( + "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ + "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ +#if defined( __clang__ ) && defined( __thumb2__ ) + "add.w %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ +#else + "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ +#endif + "adds %1, %1, %0\n\t" /* %1 += %0 */ + "adc %2, %2, #0\n\t" /* %2 += carry */ + "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ + "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ + : "=r"(a), "=&r"(t2), "=&r"(t) + : "r"(a), "r"(b) + : "cc" ); + return a; + } + +#endif /* __arm__ && */ + /* ( __thumb2__ || !__thumb__ ) && */ + /* !( __CC_ARM || __ARMCC__ ) */ + + +#if defined( __i386__ ) + +#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 + + /* documentation is in freetype.h */ + + static __inline__ FT_Int32 + FT_MulFix_i386( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 result; + + + __asm__ __volatile__ ( + "imul %%edx\n" + "movl %%edx, %%ecx\n" + "sarl $31, %%ecx\n" + "addl $0x8000, %%ecx\n" + "addl %%ecx, %%eax\n" + "adcl $0, %%edx\n" + "shrl $16, %%eax\n" + "shll $16, %%edx\n" + "addl %%edx, %%eax\n" + : "=a"(result), "=d"(b) + : "a"(a), "d"(b) + : "%ecx", "cc" ); + return result; + } + +#endif /* i386 */ + +#endif /* __GNUC__ */ + + +#ifdef _MSC_VER /* Visual C++ */ + +#ifdef _M_IX86 + +#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 + + /* documentation is in freetype.h */ + + static __inline FT_Int32 + FT_MulFix_i386( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 result; + + __asm + { + mov eax, a + mov edx, b + imul edx + mov ecx, edx + sar ecx, 31 + add ecx, 8000h + add eax, ecx + adc edx, 0 + shr eax, 16 + shl edx, 16 + add eax, edx + mov result, eax + } + return result; + } + +#endif /* _M_IX86 */ + +#endif /* _MSC_VER */ + + +#if defined( __GNUC__ ) && defined( __x86_64__ ) + +#define FT_MULFIX_ASSEMBLER FT_MulFix_x86_64 + + static __inline__ FT_Int32 + FT_MulFix_x86_64( FT_Int32 a, + FT_Int32 b ) + { + /* Temporarily disable the warning that C90 doesn't support */ + /* `long long'. */ +#if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wlong-long" +#endif + +#if 1 + /* Technically not an assembly fragment, but GCC does a really good */ + /* job at inlining it and generating good machine code for it. */ + long long ret, tmp; + + + ret = (long long)a * b; + tmp = ret >> 63; + ret += 0x8000 + tmp; + + return (FT_Int32)( ret >> 16 ); +#else + + /* For some reason, GCC 4.6 on Ubuntu 12.04 generates invalid machine */ + /* code from the lines below. The main issue is that `wide_a' is not */ + /* properly initialized by sign-extending `a'. Instead, the generated */ + /* machine code assumes that the register that contains `a' on input */ + /* can be used directly as a 64-bit value, which is wrong most of the */ + /* time. */ + long long wide_a = (long long)a; + long long wide_b = (long long)b; + long long result; + + + __asm__ __volatile__ ( + "imul %2, %1\n" + "mov %1, %0\n" + "sar $63, %0\n" + "lea 0x8000(%1, %0), %0\n" + "sar $16, %0\n" + : "=&r"(result), "=&r"(wide_a) + : "r"(wide_b) + : "cc" ); + + return (FT_Int32)result; +#endif + +#if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 6 ) +#pragma GCC diagnostic pop +#endif + } + +#endif /* __GNUC__ && __x86_64__ */ + +#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ + + +#ifdef FT_CONFIG_OPTION_INLINE_MULFIX +#ifdef FT_MULFIX_ASSEMBLER +#define FT_MulFix( a, b ) FT_MULFIX_ASSEMBLER( (FT_Int32)(a), (FT_Int32)(b) ) +#endif +#endif /*************************************************************************/ @@ -124,10 +311,11 @@ FT_BEGIN_HEADER FT_Pos out_x, FT_Pos out_y ); + /* * Return TRUE if a corner is flat or nearly flat. This is equivalent to - * saying that the angle difference between the `in' and `out' vectors is - * very small. + * saying that the corner point is close to its neighbors, or inside an + * ellipse defined by the neighbor focal points to be more precise. */ FT_BASE( FT_Int ) ft_corner_is_flat( FT_Pos in_x, @@ -139,9 +327,31 @@ FT_BEGIN_HEADER /* * Return the most significant bit index. */ + +#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER +#if defined( __GNUC__ ) && \ + ( __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 4 ) ) + +#if FT_SIZEOF_INT == 4 + +#define FT_MSB( x ) ( 31 - __builtin_clz( x ) ) + +#elif FT_SIZEOF_LONG == 4 + +#define FT_MSB( x ) ( 31 - __builtin_clzl( x ) ) + +#endif + +#endif /* __GNUC__ */ +#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ + +#ifndef FT_MSB + FT_BASE( FT_Int ) FT_MSB( FT_UInt32 z ); +#endif + /* * Return sqrt(x*x+y*y), which is the same as `FT_Vector_Length' but uses @@ -152,6 +362,31 @@ FT_BEGIN_HEADER FT_Fixed y ); +#if 0 + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_SqrtFixed */ + /* */ + /* <Description> */ + /* Computes the square root of a 16.16 fixed-point value. */ + /* */ + /* <Input> */ + /* x :: The value to compute the root for. */ + /* */ + /* <Return> */ + /* The result of `sqrt(x)'. */ + /* */ + /* <Note> */ + /* This function is not very fast. */ + /* */ + FT_BASE( FT_Int32 ) + FT_SqrtFixed( FT_Int32 x ); + +#endif /* 0 */ + + #define INT_TO_F26DOT6( x ) ( (FT_Long)(x) << 6 ) #define INT_TO_F2DOT14( x ) ( (FT_Long)(x) << 14 ) #define INT_TO_FIXED( x ) ( (FT_Long)(x) << 16 ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftdebug.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftdebug.h index 58a3916d7e5..58a3916d7e5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftdebug.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftdebug.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftdriver.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftdriver.h index 940218e62d5..940218e62d5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftdriver.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftdriver.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftgloadr.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftgloadr.h index ce4dc6c9cc6..f70774f74eb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftgloadr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftgloadr.h @@ -121,20 +121,22 @@ FT_BEGIN_HEADER FT_UInt n_contours ); -#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \ - ( (_count) == 0 || ((_loader)->base.outline.n_points + \ - (_loader)->current.outline.n_points + \ - (unsigned long)(_count)) <= (_loader)->max_points ) - -#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \ - ( (_count) == 0 || ((_loader)->base.outline.n_contours + \ - (_loader)->current.outline.n_contours + \ - (unsigned long)(_count)) <= (_loader)->max_contours ) - -#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points,_contours ) \ - ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \ - FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \ - ? 0 \ +#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \ + ( (_count) == 0 || \ + ( (_loader)->base.outline.n_points + \ + (_loader)->current.outline.n_points + \ + (unsigned long)(_count) ) <= (_loader)->max_points ) + +#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \ + ( (_count) == 0 || \ + ( (_loader)->base.outline.n_contours + \ + (_loader)->current.outline.n_contours + \ + (unsigned long)(_count)) <= (_loader)->max_contours ) + +#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours ) \ + ( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \ + FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \ + ? 0 \ : FT_GlyphLoader_CheckPoints( (_loader), (_points), (_contours) ) ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftmemory.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftmemory.h index 3d51aeec69f..3d51aeec69f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftmemory.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftmemory.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftobjs.h index 701c850eb70..b45a5ed814f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftobjs.h @@ -72,6 +72,16 @@ FT_BEGIN_HEADER #define FT_ABS( a ) ( (a) < 0 ? -(a) : (a) ) + /* + * Approximate sqrt(x*x+y*y) using the `alpha max plus beta min' + * algorithm. We use alpha = 1, beta = 3/8, giving us results with a + * largest error less than 7% compared to the exact value. + */ +#define FT_HYPOT( x, y ) \ + ( x = FT_ABS( x ), \ + y = FT_ABS( y ), \ + x > y ? x + ( 3 * y >> 3 ) \ + : y + ( 3 * x >> 3 ) ) #define FT_PAD_FLOOR( x, n ) ( (x) & ~((n)-1) ) #define FT_PAD_ROUND( x, n ) FT_PAD_FLOOR( (x) + ((n)/2), n ) @@ -83,14 +93,6 @@ FT_BEGIN_HEADER /* - * Return the highest power of 2 that is <= value; this correspond to - * the highest bit in a given 32-bit value. - */ - FT_BASE( FT_UInt32 ) - ft_highpow2( FT_UInt32 value ); - - - /* * character classification functions -- since these are used to parse * font files, we must not use those in <ctypes.h> which are * locale-dependent diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftpic.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftpic.h index 485ce7a24e7..485ce7a24e7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftrfork.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftrfork.h index d750cbefd83..d750cbefd83 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftrfork.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftrfork.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftserv.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftserv.h index 1203ec8121a..1203ec8121a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftserv.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftserv.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftstream.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftstream.h index 26618583209..26618583209 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftstream.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftstream.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/fttrace.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/fttrace.h index d5253db78a3..d5253db78a3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/fttrace.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/fttrace.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftvalid.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftvalid.h index 12ad03685ad..12ad03685ad 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/ftvalid.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/ftvalid.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/internal.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/internal.h index e0ddb06b708..e0ddb06b708 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/internal.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/internal.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/psaux.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/psaux.h index e903114f84f..e903114f84f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/psaux.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/psaux.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/pshints.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/pshints.h index 3fb18dc2d59..f05ea6863a9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/pshints.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/pshints.h @@ -6,7 +6,7 @@ /* recorders (specification only). These are used to support native */ /* T1/T2 hints in the `type1', `cid', and `cff' font drivers. */ /* */ -/* Copyright 2001-2003, 2005-2007, 2009, 2012 by */ +/* Copyright 2001-2003, 2005-2007, 2009, 2012, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -45,7 +45,7 @@ FT_BEGIN_HEADER T1_Private* private_dict, PSH_Globals* aglobals ); - typedef FT_Error + typedef void (*PSH_Globals_SetScaleFunc)( PSH_Globals globals, FT_Fixed x_scale, FT_Fixed y_scale, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svbdf.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svbdf.h index 0974752a797..0974752a797 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svbdf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svbdf.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svcid.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svcid.h index 6be3f9374da..6be3f9374da 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svcid.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svcid.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svgldict.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svgldict.h index 1d125347253..1d125347253 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svgldict.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svgldict.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svgxval.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svgxval.h index 2cdab506551..2cdab506551 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svgxval.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svgxval.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svkern.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svkern.h index 1488adf493b..1488adf493b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svkern.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svkern.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svmm.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svmm.h index b08a663d667..b08a663d667 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svmm.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svmm.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svotval.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svotval.h index 970bbd57593..970bbd57593 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svotval.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svotval.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpfr.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpfr.h index 462786f9ce9..462786f9ce9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpfr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpfr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpostnm.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpostnm.h index a76b4fe057a..a76b4fe057a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpostnm.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpostnm.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svprop.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svprop.h index 22da0bbc69d..22da0bbc69d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svprop.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svprop.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpscmap.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpscmap.h index 030948ea64f..030948ea64f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpscmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpscmap.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpsinfo.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpsinfo.h index 4bfb506711b..4bfb506711b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svpsinfo.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svpsinfo.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svsfnt.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svsfnt.h index d3835aa1c2a..d3835aa1c2a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svsfnt.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svsfnt.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svttcmap.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svttcmap.h index 4370f4c2d82..4370f4c2d82 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svttcmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svttcmap.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svtteng.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svtteng.h index 58e02a6f9dd..58e02a6f9dd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svtteng.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svtteng.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svttglyf.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svttglyf.h index 369eb8421b7..369eb8421b7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svttglyf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svttglyf.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svwinfnt.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svwinfnt.h index 57f7765d92f..57f7765d92f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svwinfnt.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svwinfnt.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svxf86nm.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svxf86nm.h index ca5d884a83c..ca5d884a83c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/services/svxf86nm.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/services/svxf86nm.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/sfnt.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/sfnt.h index 6b5e41f1adf..d558e869bda 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/sfnt.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/sfnt.h @@ -4,7 +4,7 @@ /* */ /* High-level `sfnt' driver interface (specification). */ /* */ -/* Copyright 1996-2006, 2009, 2012-2013 by */ +/* Copyright 1996-2006, 2009, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -405,14 +405,18 @@ FT_BEGIN_HEADER /* <Input> */ /* face :: A handle to the target face object. */ /* */ - /* stream :: The input stream. */ - /* */ /* vertical :: A boolean flag. If set, load vertical metrics. */ /* */ - /* <Return> */ - /* FreeType error code. 0 means success. */ + /* gindex :: The glyph index. */ /* */ - typedef FT_Error + /* <Output> */ + /* abearing :: The horizontal (or vertical) bearing. Set to zero in */ + /* case of error. */ + /* */ + /* aadvance :: The horizontal (or vertical) advance. Set to zero in */ + /* case of error. */ + /* */ + typedef void (*TT_Get_Metrics_Func)( TT_Face face, FT_Bool vertical, FT_UInt gindex, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/t1types.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/t1types.h index e20237c14dc..e20237c14dc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/t1types.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/t1types.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/tttypes.h b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/tttypes.h index ad302b87c88..ad302b87c88 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/internal/tttypes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/internal/tttypes.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/t1tables.h b/Build/source/libs/freetype2/freetype-2.5.4/include/t1tables.h index a14255e5f58..61aefdd5413 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/t1tables.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/t1tables.h @@ -5,7 +5,7 @@ /* Basic Type 1/Type 2 tables definitions and interface (specification */ /* only). */ /* */ -/* Copyright 1996-2004, 2006, 2008, 2009, 2011 by */ +/* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -49,6 +49,26 @@ FT_BEGIN_HEADER /* This section contains the definition of Type 1-specific tables, */ /* including structures related to other PostScript font formats. */ /* */ + /* <Order> */ + /* PS_FontInfoRec */ + /* PS_FontInfo */ + /* PS_PrivateRec */ + /* PS_Private */ + /* */ + /* CID_FaceDictRec */ + /* CID_FaceDict */ + /* CID_FaceInfoRec */ + /* CID_FaceInfo */ + /* */ + /* FT_Has_PS_Glyph_Names */ + /* FT_Get_PS_Font_Info */ + /* FT_Get_PS_Font_Private */ + /* FT_Get_PS_Font_Value */ + /* */ + /* T1_Blend_Flags */ + /* T1_EncodingType */ + /* PS_Dict_Keys */ + /* */ /*************************************************************************/ @@ -190,14 +210,30 @@ FT_BEGIN_HEADER /* given blend dictionary (font info or private). Used to support */ /* Multiple Masters fonts. */ /* */ + /* <Values> */ + /* T1_BLEND_UNDERLINE_POSITION :: */ + /* T1_BLEND_UNDERLINE_THICKNESS :: */ + /* T1_BLEND_ITALIC_ANGLE :: */ + /* T1_BLEND_BLUE_VALUES :: */ + /* T1_BLEND_OTHER_BLUES :: */ + /* T1_BLEND_STANDARD_WIDTH :: */ + /* T1_BLEND_STANDARD_HEIGHT :: */ + /* T1_BLEND_STEM_SNAP_WIDTHS :: */ + /* T1_BLEND_STEM_SNAP_HEIGHTS :: */ + /* T1_BLEND_BLUE_SCALE :: */ + /* T1_BLEND_BLUE_SHIFT :: */ + /* T1_BLEND_FAMILY_BLUES :: */ + /* T1_BLEND_FAMILY_OTHER_BLUES :: */ + /* T1_BLEND_FORCE_BOLD :: */ + /* */ typedef enum T1_Blend_Flags_ { - /*# required fields in a FontInfo blend dictionary */ + /* required fields in a FontInfo blend dictionary */ T1_BLEND_UNDERLINE_POSITION = 0, T1_BLEND_UNDERLINE_THICKNESS, T1_BLEND_ITALIC_ANGLE, - /*# required fields in a Private blend dictionary */ + /* required fields in a Private blend dictionary */ T1_BLEND_BLUE_VALUES, T1_BLEND_OTHER_BLUES, T1_BLEND_STANDARD_WIDTH, @@ -210,15 +246,13 @@ FT_BEGIN_HEADER T1_BLEND_FAMILY_OTHER_BLUES, T1_BLEND_FORCE_BOLD, - /*# never remove */ - T1_BLEND_MAX + T1_BLEND_MAX /* do not remove */ } T1_Blend_Flags; - /* */ - - /*# backwards compatible definitions */ + /* these constants are deprecated; use the corresponding */ + /* `T1_Blend_Flags' values instead */ #define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION #define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS #define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE @@ -235,6 +269,8 @@ FT_BEGIN_HEADER #define t1_blend_force_bold T1_BLEND_FORCE_BOLD #define t1_blend_max T1_BLEND_MAX + /* */ + /* maximum number of Multiple Masters designs, as defined in the spec */ #define T1_MAX_MM_DESIGNS 16 @@ -333,10 +369,17 @@ FT_BEGIN_HEADER /* */ typedef struct CID_FaceDictRec_* CID_FaceDict; - /* */ - - /* backwards-compatible definition */ + /*************************************************************************/ + /* */ + /* <Struct> */ + /* CID_FontDict */ + /* */ + /* <Description> */ + /* This type is equivalent to @CID_FaceDictRec. It is deprecated but */ + /* kept to maintain source compatibility between various versions of */ + /* FreeType. */ + /* */ typedef CID_FaceDictRec CID_FontDict; @@ -503,6 +546,13 @@ FT_BEGIN_HEADER /* An enumeration describing the `Encoding' entry in a Type 1 */ /* dictionary. */ /* */ + /* <Values> */ + /* T1_ENCODING_TYPE_NONE :: */ + /* T1_ENCODING_TYPE_ARRAY :: */ + /* T1_ENCODING_TYPE_STANDARD :: */ + /* T1_ENCODING_TYPE_ISOLATIN1 :: */ + /* T1_ENCODING_TYPE_EXPERT :: */ + /* */ typedef enum T1_EncodingType_ { T1_ENCODING_TYPE_NONE = 0, @@ -523,6 +573,54 @@ FT_BEGIN_HEADER /* An enumeration used in calls to @FT_Get_PS_Font_Value to identify */ /* the Type~1 dictionary entry to retrieve. */ /* */ + /* <Values> */ + /* PS_DICT_FONT_TYPE :: */ + /* PS_DICT_FONT_MATRIX :: */ + /* PS_DICT_FONT_BBOX :: */ + /* PS_DICT_PAINT_TYPE :: */ + /* PS_DICT_FONT_NAME :: */ + /* PS_DICT_UNIQUE_ID :: */ + /* PS_DICT_NUM_CHAR_STRINGS :: */ + /* PS_DICT_CHAR_STRING_KEY :: */ + /* PS_DICT_CHAR_STRING :: */ + /* PS_DICT_ENCODING_TYPE :: */ + /* PS_DICT_ENCODING_ENTRY :: */ + /* PS_DICT_NUM_SUBRS :: */ + /* PS_DICT_SUBR :: */ + /* PS_DICT_STD_HW :: */ + /* PS_DICT_STD_VW :: */ + /* PS_DICT_NUM_BLUE_VALUES :: */ + /* PS_DICT_BLUE_VALUE :: */ + /* PS_DICT_BLUE_FUZZ :: */ + /* PS_DICT_NUM_OTHER_BLUES :: */ + /* PS_DICT_OTHER_BLUE :: */ + /* PS_DICT_NUM_FAMILY_BLUES :: */ + /* PS_DICT_FAMILY_BLUE :: */ + /* PS_DICT_NUM_FAMILY_OTHER_BLUES :: */ + /* PS_DICT_FAMILY_OTHER_BLUE :: */ + /* PS_DICT_BLUE_SCALE :: */ + /* PS_DICT_BLUE_SHIFT :: */ + /* PS_DICT_NUM_STEM_SNAP_H :: */ + /* PS_DICT_STEM_SNAP_H :: */ + /* PS_DICT_NUM_STEM_SNAP_V :: */ + /* PS_DICT_STEM_SNAP_V :: */ + /* PS_DICT_FORCE_BOLD :: */ + /* PS_DICT_RND_STEM_UP :: */ + /* PS_DICT_MIN_FEATURE :: */ + /* PS_DICT_LEN_IV :: */ + /* PS_DICT_PASSWORD :: */ + /* PS_DICT_LANGUAGE_GROUP :: */ + /* PS_DICT_VERSION :: */ + /* PS_DICT_NOTICE :: */ + /* PS_DICT_FULL_NAME :: */ + /* PS_DICT_FAMILY_NAME :: */ + /* PS_DICT_WEIGHT :: */ + /* PS_DICT_IS_FIXED_PITCH :: */ + /* PS_DICT_UNDERLINE_POSITION :: */ + /* PS_DICT_UNDERLINE_THICKNESS :: */ + /* PS_DICT_FS_TYPE :: */ + /* PS_DICT_ITALIC_ANGLE :: */ + /* */ typedef enum PS_Dict_Keys_ { /* conventionally in the font dictionary */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ttnameid.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ttnameid.h index 9711d1d9475..9711d1d9475 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ttnameid.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ttnameid.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/tttables.h b/Build/source/libs/freetype2/freetype-2.5.4/include/tttables.h index bb49dc0dafd..e1d8b05e79c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/tttables.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/tttables.h @@ -5,7 +5,7 @@ /* Basic SFNT/TrueType tables definitions and interface */ /* (specification only). */ /* */ -/* Copyright 1996-2005, 2008-2013 by */ +/* Copyright 1996-2005, 2008-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -48,6 +48,25 @@ FT_BEGIN_HEADER /* This section contains the definition of TrueType-specific tables */ /* as well as some routines used to access and process them. */ /* */ + /* <Order> */ + /* TT_Header */ + /* TT_HoriHeader */ + /* TT_VertHeader */ + /* TT_OS2 */ + /* TT_Postscript */ + /* TT_PCLT */ + /* TT_MaxProfile */ + /* */ + /* FT_Sfnt_Tag */ + /* FT_Get_Sfnt_Table */ + /* FT_Load_Sfnt_Table */ + /* FT_Sfnt_Table_Info */ + /* */ + /* FT_Get_CMap_Language_ID */ + /* FT_Get_CMap_Format */ + /* */ + /* FT_PARAM_TAG_UNPATENTED_HINTING */ + /* */ /*************************************************************************/ @@ -559,21 +578,44 @@ FT_BEGIN_HEADER /* An enumeration used to specify the index of an SFNT table. */ /* Used in the @FT_Get_Sfnt_Table API function. */ /* */ + /* <Values> */ + /* FT_SFNT_HEAD :: To access the font's @TT_Header structure. */ + /* */ + /* FT_SFNT_MAXP :: To access the font's @TT_MaxProfile structure. */ + /* */ + /* FT_SFNT_OS2 :: To access the font's @TT_OS2 structure. */ + /* */ + /* FT_SFNT_HHEA :: To access the font's @TT_HoriHeader structure. */ + /* */ + /* FT_SFNT_VHEA :: To access the font's @TT_VertHeader struture. */ + /* */ + /* FT_SFNT_POST :: To access the font's @TT_Postscript structure. */ + /* */ + /* FT_SFNT_PCLT :: To access the font's @TT_PCLT structure. */ + /* */ typedef enum FT_Sfnt_Tag_ { - ft_sfnt_head = 0, /* TT_Header */ - ft_sfnt_maxp = 1, /* TT_MaxProfile */ - ft_sfnt_os2 = 2, /* TT_OS2 */ - ft_sfnt_hhea = 3, /* TT_HoriHeader */ - ft_sfnt_vhea = 4, /* TT_VertHeader */ - ft_sfnt_post = 5, /* TT_Postscript */ - ft_sfnt_pclt = 6, /* TT_PCLT */ + FT_SFNT_HEAD, + FT_SFNT_MAXP, + FT_SFNT_OS2, + FT_SFNT_HHEA, + FT_SFNT_VHEA, + FT_SFNT_POST, + FT_SFNT_PCLT, - sfnt_max /* internal end mark */ + FT_SFNT_MAX } FT_Sfnt_Tag; - /* */ + /* these constants are deprecated; use the corresponding `FT_Sfnt_Tag' */ + /* values instead */ +#define ft_sfnt_head FT_SFNT_HEAD +#define ft_sfnt_maxp FT_SFNT_MAXP +#define ft_sfnt_os2 FT_SFNT_OS2 +#define ft_sfnt_hhea FT_SFNT_HHEA +#define ft_sfnt_vhea FT_SFNT_VHEA +#define ft_sfnt_post FT_SFNT_POST +#define ft_sfnt_pclt FT_SFNT_PCLT /*************************************************************************/ @@ -611,7 +653,7 @@ FT_BEGIN_HEADER /* */ /* */ /* vert_header = */ - /* (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea ); */ + /* (TT_VertHeader*)FT_Get_Sfnt_Table( face, FT_SFNT_VHEA ); */ /* } */ /* */ FT_EXPORT( void* ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/tttags.h b/Build/source/libs/freetype2/freetype-2.5.4/include/tttags.h index d59aa19a338..d59aa19a338 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/tttags.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/tttags.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/include/ttunpat.h b/Build/source/libs/freetype2/freetype-2.5.4/include/ttunpat.h index a0162759b78..bf53ddd528f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/include/ttunpat.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/include/ttunpat.h @@ -48,7 +48,8 @@ FT_BEGIN_HEADER */ #define FT_PARAM_TAG_UNPATENTED_HINTING FT_MAKE_TAG( 'u', 'n', 'p', 'a' ) - /* */ + /* */ + FT_END_HEADER diff --git a/Build/source/libs/freetype2/freetype-2.5.3/modules.cfg b/Build/source/libs/freetype2/freetype-2.5.4/modules.cfg index 4e5259445fb..4e5259445fb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/modules.cfg +++ b/Build/source/libs/freetype2/freetype-2.5.4/modules.cfg diff --git a/Build/source/libs/freetype2/freetype-2.5.3/objs/README b/Build/source/libs/freetype2/freetype-2.5.4/objs/README index befb63e0492..befb63e0492 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/objs/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/objs/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/Jamfile index 1cc06858c0f..1cc06858c0f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/Jamfile index 2714765b5b5..2714765b5b5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afangles.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afangles.c index b44a5ba2c6c..f8b095bef30 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afangles.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afangles.c @@ -20,66 +20,6 @@ #include "aftypes.h" -#if 0 - - FT_LOCAL_DEF( FT_Int ) - af_corner_is_flat( FT_Pos x_in, - FT_Pos y_in, - FT_Pos x_out, - FT_Pos y_out ) - { - FT_Pos ax = x_in; - FT_Pos ay = y_in; - - FT_Pos d_in, d_out, d_corner; - - - if ( ax < 0 ) - ax = -ax; - if ( ay < 0 ) - ay = -ay; - d_in = ax + ay; - - ax = x_out; - if ( ax < 0 ) - ax = -ax; - ay = y_out; - if ( ay < 0 ) - ay = -ay; - d_out = ax + ay; - - ax = x_out + x_in; - if ( ax < 0 ) - ax = -ax; - ay = y_out + y_in; - if ( ay < 0 ) - ay = -ay; - d_corner = ax + ay; - - return ( d_in + d_out - d_corner ) < ( d_corner >> 4 ); - } - - - FT_LOCAL_DEF( FT_Int ) - af_corner_orientation( FT_Pos x_in, - FT_Pos y_in, - FT_Pos x_out, - FT_Pos y_out ) - { - FT_Pos delta; - - - delta = x_in * y_out - y_in * x_out; - - if ( delta == 0 ) - return 0; - else - return 1 - 2 * ( delta < 0 ); - } - -#endif /* 0 */ - - /* * We are not using `af_angle_atan' anymore, but we keep the source * code below just in case... diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afangles.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afangles.h index f33f9e108e3..f33f9e108e3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afangles.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afangles.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.c index 6e214c87280..811226eac3a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.c @@ -26,15 +26,21 @@ af_blue_strings[] = { /* */ - 'T', 'H', 'E', 'Z', 'O', 'C', 'Q', 'S', /* THEZOCQS */ + '\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */ '\0', - 'H', 'E', 'Z', 'L', 'O', 'C', 'U', 'S', /* HEZLOCUS */ + '\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */ '\0', - 'f', 'i', 'j', 'k', 'd', 'b', 'h', /* fijkdbh */ + '\xD1', '\x85', '\xD0', '\xBF', '\xD0', '\xBD', '\xD1', '\x88', '\xD0', '\xB5', '\xD0', '\xB7', '\xD0', '\xBE', '\xD1', '\x81', /* хпншезос */ '\0', - 'x', 'z', 'r', 'o', 'e', 's', 'c', /* xzroesc */ + '\xD1', '\x80', '\xD1', '\x83', '\xD1', '\x84', /* руф */ '\0', - 'p', 'q', 'g', 'j', 'y', /* pqgjy */ + '\xE0', '\xA4', '\x95', '\xE0', '\xA4', '\xAE', '\xE0', '\xA4', '\x85', '\xE0', '\xA4', '\x86', '\xE0', '\xA4', '\xA5', '\xE0', '\xA4', '\xA7', '\xE0', '\xA4', '\xAD', '\xE0', '\xA4', '\xB6', /* क म अ आ थ ध भ श */ + '\0', + '\xE0', '\xA4', '\x88', '\xE0', '\xA4', '\x90', '\xE0', '\xA4', '\x93', '\xE0', '\xA4', '\x94', '\xE0', '\xA4', '\xBF', '\xE0', '\xA5', '\x80', '\xE0', '\xA5', '\x8B', '\xE0', '\xA5', '\x8C', /* ई ऐ ओ औ ि ी ो ौ */ + '\0', + '\xE0', '\xA4', '\x95', '\xE0', '\xA4', '\xAE', '\xE0', '\xA4', '\x85', '\xE0', '\xA4', '\x86', '\xE0', '\xA4', '\xA5', '\xE0', '\xA4', '\xA7', '\xE0', '\xA4', '\xAD', '\xE0', '\xA4', '\xB6', /* क म अ आ थ ध भ श */ + '\0', + '\xE0', '\xA5', '\x81', '\xE0', '\xA5', '\x83', /* ु ृ */ '\0', '\xCE', '\x93', '\xCE', '\x92', '\xCE', '\x95', '\xCE', '\x96', '\xCE', '\x98', '\xCE', '\x9F', '\xCE', '\xA9', /* ΓΒΕΖΘΟΩ */ '\0', @@ -46,26 +52,31 @@ '\0', '\xCE', '\xB2', '\xCE', '\xB3', '\xCE', '\xB7', '\xCE', '\xBC', '\xCF', '\x81', '\xCF', '\x86', '\xCF', '\x87', '\xCF', '\x88', /* βγημρφχψ */ '\0', - '\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\x9F', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕПЗОСЭ */ + '\xD7', '\x91', '\xD7', '\x93', '\xD7', '\x94', '\xD7', '\x97', '\xD7', '\x9A', '\xD7', '\x9B', '\xD7', '\x9D', '\xD7', '\xA1', /* בדהחךכםס */ '\0', - '\xD0', '\x91', '\xD0', '\x92', '\xD0', '\x95', '\xD0', '\xA8', '\xD0', '\x97', '\xD0', '\x9E', '\xD0', '\xA1', '\xD0', '\xAD', /* БВЕШЗОСЭ */ + '\xD7', '\x91', '\xD7', '\x98', '\xD7', '\x9B', '\xD7', '\x9D', '\xD7', '\xA1', '\xD7', '\xA6', /* בטכםסצ */ '\0', - '\xD1', '\x85', '\xD0', '\xBF', '\xD0', '\xBD', '\xD1', '\x88', '\xD0', '\xB5', '\xD0', '\xB7', '\xD0', '\xBE', '\xD1', '\x81', /* хпншезос */ + '\xD7', '\xA7', '\xD7', '\x9A', '\xD7', '\x9F', '\xD7', '\xA3', '\xD7', '\xA5', /* קךןףץ */ '\0', - '\xD1', '\x80', '\xD1', '\x83', '\xD1', '\x84', /* руф */ + 'T', 'H', 'E', 'Z', 'O', 'C', 'Q', 'S', /* THEZOCQS */ '\0', - '\xD7', '\x91', '\xD7', '\x93', '\xD7', '\x94', '\xD7', '\x97', '\xD7', '\x9A', '\xD7', '\x9B', '\xD7', '\x9D', '\xD7', '\xA1', /* בדהחךכםס */ + 'H', 'E', 'Z', 'L', 'O', 'C', 'U', 'S', /* HEZLOCUS */ '\0', - '\xD7', '\x91', '\xD7', '\x98', '\xD7', '\x9B', '\xD7', '\x9D', '\xD7', '\xA1', '\xD7', '\xA6', /* בטכםסצ */ + 'f', 'i', 'j', 'k', 'd', 'b', 'h', /* fijkdbh */ '\0', - '\xD7', '\xA7', '\xD7', '\x9A', '\xD7', '\x9F', '\xD7', '\xA3', '\xD7', '\xA5', /* קךןףץ */ + 'x', 'z', 'r', 'o', 'e', 's', 'c', /* xzroesc */ + '\0', + 'p', 'q', 'g', 'j', 'y', /* pqgjy */ + '\0', + '\xE0', '\xB0', '\x87', '\xE0', '\xB0', '\x8C', '\xE0', '\xB0', '\x99', '\xE0', '\xB0', '\x9E', '\xE0', '\xB0', '\xA3', '\xE0', '\xB0', '\xB1', '\xE0', '\xB1', '\xAF', /* ఇ ఌ ఙ ఞ ణ ఱ ౯ */ + '\0', + '\xE0', '\xB0', '\x85', '\xE0', '\xB0', '\x95', '\xE0', '\xB0', '\x9A', '\xE0', '\xB0', '\xB0', '\xE0', '\xB0', '\xBD', '\xE0', '\xB1', '\xA8', '\xE0', '\xB1', '\xAC', /* అ క చ ర ఽ ౨ ౬ */ #ifdef AF_CONFIG_OPTION_CJK '\0', '\xE4', '\xBB', '\x96', '\xE4', '\xBB', '\xAC', '\xE4', '\xBD', '\xA0', '\xE4', '\xBE', '\x86', '\xE5', '\x80', '\x91', '\xE5', '\x88', '\xB0', '\xE5', '\x92', '\x8C', '\xE5', '\x9C', '\xB0', /* 他们你來們到和地 */ '\xE5', '\xAF', '\xB9', '\xE5', '\xB0', '\x8D', '\xE5', '\xB0', '\xB1', '\xE5', '\xB8', '\xAD', '\xE6', '\x88', '\x91', '\xE6', '\x97', '\xB6', '\xE6', '\x99', '\x82', '\xE6', '\x9C', '\x83', /* 对對就席我时時會 */ '\xE6', '\x9D', '\xA5', '\xE7', '\x82', '\xBA', '\xE8', '\x83', '\xBD', '\xE8', '\x88', '\xB0', '\xE8', '\xAA', '\xAA', '\xE8', '\xAF', '\xB4', '\xE8', '\xBF', '\x99', '\xE9', '\x80', '\x99', /* 来為能舰說说这這 */ - '\xE9', '\xBD', '\x8A', /* 齊 */ - '\0', + '\xE9', '\xBD', '\x8A', '|', /* 齊 | */ '\xE5', '\x86', '\x9B', '\xE5', '\x90', '\x8C', '\xE5', '\xB7', '\xB2', '\xE6', '\x84', '\xBF', '\xE6', '\x97', '\xA2', '\xE6', '\x98', '\x9F', '\xE6', '\x98', '\xAF', '\xE6', '\x99', '\xAF', /* 军同已愿既星是景 */ '\xE6', '\xB0', '\x91', '\xE7', '\x85', '\xA7', '\xE7', '\x8E', '\xB0', '\xE7', '\x8F', '\xBE', '\xE7', '\x90', '\x86', '\xE7', '\x94', '\xA8', '\xE7', '\xBD', '\xAE', '\xE8', '\xA6', '\x81', /* 民照现現理用置要 */ '\xE8', '\xBB', '\x8D', '\xE9', '\x82', '\xA3', '\xE9', '\x85', '\x8D', '\xE9', '\x87', '\x8C', '\xE9', '\x96', '\x8B', '\xE9', '\x9B', '\xB7', '\xE9', '\x9C', '\xB2', '\xE9', '\x9D', '\xA2', /* 軍那配里開雷露面 */ @@ -74,8 +85,7 @@ '\xE4', '\xB8', '\xAA', '\xE4', '\xB8', '\xBA', '\xE4', '\xBA', '\xBA', '\xE4', '\xBB', '\x96', '\xE4', '\xBB', '\xA5', '\xE4', '\xBB', '\xAC', '\xE4', '\xBD', '\xA0', '\xE4', '\xBE', '\x86', /* 个为人他以们你來 */ '\xE5', '\x80', '\x8B', '\xE5', '\x80', '\x91', '\xE5', '\x88', '\xB0', '\xE5', '\x92', '\x8C', '\xE5', '\xA4', '\xA7', '\xE5', '\xAF', '\xB9', '\xE5', '\xB0', '\x8D', '\xE5', '\xB0', '\xB1', /* 個們到和大对對就 */ '\xE6', '\x88', '\x91', '\xE6', '\x97', '\xB6', '\xE6', '\x99', '\x82', '\xE6', '\x9C', '\x89', '\xE6', '\x9D', '\xA5', '\xE7', '\x82', '\xBA', '\xE8', '\xA6', '\x81', '\xE8', '\xAA', '\xAA', /* 我时時有来為要說 */ - '\xE8', '\xAF', '\xB4', /* 说 */ - '\0', + '\xE8', '\xAF', '\xB4', '|', /* 说 | */ '\xE4', '\xB8', '\xBB', '\xE4', '\xBA', '\x9B', '\xE5', '\x9B', '\xA0', '\xE5', '\xAE', '\x83', '\xE6', '\x83', '\xB3', '\xE6', '\x84', '\x8F', '\xE7', '\x90', '\x86', '\xE7', '\x94', '\x9F', /* 主些因它想意理生 */ '\xE7', '\x95', '\xB6', '\xE7', '\x9C', '\x8B', '\xE7', '\x9D', '\x80', '\xE7', '\xBD', '\xAE', '\xE8', '\x80', '\x85', '\xE8', '\x87', '\xAA', '\xE8', '\x91', '\x97', '\xE8', '\xA3', '\xA1', /* 當看着置者自著裡 */ '\xE8', '\xBF', '\x87', '\xE8', '\xBF', '\x98', '\xE8', '\xBF', '\x9B', '\xE9', '\x80', '\xB2', '\xE9', '\x81', '\x8E', '\xE9', '\x81', '\x93', '\xE9', '\x82', '\x84', '\xE9', '\x87', '\x8C', /* 过还进進過道還里 */ @@ -85,8 +95,7 @@ '\xE4', '\xBA', '\x9B', '\xE4', '\xBB', '\xAC', '\xE4', '\xBD', '\xA0', '\xE4', '\xBE', '\x86', '\xE5', '\x80', '\x91', '\xE5', '\x88', '\xB0', '\xE5', '\x92', '\x8C', '\xE5', '\x9C', '\xB0', /* 些们你來們到和地 */ '\xE5', '\xA5', '\xB9', '\xE5', '\xB0', '\x86', '\xE5', '\xB0', '\x87', '\xE5', '\xB0', '\xB1', '\xE5', '\xB9', '\xB4', '\xE5', '\xBE', '\x97', '\xE6', '\x83', '\x85', '\xE6', '\x9C', '\x80', /* 她将將就年得情最 */ '\xE6', '\xA0', '\xB7', '\xE6', '\xA8', '\xA3', '\xE7', '\x90', '\x86', '\xE8', '\x83', '\xBD', '\xE8', '\xAA', '\xAA', '\xE8', '\xAF', '\xB4', '\xE8', '\xBF', '\x99', '\xE9', '\x80', '\x99', /* 样樣理能說说这這 */ - '\xE9', '\x80', '\x9A', /* 通 */ - '\0', + '\xE9', '\x80', '\x9A', '|', /* 通 | */ '\xE5', '\x8D', '\xB3', '\xE5', '\x90', '\x97', '\xE5', '\x90', '\xA7', '\xE5', '\x90', '\xAC', '\xE5', '\x91', '\xA2', '\xE5', '\x93', '\x81', '\xE5', '\x93', '\x8D', '\xE5', '\x97', '\x8E', /* 即吗吧听呢品响嗎 */ '\xE5', '\xB8', '\x88', '\xE5', '\xB8', '\xAB', '\xE6', '\x94', '\xB6', '\xE6', '\x96', '\xAD', '\xE6', '\x96', '\xB7', '\xE6', '\x98', '\x8E', '\xE7', '\x9C', '\xBC', '\xE9', '\x96', '\x93', /* 师師收断斷明眼間 */ '\xE9', '\x97', '\xB4', '\xE9', '\x99', '\x85', '\xE9', '\x99', '\x88', '\xE9', '\x99', '\x90', '\xE9', '\x99', '\xA4', '\xE9', '\x99', '\xB3', '\xE9', '\x9A', '\x8F', '\xE9', '\x9A', '\x9B', /* 间际陈限除陳随際 */ @@ -95,8 +104,7 @@ '\xE4', '\xBA', '\x8B', '\xE5', '\x89', '\x8D', '\xE5', '\xAD', '\xB8', '\xE5', '\xB0', '\x86', '\xE5', '\xB0', '\x87', '\xE6', '\x83', '\x85', '\xE6', '\x83', '\xB3', '\xE6', '\x88', '\x96', /* 事前學将將情想或 */ '\xE6', '\x94', '\xBF', '\xE6', '\x96', '\xAF', '\xE6', '\x96', '\xB0', '\xE6', '\xA0', '\xB7', '\xE6', '\xA8', '\xA3', '\xE6', '\xB0', '\x91', '\xE6', '\xB2', '\x92', '\xE6', '\xB2', '\xA1', /* 政斯新样樣民沒没 */ '\xE7', '\x84', '\xB6', '\xE7', '\x89', '\xB9', '\xE7', '\x8E', '\xB0', '\xE7', '\x8F', '\xBE', '\xE7', '\x90', '\x83', '\xE7', '\xAC', '\xAC', '\xE7', '\xB6', '\x93', '\xE8', '\xB0', '\x81', /* 然特现現球第經谁 */ - '\xE8', '\xB5', '\xB7', /* 起 */ - '\0', + '\xE8', '\xB5', '\xB7', '|', /* 起 | */ '\xE4', '\xBE', '\x8B', '\xE5', '\x88', '\xA5', '\xE5', '\x88', '\xAB', '\xE5', '\x88', '\xB6', '\xE5', '\x8A', '\xA8', '\xE5', '\x8B', '\x95', '\xE5', '\x90', '\x97', '\xE5', '\x97', '\x8E', /* 例別别制动動吗嗎 */ '\xE5', '\xA2', '\x9E', '\xE6', '\x8C', '\x87', '\xE6', '\x98', '\x8E', '\xE6', '\x9C', '\x9D', '\xE6', '\x9C', '\x9F', '\xE6', '\x9E', '\x84', '\xE7', '\x89', '\xA9', '\xE7', '\xA1', '\xAE', /* 增指明朝期构物确 */ '\xE7', '\xA7', '\x8D', '\xE8', '\xAA', '\xBF', '\xE8', '\xB0', '\x83', '\xE8', '\xB2', '\xBB', '\xE8', '\xB4', '\xB9', '\xE9', '\x82', '\xA3', '\xE9', '\x83', '\xBD', '\xE9', '\x96', '\x93', /* 种調调費费那都間 */ @@ -113,14 +121,21 @@ af_blue_stringsets[] = { /* */ - { AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, - { AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 }, - { AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, - { AF_BLUE_STRING_LATIN_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | - AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, - { AF_BLUE_STRING_LATIN_SMALL, 0 }, - { AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 }, - { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 }, + { AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, + { AF_BLUE_STRING_CYRILLIC_SMALL, 0 }, + { AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER, 0 }, + { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_DEVANAGARI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_DEVANAGARI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_DEVANAGARI_BASE, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_NEUTRAL | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, + { AF_BLUE_STRING_DEVANAGARI_BASE, 0 }, + { AF_BLUE_STRING_DEVANAGARI_BOTTOM, 0 }, + { AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, { AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM, 0 }, { AF_BLUE_STRING_GREEK_SMALL_BETA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, @@ -129,35 +144,31 @@ { AF_BLUE_STRING_GREEK_SMALL, 0 }, { AF_BLUE_STRING_GREEK_SMALL_DESCENDER, 0 }, { AF_BLUE_STRING_MAX, 0 }, - { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, - { AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 }, - { AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | - AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, - { AF_BLUE_STRING_CYRILLIC_SMALL, 0 }, - { AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER, 0 }, - { AF_BLUE_STRING_MAX, 0 }, { AF_BLUE_STRING_HEBREW_TOP, AF_BLUE_PROPERTY_LATIN_TOP | AF_BLUE_PROPERTY_LATIN_LONG }, { AF_BLUE_STRING_HEBREW_BOTTOM, 0 }, { AF_BLUE_STRING_HEBREW_DESCENDER, 0 }, { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 }, + { AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_LATIN_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT }, + { AF_BLUE_STRING_LATIN_SMALL, 0 }, + { AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 }, + { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }, + { AF_BLUE_STRING_TELUGU_BOTTOM, 0 }, + { AF_BLUE_STRING_MAX, 0 }, #ifdef AF_CONFIG_OPTION_CJK - { AF_BLUE_STRING_CJK_TOP_FILL, AF_BLUE_PROPERTY_CJK_TOP | - AF_BLUE_PROPERTY_CJK_FILL }, - { AF_BLUE_STRING_CJK_TOP_UNFILL, AF_BLUE_PROPERTY_CJK_TOP }, - { AF_BLUE_STRING_CJK_BOTTOM_FILL, AF_BLUE_PROPERTY_CJK_FILL }, - { AF_BLUE_STRING_CJK_BOTTOM_UNFILL, 0 }, + { AF_BLUE_STRING_CJK_TOP, AF_BLUE_PROPERTY_CJK_TOP }, + { AF_BLUE_STRING_CJK_BOTTOM, 0 }, #ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT - { AF_BLUE_STRING_CJK_LEFT_FILL, AF_BLUE_PROPERTY_CJK_HORIZ | - AF_BLUE_PROPERTY_CJK_FILL }, - { AF_BLUE_STRING_CJK_LEFT_UNFILL, AF_BLUE_PROPERTY_CJK_HORIZ }, - { AF_BLUE_STRING_CJK_RIGHT_FILL, AF_BLUE_PROPERTY_CJK_HORIZ | - AF_BLUE_PROPERTY_CJK_RIGHT | - AF_BLUE_PROPERTY_CJK_FILL }, - { AF_BLUE_STRING_CJK_RIGHT_UNFILL, AF_BLUE_PROPERTY_CJK_HORIZ | - AF_BLUE_PROPERTY_CJK_RIGHT }, + { AF_BLUE_STRING_CJK_LEFT, AF_BLUE_PROPERTY_CJK_HORIZ }, + { AF_BLUE_STRING_CJK_RIGHT, AF_BLUE_PROPERTY_CJK_HORIZ | + AF_BLUE_PROPERTY_CJK_RIGHT }, #endif /* AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT */ - { AF_BLUE_STRING_MAX, 0 }, + { AF_BLUE_STRING_MAX, 0 }, #endif /* AF_CONFIG_OPTION_CJK */ }; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.cin b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.cin index c6762bec307..c6762bec307 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.cin +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.cin diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.dat b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.dat index d488f3faea6..3f98c13b243 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.dat +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.dat @@ -2,7 +2,7 @@ // // Auto-fitter data for blue strings. // -// Copyright 2013 by +// Copyright 2013, 2014 by // David Turner, Robert Wilhelm, and Werner Lemberg. // // This file is part of the FreeType project, and may only be used, @@ -34,11 +34,11 @@ // using C syntax. There can be only one string per line, thus the // starting and ending double quote must be the first and last character // in the line, respectively, ignoring whitespace before and after the -// string. If there are multiple strings (in multiple lines), they are -// concatenated to a single string. In the output, a string gets -// represented as a series of singles bytes, followed by a zero byte. The -// enumeration values simply hold byte offsets to the start of the -// corresponding strings. +// string. Space characters within the string are ignored too. If there +// are multiple strings (in multiple lines), they are concatenated to a +// single string. In the output, a string gets represented as a series of +// singles bytes, followed by a zero byte. The enumeration values simply +// hold byte offsets to the start of the corresponding strings. // // - Data blocks enclosed in balanced braces, which get copied verbatim and // which can span multiple lines. The opening brace of a block must be @@ -63,18 +63,32 @@ // characters, not bytes. +// The blue zone string data, to be used in the blue stringsets below. + AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: - AF_BLUE_STRING_LATIN_CAPITAL_TOP - "THEZOCQS" - AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM - "HEZLOCUS" - AF_BLUE_STRING_LATIN_SMALL_F_TOP - "fijkdbh" - AF_BLUE_STRING_LATIN_SMALL - "xzroesc" - AF_BLUE_STRING_LATIN_SMALL_DESCENDER - "pqgjy" + AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP + "БВЕПЗОСЭ" + AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM + "БВЕШЗОСЭ" + AF_BLUE_STRING_CYRILLIC_SMALL + "хпншезос" + AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER + "руф" + + // we separate the letters with spaces to avoid ligatures; + // this is just for convenience to simplify reading + AF_BLUE_STRING_DEVANAGARI_BASE + "क म अ आ थ ध भ श" + AF_BLUE_STRING_DEVANAGARI_TOP + "ई ऐ ओ औ ि ी ो ौ" + // note that some fonts have extreme variation in the height of the + // round head elements; for this reason we also define the `base' + // blue zone, which must be always present + AF_BLUE_STRING_DEVANAGARI_HEAD + "क म अ आ थ ध भ श" + AF_BLUE_STRING_DEVANAGARI_BOTTOM + "ु ृ" AF_BLUE_STRING_GREEK_CAPITAL_TOP "ΓΒΕΖΘΟΩ" @@ -87,15 +101,6 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: AF_BLUE_STRING_GREEK_SMALL_DESCENDER "βγημρφχψ" - AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP - "БВЕПЗОСЭ" - AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM - "БВЕШЗОСЭ" - AF_BLUE_STRING_CYRILLIC_SMALL - "хпншезос" - AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER - "руф" - AF_BLUE_STRING_HEBREW_TOP "בדהחךכםס" AF_BLUE_STRING_HEBREW_BOTTOM @@ -103,24 +108,41 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: AF_BLUE_STRING_HEBREW_DESCENDER "קךןףץ" + AF_BLUE_STRING_LATIN_CAPITAL_TOP + "THEZOCQS" + AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM + "HEZLOCUS" + AF_BLUE_STRING_LATIN_SMALL_F_TOP + "fijkdbh" + AF_BLUE_STRING_LATIN_SMALL + "xzroesc" + AF_BLUE_STRING_LATIN_SMALL_DESCENDER + "pqgjy" + + // we separate the letters with spaces to avoid ligatures; + // this is just for convenience to simplify reading + AF_BLUE_STRING_TELUGU_TOP + "ఇ ఌ ఙ ఞ ణ ఱ ౯" + + AF_BLUE_STRING_TELUGU_BOTTOM + "అ క చ ర ఽ ౨ ౬" + #ifdef AF_CONFIG_OPTION_CJK - AF_BLUE_STRING_CJK_TOP_FILL + AF_BLUE_STRING_CJK_TOP "他们你來們到和地" "对對就席我时時會" "来為能舰說说这這" - "齊" - AF_BLUE_STRING_CJK_TOP_UNFILL + "齊 |" "军同已愿既星是景" "民照现現理用置要" "軍那配里開雷露面" "顾" - AF_BLUE_STRING_CJK_BOTTOM_FILL + AF_BLUE_STRING_CJK_BOTTOM "个为人他以们你來" "個們到和大对對就" "我时時有来為要說" - "说" - AF_BLUE_STRING_CJK_BOTTOM_UNFILL + "说 |" "主些因它想意理生" "當看着置者自著裡" "过还进進過道還里" @@ -128,22 +150,20 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: #ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT - AF_BLUE_STRING_CJK_LEFT_FILL + AF_BLUE_STRING_CJK_LEFT "些们你來們到和地" "她将將就年得情最" "样樣理能說说这這" - "通" - AF_BLUE_STRING_CJK_LEFT_UNFILL + "通 |" "即吗吧听呢品响嗎" "师師收断斷明眼間" "间际陈限除陳随際" "隨" - AF_BLUE_STRING_CJK_RIGHT_FILL + AF_BLUE_STRING_CJK_RIGHT "事前學将將情想或" "政斯新样樣民沒没" "然特现現球第經谁" - "起" - AF_BLUE_STRING_CJK_RIGHT_UNFILL + "起 |" "例別别制动動吗嗎" "增指明朝期构物确" "种調调費费那都間" @@ -154,17 +174,118 @@ AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN: #endif /* AF_CONFIG_OPTION_CJK */ +// The blue zone stringsets, as used in the script styles, cf. `afstyles.h'. +// +// The AF_BLUE_PROPERTY_XXX flags are defined in `afblue.h'; here some +// explanations. +// +// A blue zone in general is defined by a reference and an overshoot line. +// During the hinting process, all coordinate values between those two lines +// are set equal to the reference value, provided that the blue zone is not +// wider than 0.75 pixels (otherwise the blue zone gets ignored). All +// entries must have `AF_BLUE_STRING_MAX' as the final line. +// +// During the glyph analysis, edges are sorted from bottom to top, and then +// sequentially checked, edge by edge, against the blue zones in the order +// given below. +// +// +// latin auto-hinter +// ----------------- +// +// Characters in a blue string are automatically classified as having a flat +// (reference) or a round (overshoot) extremum. The blue zone is then set +// up by the mean values of all flat extrema and all round extrema, +// respectively. Only horizontal blue zones (i.e., adjusting vertical +// coordinate values) are supported. +// +// For the latin auto-hinter, the overshoot should be larger than the +// reference for top zones, and vice versa for bottom zones. +// +// LATIN_TOP +// Take the maximum flat and round coordinate values of the blue string +// characters for computing the blue zone's reference and overshoot +// values. +// +// If not set, take the minimum values. +// +// LATIN_NEUTRAL +// Ignore round extrema and define the blue zone with flat values only. +// Both top and bottom of contours can match. This is useful for +// scripts like Devanagari where vowel signs attach to the base +// character and are implemented as components of composite glyphs. +// +// If not set, both round and flat extrema are taken into account. +// Additionally, only the top or the bottom of a contour can match, +// depending on the LATIN_TOP flag. +// +// Neutral blue zones should always follow non-neutral blue zones. +// +// LATIN_X_HEIGHT +// Scale all glyphs vertically from the corresponding script to make the +// reference line of this blue zone align on the grid. The scaling +// takes place before all other blue zones get aligned to the grid. +// Only one blue character string of a script style can have this flag. +// +// LATIN_LONG +// Apply an additional constraint for blue zone values: Don't +// necessarily use the extremum as-is but a segment of the topmost (or +// bottommost) contour that is longer than a heuristic threshold, and +// which is not too far away vertically from the real extremum. This +// ensures that small bumps in the outline are ignored (for example, the +// `vertical serifs' found in many Hebrew glyph designs). +// +// The segment must be at least EM/25 font units long, and the distance +// to the extremum must be smaller than EM/4. +// +// +// cjk auto-hinter +// --------------- +// +// Characters in a blue string are *not* automatically classified. Instead, +// first come the characters used for the overshoot value, then the +// character `|', then the characters used for the reference value. The +// blue zone is then set up by the mean values of all reference values and +// all overshoot values, respectively. Both horizontal and vertical blue +// zones (i.e., adjusting vertical and horizontal coordinate values, +// respectively) are supported. +// +// For the cjk auto-hinter, the overshoot should be smaller than the +// reference for top zones, and vice versa for bottom zones. +// +// CJK_TOP +// Take the maximum flat and round coordinate values of the blue string +// characters. If not set, take the minimum values. +// +// CJK_RIGHT +// A synonym for CJK_TOP. If CJK_HORIZ is set, this flag indicates the +// right blue zone, taking horizontal maximum values. +// +// CJK_HORIZ +// Define a blue zone for horizontal hinting (i.e., vertical blue +// zones). If not set, this is a blue zone for vertical hinting. + + AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN: - AF_BLUE_STRINGSET_LATN - { AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP } - { AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 } - { AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP } - { AF_BLUE_STRING_LATIN_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | - AF_BLUE_PROPERTY_LATIN_X_HEIGHT } - { AF_BLUE_STRING_LATIN_SMALL, 0 } - { AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 } - { AF_BLUE_STRING_MAX, 0 } + AF_BLUE_STRINGSET_CYRL + { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 } + { AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT } + { AF_BLUE_STRING_CYRILLIC_SMALL, 0 } + { AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER, 0 } + { AF_BLUE_STRING_MAX, 0 } + + AF_BLUE_STRINGSET_DEVA + { AF_BLUE_STRING_DEVANAGARI_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_DEVANAGARI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_DEVANAGARI_BASE, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_NEUTRAL | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT } + { AF_BLUE_STRING_DEVANAGARI_BASE, 0 } + { AF_BLUE_STRING_DEVANAGARI_BOTTOM, 0 } + { AF_BLUE_STRING_MAX, 0 } AF_BLUE_STRINGSET_GREK { AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP } @@ -176,15 +297,6 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN: { AF_BLUE_STRING_GREEK_SMALL_DESCENDER, 0 } { AF_BLUE_STRING_MAX, 0 } - AF_BLUE_STRINGSET_CYRL - { AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP } - { AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 } - { AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | - AF_BLUE_PROPERTY_LATIN_X_HEIGHT } - { AF_BLUE_STRING_CYRILLIC_SMALL, 0 } - { AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER, 0 } - { AF_BLUE_STRING_MAX, 0 } - AF_BLUE_STRINGSET_HEBR { AF_BLUE_STRING_HEBREW_TOP, AF_BLUE_PROPERTY_LATIN_TOP | AF_BLUE_PROPERTY_LATIN_LONG } @@ -192,25 +304,32 @@ AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN: { AF_BLUE_STRING_HEBREW_DESCENDER, 0 } { AF_BLUE_STRING_MAX, 0 } + AF_BLUE_STRINGSET_LATN + { AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 } + { AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_LATIN_SMALL, AF_BLUE_PROPERTY_LATIN_TOP | + AF_BLUE_PROPERTY_LATIN_X_HEIGHT } + { AF_BLUE_STRING_LATIN_SMALL, 0 } + { AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 } + { AF_BLUE_STRING_MAX, 0 } + + AF_BLUE_STRINGSET_TELU + { AF_BLUE_STRING_TELUGU_TOP, AF_BLUE_PROPERTY_LATIN_TOP } + { AF_BLUE_STRING_TELUGU_BOTTOM, 0 } + { AF_BLUE_STRING_MAX, 0 } + #ifdef AF_CONFIG_OPTION_CJK AF_BLUE_STRINGSET_HANI - { AF_BLUE_STRING_CJK_TOP_FILL, AF_BLUE_PROPERTY_CJK_TOP | - AF_BLUE_PROPERTY_CJK_FILL } - { AF_BLUE_STRING_CJK_TOP_UNFILL, AF_BLUE_PROPERTY_CJK_TOP } - { AF_BLUE_STRING_CJK_BOTTOM_FILL, AF_BLUE_PROPERTY_CJK_FILL } - { AF_BLUE_STRING_CJK_BOTTOM_UNFILL, 0 } + { AF_BLUE_STRING_CJK_TOP, AF_BLUE_PROPERTY_CJK_TOP } + { AF_BLUE_STRING_CJK_BOTTOM, 0 } #ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT - { AF_BLUE_STRING_CJK_LEFT_FILL, AF_BLUE_PROPERTY_CJK_HORIZ | - AF_BLUE_PROPERTY_CJK_FILL } - { AF_BLUE_STRING_CJK_LEFT_UNFILL, AF_BLUE_PROPERTY_CJK_HORIZ } - { AF_BLUE_STRING_CJK_RIGHT_FILL, AF_BLUE_PROPERTY_CJK_HORIZ | - AF_BLUE_PROPERTY_CJK_RIGHT | - AF_BLUE_PROPERTY_CJK_FILL } - { AF_BLUE_STRING_CJK_RIGHT_UNFILL, AF_BLUE_PROPERTY_CJK_HORIZ | - AF_BLUE_PROPERTY_CJK_RIGHT } + { AF_BLUE_STRING_CJK_LEFT, AF_BLUE_PROPERTY_CJK_HORIZ } + { AF_BLUE_STRING_CJK_RIGHT, AF_BLUE_PROPERTY_CJK_HORIZ | + AF_BLUE_PROPERTY_CJK_RIGHT } #endif /* AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT */ - { AF_BLUE_STRING_MAX, 0 } + { AF_BLUE_STRING_MAX, 0 } #endif /* AF_CONFIG_OPTION_CJK */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.h index 6f336abc0d9..a86184191df 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.h @@ -7,7 +7,7 @@ /* */ /* Auto-fitter data for blue strings (specification). */ /* */ -/* Copyright 2013 by */ +/* Copyright 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -67,42 +67,44 @@ FT_BEGIN_HEADER /* At the bottommost level, we define strings for finding blue zones. */ -#define AF_BLUE_STRING_MAX_LEN 25 +#define AF_BLUE_STRING_MAX_LEN 51 /* The AF_Blue_String enumeration values are offsets into the */ /* `af_blue_strings' array. */ typedef enum AF_Blue_String_ { - AF_BLUE_STRING_LATIN_CAPITAL_TOP = 0, - AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 9, - AF_BLUE_STRING_LATIN_SMALL_F_TOP = 18, - AF_BLUE_STRING_LATIN_SMALL = 26, - AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 34, - AF_BLUE_STRING_GREEK_CAPITAL_TOP = 40, - AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 55, - AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 68, - AF_BLUE_STRING_GREEK_SMALL = 81, - AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 98, - AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 115, - AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 132, - AF_BLUE_STRING_CYRILLIC_SMALL = 149, - AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 166, - AF_BLUE_STRING_HEBREW_TOP = 173, - AF_BLUE_STRING_HEBREW_BOTTOM = 190, - AF_BLUE_STRING_HEBREW_DESCENDER = 203, - af_blue_1_1 = 213, + AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP = 0, + AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM = 17, + AF_BLUE_STRING_CYRILLIC_SMALL = 34, + AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER = 51, + AF_BLUE_STRING_DEVANAGARI_BASE = 58, + AF_BLUE_STRING_DEVANAGARI_TOP = 83, + AF_BLUE_STRING_DEVANAGARI_HEAD = 108, + AF_BLUE_STRING_DEVANAGARI_BOTTOM = 133, + AF_BLUE_STRING_GREEK_CAPITAL_TOP = 140, + AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM = 155, + AF_BLUE_STRING_GREEK_SMALL_BETA_TOP = 168, + AF_BLUE_STRING_GREEK_SMALL = 181, + AF_BLUE_STRING_GREEK_SMALL_DESCENDER = 198, + AF_BLUE_STRING_HEBREW_TOP = 215, + AF_BLUE_STRING_HEBREW_BOTTOM = 232, + AF_BLUE_STRING_HEBREW_DESCENDER = 245, + AF_BLUE_STRING_LATIN_CAPITAL_TOP = 256, + AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM = 265, + AF_BLUE_STRING_LATIN_SMALL_F_TOP = 274, + AF_BLUE_STRING_LATIN_SMALL = 282, + AF_BLUE_STRING_LATIN_SMALL_DESCENDER = 290, + AF_BLUE_STRING_TELUGU_TOP = 296, + AF_BLUE_STRING_TELUGU_BOTTOM = 318, + af_blue_1_1 = 339, #ifdef AF_CONFIG_OPTION_CJK - AF_BLUE_STRING_CJK_TOP_FILL = af_blue_1_1 + 1, - AF_BLUE_STRING_CJK_TOP_UNFILL = af_blue_1_1 + 77, - AF_BLUE_STRING_CJK_BOTTOM_FILL = af_blue_1_1 + 153, - AF_BLUE_STRING_CJK_BOTTOM_UNFILL = af_blue_1_1 + 229, + AF_BLUE_STRING_CJK_TOP = af_blue_1_1 + 1, + AF_BLUE_STRING_CJK_BOTTOM = af_blue_1_1 + 153, af_blue_1_1_1 = af_blue_1_1 + 304, #ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT - AF_BLUE_STRING_CJK_LEFT_FILL = af_blue_1_1_1 + 1, - AF_BLUE_STRING_CJK_LEFT_UNFILL = af_blue_1_1_1 + 77, - AF_BLUE_STRING_CJK_RIGHT_FILL = af_blue_1_1_1 + 153, - AF_BLUE_STRING_CJK_RIGHT_UNFILL = af_blue_1_1_1 + 229, + AF_BLUE_STRING_CJK_LEFT = af_blue_1_1_1 + 1, + AF_BLUE_STRING_CJK_RIGHT = af_blue_1_1_1 + 153, af_blue_1_1_2 = af_blue_1_1_1 + 304, #else af_blue_1_1_2 = af_blue_1_1_1 + 0, @@ -136,33 +138,35 @@ FT_BEGIN_HEADER /* Properties are specific to a writing system. We assume that a given */ /* blue string can't be used in more than a single writing system, which */ /* is a safe bet. */ -#define AF_BLUE_PROPERTY_LATIN_TOP ( 1 << 0 ) -#define AF_BLUE_PROPERTY_LATIN_X_HEIGHT ( 1 << 1 ) -#define AF_BLUE_PROPERTY_LATIN_LONG ( 1 << 2 ) +#define AF_BLUE_PROPERTY_LATIN_TOP ( 1 << 0 ) /* must have value 1 */ +#define AF_BLUE_PROPERTY_LATIN_NEUTRAL ( 1 << 1 ) +#define AF_BLUE_PROPERTY_LATIN_X_HEIGHT ( 1 << 2 ) +#define AF_BLUE_PROPERTY_LATIN_LONG ( 1 << 3 ) -#define AF_BLUE_PROPERTY_CJK_HORIZ ( 1 << 0 ) -#define AF_BLUE_PROPERTY_CJK_TOP ( 1 << 1 ) -#define AF_BLUE_PROPERTY_CJK_FILL ( 1 << 2 ) +#define AF_BLUE_PROPERTY_CJK_TOP ( 1 << 0 ) /* must have value 1 */ +#define AF_BLUE_PROPERTY_CJK_HORIZ ( 1 << 1 ) /* must have value 2 */ #define AF_BLUE_PROPERTY_CJK_RIGHT AF_BLUE_PROPERTY_CJK_TOP -#define AF_BLUE_STRINGSET_MAX_LEN 9 +#define AF_BLUE_STRINGSET_MAX_LEN 7 /* The AF_Blue_Stringset enumeration values are offsets into the */ /* `af_blue_stringsets' array. */ typedef enum AF_Blue_Stringset_ { - AF_BLUE_STRINGSET_LATN = 0, - AF_BLUE_STRINGSET_GREK = 7, - AF_BLUE_STRINGSET_CYRL = 14, - AF_BLUE_STRINGSET_HEBR = 20, - af_blue_2_1 = 24, + AF_BLUE_STRINGSET_CYRL = 0, + AF_BLUE_STRINGSET_DEVA = 6, + AF_BLUE_STRINGSET_GREK = 12, + AF_BLUE_STRINGSET_HEBR = 19, + AF_BLUE_STRINGSET_LATN = 23, + AF_BLUE_STRINGSET_TELU = 30, + af_blue_2_1 = 33, #ifdef AF_CONFIG_OPTION_CJK AF_BLUE_STRINGSET_HANI = af_blue_2_1 + 0, - af_blue_2_1_1 = af_blue_2_1 + 4, + af_blue_2_1_1 = af_blue_2_1 + 2, #ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT - af_blue_2_1_2 = af_blue_2_1_1 + 4, + af_blue_2_1_2 = af_blue_2_1_1 + 2, #else af_blue_2_1_2 = af_blue_2_1_1 + 0, #endif /* AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.hin b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.hin index 4fc99175580..0b4b48d7fe5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afblue.hin +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afblue.hin @@ -4,7 +4,7 @@ /* */ /* Auto-fitter data for blue strings (specification). */ /* */ -/* Copyright 2013 by */ +/* Copyright 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -96,13 +96,13 @@ FT_BEGIN_HEADER /* Properties are specific to a writing system. We assume that a given */ /* blue string can't be used in more than a single writing system, which */ /* is a safe bet. */ -#define AF_BLUE_PROPERTY_LATIN_TOP ( 1 << 0 ) -#define AF_BLUE_PROPERTY_LATIN_X_HEIGHT ( 1 << 1 ) -#define AF_BLUE_PROPERTY_LATIN_LONG ( 1 << 2 ) +#define AF_BLUE_PROPERTY_LATIN_TOP ( 1 << 0 ) /* must have value 1 */ +#define AF_BLUE_PROPERTY_LATIN_NEUTRAL ( 1 << 1 ) +#define AF_BLUE_PROPERTY_LATIN_X_HEIGHT ( 1 << 2 ) +#define AF_BLUE_PROPERTY_LATIN_LONG ( 1 << 3 ) -#define AF_BLUE_PROPERTY_CJK_HORIZ ( 1 << 0 ) -#define AF_BLUE_PROPERTY_CJK_TOP ( 1 << 1 ) -#define AF_BLUE_PROPERTY_CJK_FILL ( 1 << 2 ) +#define AF_BLUE_PROPERTY_CJK_TOP ( 1 << 0 ) /* must have value 1 */ +#define AF_BLUE_PROPERTY_CJK_HORIZ ( 1 << 1 ) /* must have value 2 */ #define AF_BLUE_PROPERTY_CJK_RIGHT AF_BLUE_PROPERTY_CJK_TOP diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcjk.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcjk.c index 3a65fc561ca..048e0e7d022 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcjk.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcjk.c @@ -4,7 +4,7 @@ /* */ /* Auto-fitter hinting routines for CJK writing system (body). */ /* */ -/* Copyright 2006-2013 by */ +/* Copyright 2006-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -178,6 +178,8 @@ goto Exit; af_latin_hints_link_segments( hints, + 0, + NULL, (AF_Dimension)dim ); seg = axhints->segments; @@ -261,6 +263,8 @@ FT_Int num_fills; FT_Int num_flats; + FT_Bool fill; + AF_CJKBlue blue; FT_Error error; AF_CJKAxis axis; @@ -271,22 +275,6 @@ AF_Blue_Stringset bss = sc->blue_stringset; const AF_Blue_StringRec* bs = &af_blue_stringsets[bss]; -#ifdef FT_DEBUG_LEVEL_TRACE - FT_String* cjk_blue_name[4] = - { - (FT_String*)"bottom", /* -- , -- */ - (FT_String*)"top", /* -- , TOP */ - (FT_String*)"left", /* HORIZ, -- */ - (FT_String*)"right" /* HORIZ, TOP */ - }; - - FT_String* cjk_blue_type_name[2] = - { - (FT_String*)"unfilled", /* -- */ - (FT_String*)"filled" /* FILL */ - }; -#endif - /* we walk over the blue character strings as specified in the */ /* style's entry in the `af_blue_stringset' array, computing its */ @@ -308,15 +296,29 @@ else axis = &metrics->axis[AF_DIMENSION_VERT]; - FT_TRACE5(( "blue zone %d:\n", axis->blue_count )); +#ifdef FT_DEBUG_LEVEL_TRACE + { + FT_String* cjk_blue_name[4] = + { + (FT_String*)"bottom", /* -- , -- */ + (FT_String*)"top", /* -- , TOP */ + (FT_String*)"left", /* HORIZ, -- */ + (FT_String*)"right" /* HORIZ, TOP */ + }; + + + FT_TRACE5(( "blue zone %d (%s):\n", + axis->blue_count, + cjk_blue_name[AF_CJK_IS_HORIZ_BLUE( bs ) | + AF_CJK_IS_TOP_BLUE( bs ) ] )); + } +#endif /* FT_DEBUG_LEVEL_TRACE */ num_fills = 0; num_flats = 0; - FT_TRACE5(( " cjk blue %s/%s\n", - cjk_blue_name[AF_CJK_IS_HORIZ_BLUE( bs ) | - AF_CJK_IS_TOP_BLUE( bs ) ], - cjk_blue_type_name[!!AF_CJK_IS_FILLED_BLUE( bs )] )); + fill = 1; /* start with characters that define fill values */ + FT_TRACE5(( " [overshoot values]\n" )); while ( *p ) { @@ -330,6 +332,14 @@ GET_UTF8_CHAR( ch, p ); + /* switch to characters that define flat values */ + if ( ch == '|' ) + { + fill = 0; + FT_TRACE5(( " [reference values]\n" )); + continue; + } + /* load the character in the face -- skip unknown or empty ones */ af_get_char_index( &metrics->root, ch, &glyph_index, &y_offset ); if ( glyph_index == 0 ) @@ -417,7 +427,7 @@ FT_TRACE5(( " U+%04lX: best_pos = %5ld\n", ch, best_pos )); } - if ( AF_CJK_IS_FILLED_BLUE( bs ) ) + if ( fill ) fills[num_fills++] = best_pos; else flats[num_flats++] = best_pos; @@ -429,15 +439,15 @@ * we couldn't find a single glyph to compute this blue zone, * we will simply ignore it then */ - FT_TRACE5(( " empty\n" )); + FT_TRACE5(( " empty\n" )); continue; } - /* we have computed the contents of the `fill' and `flats' tables, */ - /* now determine the reference position of the blue zone -- */ - /* we simply take the median value after a simple sort */ - af_sort_pos( num_flats, flats ); + /* we have computed the contents of the `fill' and `flats' tables, */ + /* now determine the reference and overshoot position of the blue -- */ + /* we simply take the median value after a simple sort */ af_sort_pos( num_fills, fills ); + af_sort_pos( num_flats, flats ); blue = &axis->blues[axis->blue_count]; blue_ref = &blue->ref.org; @@ -476,7 +486,7 @@ *blue_ref = *blue_shoot = ( shoot + ref ) / 2; - FT_TRACE5(( " [overshoot smaller than reference," + FT_TRACE5(( " [reference smaller than overshoot," " taking mean value]\n" )); } } @@ -755,10 +765,6 @@ /* now compare each segment to the others */ for ( seg1 = segments; seg1 < segment_limit; seg1++ ) { - /* the fake segments are for metrics hinting only */ - if ( seg1->first == seg1->last ) - continue; - if ( seg1->dir != major_dir ) continue; @@ -1018,10 +1024,11 @@ edge->first = seg; edge->last = seg; + edge->dir = seg->dir; edge->fpos = seg->pos; - edge->opos = edge->pos = FT_MulFix( seg->pos, scale ); + edge->opos = FT_MulFix( seg->pos, scale ); + edge->pos = edge->opos; seg->edge_next = seg; - edge->dir = seg->dir; } else { @@ -1230,8 +1237,10 @@ /* zone, check for left edges */ /* */ /* of course, that's for TrueType */ - is_top_right_blue = FT_BOOL( blue->flags & AF_CJK_BLUE_TOP ); - is_major_dir = FT_BOOL( edge->dir == axis->major_dir ); + is_top_right_blue = + (FT_Byte)( ( blue->flags & AF_CJK_BLUE_TOP ) != 0 ); + is_major_dir = + FT_BOOL( edge->dir == axis->major_dir ); /* if it is a top zone, the edge must be against the major */ /* direction; if it is a bottom zone, it must be in the major */ @@ -1528,6 +1537,12 @@ stem_edge->pos = base_edge->pos + fitted_width; + + FT_TRACE5(( " CJKLINK: edge %d @%d (opos=%.2f) linked to %.2f," + " dist was %.2f, now %.2f\n", + stem_edge - hints->axis[dim].edges, stem_edge->fpos, + stem_edge->opos / 64.0, stem_edge->pos / 64.0, + dist / 64.0, fitted_width / 64.0 )); } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcjk.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcjk.h index a260b091150..4dd4f39177a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcjk.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcjk.h @@ -4,7 +4,7 @@ /* */ /* Auto-fitter hinting routines for CJK writing system (specification). */ /* */ -/* Copyright 2006, 2007, 2011-2013 by */ +/* Copyright 2006, 2007, 2011-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -50,8 +50,6 @@ FT_BEGIN_HEADER ( (b)->properties & AF_BLUE_PROPERTY_CJK_TOP ) #define AF_CJK_IS_HORIZ_BLUE( b ) \ ( (b)->properties & AF_BLUE_PROPERTY_CJK_HORIZ ) -#define AF_CJK_IS_FILLED_BLUE( b ) \ - ( (b)->properties & AF_BLUE_PROPERTY_CJK_FILL ) #define AF_CJK_IS_RIGHT_BLUE AF_CJK_IS_TOP_BLUE #define AF_CJK_MAX_WIDTHS 16 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcover.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcover.h index d5ac96944a3..d5ac96944a3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afcover.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afcover.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afdummy.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afdummy.c index f8702a109e0..f8702a109e0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afdummy.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afdummy.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afdummy.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afdummy.h index ad1b0d3abba..ad1b0d3abba 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afdummy.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afdummy.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aferrors.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aferrors.h index 50e1a22dd57..50e1a22dd57 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aferrors.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aferrors.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afglobal.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afglobal.c index 7aa2e110201..a54c20c0232 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afglobal.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afglobal.c @@ -138,7 +138,7 @@ FT_Byte* gstyles = globals->glyph_styles; FT_UInt ss; FT_UInt i; - FT_UInt dflt = -1; + FT_UInt dflt = ~0U; /* a non-valid value */ /* the value AF_STYLE_UNASSIGNED means `uncovered glyph' */ @@ -176,7 +176,8 @@ */ if ( style_class->coverage == AF_COVERAGE_DEFAULT ) { - if ( style_class->script == globals->module->default_script ) + if ( (FT_UInt)style_class->script == + globals->module->default_script ) dflt = ss; for ( range = script_class->script_uni_ranges; @@ -332,8 +333,8 @@ af_face_globals_free( globals ); globals = NULL; } - - globals->increase_x_height = AF_PROP_INCREASE_X_HEIGHT_MAX; + else + globals->increase_x_height = AF_PROP_INCREASE_X_HEIGHT_MAX; Exit: *aglobals = globals; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afglobal.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afglobal.h index d2da40e3cf5..38d8d695285 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afglobal.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afglobal.h @@ -66,16 +66,16 @@ FT_BEGIN_HEADER /* index of fallback style in `af_style_classes' */ #ifdef AF_CONFIG_OPTION_CJK -#define AF_STYLE_FALLBACK AF_STYLE_HANI_DFLT +#define AF_STYLE_FALLBACK AF_STYLE_HANI_DFLT #else -#define AF_STYLE_FALLBACK AF_STYLE_NONE_DFLT +#define AF_STYLE_FALLBACK AF_STYLE_NONE_DFLT #endif /* default script for OpenType; ignored if HarfBuzz isn't used */ -#define AF_SCRIPT_DEFAULT AF_SCRIPT_LATN +#define AF_SCRIPT_DEFAULT AF_SCRIPT_LATN /* a bit mask indicating an uncovered glyph */ #define AF_STYLE_UNASSIGNED 0x7F /* if this flag is set, we have an ASCII digit */ -#define AF_DIGIT 0x80 +#define AF_DIGIT 0x80 /* `increase-x-height' property */ #define AF_PROP_INCREASE_X_HEIGHT_MIN 6 diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afhints.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afhints.c index 270a06bcaa9..f3cc50f202d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afhints.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afhints.c @@ -74,7 +74,8 @@ } - /* Get new edge for given axis, direction, and position. */ + /* Get new edge for given axis, direction, and position, */ + /* without initializing the edge itself. */ FT_LOCAL( FT_Error ) af_axis_hints_new_edge( AF_AxisHints axis, @@ -130,10 +131,6 @@ axis->num_edges++; - FT_ZERO( edge ); - edge->fpos = (FT_Short)fpos; - edge->dir = (FT_Char)dir; - Exit: *anedge = edge; return error; @@ -183,7 +180,7 @@ } -#define AF_INDEX_NUM( ptr, base ) ( (ptr) ? ( (ptr) - (base) ) : -1 ) +#define AF_INDEX_NUM( ptr, base ) (int)( (ptr) ? ( (ptr) - (base) ) : -1 ) #ifdef __cplusplus @@ -204,20 +201,15 @@ for ( point = points; point < limit; point++ ) AF_DUMP(( " [ %5d | %5d | %5d | %6.2f | %6.2f" - " | %5.2f | %5.2f | %c%c%c%c%c%c ]\n", - point - points, + " | %5.2f | %5.2f | %c ]\n", + AF_INDEX_NUM( point, points ), point->fx, point->fy, point->ox / 64.0, point->oy / 64.0, point->x / 64.0, point->y / 64.0, - ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) ? 'w' : ' ', - ( point->flags & AF_FLAG_INFLECTION ) ? 'i' : ' ', - ( point->flags & AF_FLAG_EXTREMA_X ) ? '<' : ' ', - ( point->flags & AF_FLAG_EXTREMA_Y ) ? 'v' : ' ', - ( point->flags & AF_FLAG_ROUND_X ) ? '(' : ' ', - ( point->flags & AF_FLAG_ROUND_Y ) ? 'u' : ' ')); + ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) ? 'w' : ' ')); AF_DUMP(( "\n" )); } #ifdef __cplusplus @@ -289,7 +281,7 @@ AF_DUMP(( " [ %5d | %5.2g | %5s | %4d" " | %4d | %4d | %5d | %4d" " | %6d | %5d | %11s ]\n", - seg - segments, + AF_INDEX_NUM( seg, segments ), dimension == AF_DIMENSION_HORZ ? (int)seg->first->ox / 64.0 : (int)seg->first->oy / 64.0, @@ -420,7 +412,7 @@ for ( edge = edges; edge < limit; edge++ ) AF_DUMP(( " [ %5d | %5.2g | %5s | %4d" " | %5d | %c | %5.2f | %5.2f | %11s ]\n", - edge - edges, + AF_INDEX_NUM( edge, edges ), (int)edge->opos / 64.0, af_dir_str( (AF_Direction)edge->dir ), AF_INDEX_NUM( edge->link, edges ), @@ -651,6 +643,9 @@ for ( point = points; point < point_limit; point++, vec++, tag++ ) { + point->in_dir = (FT_Char)AF_DIR_NONE; + point->out_dir = (FT_Char)AF_DIR_NONE; + point->fx = (FT_Short)vec->x; point->fy = (FT_Short)vec->y; point->ox = point->x = FT_MulFix( vec->x, x_scale ) + x_delta; @@ -698,91 +693,186 @@ } } - /* compute directions of in & out vectors */ { - AF_Point first = points; - AF_Point prev = NULL; - FT_Pos in_x = 0; - FT_Pos in_y = 0; - AF_Direction in_dir = AF_DIR_NONE; - - FT_Pos last_good_in_x = 0; - FT_Pos last_good_in_y = 0; - + /* + * Compute directions of `in' and `out' vectors. + * + * Note that distances between points that are very near to each + * other are accumulated. In other words, the auto-hinter + * prepends the small vectors between near points to the first + * non-near vector. All intermediate points are tagged as + * weak; the directions are adjusted also to be equal to the + * accumulated one. + */ + + /* value 20 in `near_limit' is heuristic */ FT_UInt units_per_em = hints->metrics->scaler.face->units_per_EM; FT_Int near_limit = 20 * units_per_em / 2048; + FT_Int near_limit2 = 2 * near_limit - 1; + AF_Point* contour; + AF_Point* contour_limit = hints->contours + hints->num_contours; - for ( point = points; point < point_limit; point++ ) + + for ( contour = hints->contours; contour < contour_limit; contour++ ) { - AF_Point next; - FT_Pos out_x, out_y; + AF_Point first = *contour; + AF_Point next, prev, curr; + + FT_Pos out_x, out_y; + FT_Bool is_first; - if ( point == first ) + + /* since the first point of a contour could be part of a */ + /* series of near points, go backwards to find the first */ + /* non-near point and adjust `first' */ + + point = first; + prev = first->prev; + + while ( prev != first ) { - prev = first->prev; + out_x = point->fx - prev->fx; + out_y = point->fy - prev->fy; + + /* + * We use Taxicab metrics to measure the vector length. + * + * Note that the accumulated distances so far could have the + * opposite direction of the distance measured here. For this + * reason we use `near_limit2' for the comparison to get a + * non-near point even in the worst case. + */ + if ( FT_ABS( out_x ) + FT_ABS( out_y ) >= near_limit2 ) + break; + + point = prev; + prev = prev->prev; + } - in_x = first->fx - prev->fx; - in_y = first->fy - prev->fy; + /* adjust first point */ + first = point; - last_good_in_x = in_x; - last_good_in_y = in_y; + /* now loop over all points of the contour to get */ + /* `in' and `out' vector directions */ - if ( FT_ABS( in_x ) + FT_ABS( in_y ) < near_limit ) - { - /* search first non-near point to get a good `in_dir' value */ + curr = first; - AF_Point point_ = prev; + /* + * We abuse the `u' and `v' fields to store index deltas to the + * next and previous non-near point, respectively. + * + * To avoid problems with not having non-near points, we point to + * `first' by default as the next non-near point. + * + */ + curr->u = (FT_Pos)( first - curr ); + first->v = -curr->u; + out_x = 0; + out_y = 0; - while ( point_ != first ) - { - AF_Point prev_ = point_->prev; + is_first = 1; - FT_Pos in_x_ = point_->fx - prev_->fx; - FT_Pos in_y_ = point_->fy - prev_->fy; + for ( point = first; + point != first || is_first; + point = point->next ) + { + AF_Direction out_dir; - if ( FT_ABS( in_x_ ) + FT_ABS( in_y_ ) >= near_limit ) - { - last_good_in_x = in_x_; - last_good_in_y = in_y_; + is_first = 0; - break; - } + next = point->next; - point_ = prev_; - } + out_x += next->fx - point->fx; + out_y += next->fy - point->fy; + + if ( FT_ABS( out_x ) + FT_ABS( out_y ) < near_limit ) + { + next->flags |= AF_FLAG_WEAK_INTERPOLATION; + continue; + } + + curr->u = (FT_Pos)( next - curr ); + next->v = -curr->u; + + out_dir = af_direction_compute( out_x, out_y ); + + /* adjust directions for all points inbetween; */ + /* the loop also updates position of `curr' */ + curr->out_dir = (FT_Char)out_dir; + for ( curr = curr->next; curr != next; curr = curr->next ) + { + curr->in_dir = (FT_Char)out_dir; + curr->out_dir = (FT_Char)out_dir; } + next->in_dir = (FT_Char)out_dir; - in_dir = af_direction_compute( in_x, in_y ); - first = prev + 1; + curr->u = (FT_Pos)( first - curr ); + first->v = -curr->u; + + out_x = 0; + out_y = 0; } + } - point->in_dir = (FT_Char)in_dir; + /* + * The next step is to `simplify' an outline's topology so that we + * can identify local extrema more reliably: A series of + * non-horizontal or non-vertical vectors pointing into the same + * quadrant are handled as a single, long vector. From a + * topological point of the view, the intermediate points are of no + * interest and thus tagged as weak. + */ - /* check whether the current point is near to the previous one */ - /* (value 20 in `near_limit' is heuristic; we use Taxicab */ - /* metrics for the test) */ + for ( point = points; point < point_limit; point++ ) + { + if ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) + continue; - if ( FT_ABS( in_x ) + FT_ABS( in_y ) < near_limit ) - point->flags |= AF_FLAG_NEAR; - else + if ( point->in_dir == AF_DIR_NONE && + point->out_dir == AF_DIR_NONE ) { - last_good_in_x = in_x; - last_good_in_y = in_y; - } + /* check whether both vectors point into the same quadrant */ + + FT_Pos in_x, in_y; + FT_Pos out_x, out_y; + + AF_Point next_u = point + point->u; + AF_Point prev_v = point + point->v; + - next = point->next; - out_x = next->fx - point->fx; - out_y = next->fy - point->fy; + in_x = point->fx - prev_v->fx; + in_y = point->fy - prev_v->fy; + + out_x = next_u->fx - point->fx; + out_y = next_u->fy - point->fy; + + if ( ( in_x ^ out_x ) >= 0 && ( in_y ^ out_y ) >= 0 ) + { + /* yes, so tag current point as weak */ + /* and update index deltas */ + + point->flags |= AF_FLAG_WEAK_INTERPOLATION; + + prev_v->u = (FT_Pos)( next_u - prev_v ); + next_u->v = -prev_v->u; + } + } + } - in_dir = af_direction_compute( out_x, out_y ); - point->out_dir = (FT_Char)in_dir; + /* + * Finally, check for remaining weak points. Everything else not + * collected in edges so far is then implicitly classified as strong + * points. + */ - /* Check for weak points. The remaining points not collected */ - /* in edges are then implicitly classified as strong points. */ + for ( point = points; point < point_limit; point++ ) + { + if ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) + continue; if ( point->flags & AF_FLAG_CONTROL ) { @@ -799,18 +889,25 @@ goto Is_Weak_Point; } - /* test whether `in' and `out' direction is approximately */ - /* the same (and use the last good `in' vector in case */ - /* the current point is near to the previous one) */ - if ( ft_corner_is_flat( - point->flags & AF_FLAG_NEAR ? last_good_in_x : in_x, - point->flags & AF_FLAG_NEAR ? last_good_in_y : in_y, - out_x, - out_y ) ) { - /* current point lies on a straight, diagonal line */ - /* (more or less) */ - goto Is_Weak_Point; + AF_Point next_u = point + point->u; + AF_Point prev_v = point + point->v; + + + if ( ft_corner_is_flat( point->fx - prev_v->fx, + point->fy - prev_v->fy, + next_u->fx - point->fx, + next_u->fy - point->fy ) ) + { + /* either the `in' or the `out' vector is much more */ + /* dominant than the other one, so tag current point */ + /* as weak and update index deltas */ + + prev_v->u = (FT_Pos)( next_u - prev_v ); + next_u->v = -prev_v->u; + + goto Is_Weak_Point; + } } } else if ( point->in_dir == -point->out_dir ) @@ -818,9 +915,6 @@ /* current point forms a spike */ goto Is_Weak_Point; } - - in_x = out_x; - in_y = out_y; } } } @@ -977,8 +1071,7 @@ /* if this point is candidate to weak interpolation, we */ /* interpolate it after all strong points have been processed */ - if ( ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) && - !( point->flags & AF_FLAG_INFLECTION ) ) + if ( ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) ) continue; if ( dim == AF_DIMENSION_VERT ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afhints.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afhints.h index 5f1507f8061..92101de7ca9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afhints.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afhints.h @@ -4,7 +4,7 @@ /* */ /* Auto-fitter hinting routines (specification). */ /* */ -/* Copyright 2003-2008, 2010-2012 by */ +/* Copyright 2003-2008, 2010-2012, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -72,13 +72,9 @@ FT_BEGIN_HEADER * `af_{cjk,latin,...}_hints_compute_segments' are the functions to * find segments in an outline. * - * A segment is a series of consecutive points that are approximately - * aligned along a coordinate axis. The analysis to do so is specific - * to a writing system. - * - * A segment must have at least two points, except in the case of - * `fake' segments that are generated to hint metrics appropriately, - * and which consist of a single point. + * A segment is a series of at least two consecutive points that are + * approximately aligned along a coordinate axis. The analysis to do + * so is specific to a writing system. * * * Edges @@ -148,7 +144,7 @@ FT_BEGIN_HEADER * Serifs are detected by `af_{cjk,latin,...}_hint_edges'. * * In comparison to a stem, a serif (as handled by the auto-hinter - * module which takes care of the `latin' writing system) has + * module that takes care of the `latin' writing system) has * * best segment_1 = segment_2 && best segment_2 != segment_1 * @@ -178,19 +174,19 @@ FT_BEGIN_HEADER * * Strong Points * - * Experience has shown that points which are not part of an edge need - * to be interpolated linearly between their two closest edges, even if - * these are not part of the contour of those particular points. - * Typical candidates for this are + * Experience has shown that points not part of an edge need to be + * interpolated linearly between their two closest edges, even if these + * are not part of the contour of those particular points. Typical + * candidates for this are * * - angle points (i.e., points where the `in' and `out' direction * differ greatly) * * - inflection points (i.e., where the `in' and `out' angles are the * same, but the curvature changes sign) [currently, such points - * aren't handled in the auto-hinter] + * aren't handled specially in the auto-hinter] * - * `af_glyph_hints_align_strong_points' is the function which takes + * `af_glyph_hints_align_strong_points' is the function that takes * care of such situations; it is equivalent to the TrueType `IP' * hinting instruction. * @@ -220,26 +216,12 @@ FT_BEGIN_HEADER AF_FLAG_CUBIC = 1 << 1, AF_FLAG_CONTROL = AF_FLAG_CONIC | AF_FLAG_CUBIC, - /* point extremum flags */ - AF_FLAG_EXTREMA_X = 1 << 2, - AF_FLAG_EXTREMA_Y = 1 << 3, - - /* point roundness flags */ - AF_FLAG_ROUND_X = 1 << 4, - AF_FLAG_ROUND_Y = 1 << 5, - /* point touch flags */ - AF_FLAG_TOUCH_X = 1 << 6, - AF_FLAG_TOUCH_Y = 1 << 7, + AF_FLAG_TOUCH_X = 1 << 2, + AF_FLAG_TOUCH_Y = 1 << 3, /* candidates for weak interpolation have this flag set */ - AF_FLAG_WEAK_INTERPOLATION = 1 << 8, - - /* all inflection points in the outline have this flag set */ - AF_FLAG_INFLECTION = 1 << 9, - - /* the current point is very near to another one */ - AF_FLAG_NEAR = 1 << 10 + AF_FLAG_WEAK_INTERPOLATION = 1 << 4 } AF_Flags; @@ -247,10 +229,11 @@ FT_BEGIN_HEADER /* edge hint flags */ typedef enum AF_Edge_Flags_ { - AF_EDGE_NORMAL = 0, - AF_EDGE_ROUND = 1 << 0, - AF_EDGE_SERIF = 1 << 1, - AF_EDGE_DONE = 1 << 2 + AF_EDGE_NORMAL = 0, + AF_EDGE_ROUND = 1 << 0, + AF_EDGE_SERIF = 1 << 1, + AF_EDGE_DONE = 1 << 2, + AF_EDGE_NEUTRAL = 1 << 3 /* set if edge aligns to a neutral blue zone */ } AF_Edge_Flags; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afindic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afindic.c index 197881b6145..197881b6145 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afindic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afindic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afindic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afindic.h index 9e13cf7e3fb..9e13cf7e3fb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afindic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afindic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin.c index e3a7742f47d..36a36896fbf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin.c @@ -171,7 +171,15 @@ if ( error ) goto Exit; + /* + * We assume that the glyphs selected for the stem width + * computation are `featureless' enough so that the linking + * algorithm works fine without adjustments of its scoring + * function. + */ af_latin_hints_link_segments( hints, + 0, + NULL, (AF_Dimension)dim ); seg = axhints->segments; @@ -298,6 +306,14 @@ have_flag = 1; } + if ( AF_LATIN_IS_NEUTRAL_BLUE( bs ) ) + { + if ( have_flag ) + FT_TRACE5(( ", " )); + FT_TRACE5(( "neutral" )); + have_flag = 1; + } + if ( AF_LATIN_IS_X_HEIGHT_BLUE( bs ) ) { if ( have_flag ) @@ -520,6 +536,13 @@ FT_Int last; FT_Bool hit; + /* we intentionally declare these two variables */ + /* outside of the loop since various compilers emit */ + /* incorrect warning messages otherwise, talking about */ + /* `possibly uninitialized variables' */ + FT_Int p_first = 0; /* make compiler happy */ + FT_Int p_last = 0; + FT_Bool left2right; @@ -552,7 +575,6 @@ { FT_Bool l2r; FT_Pos d; - FT_Int p_first, p_last; if ( !hit ) @@ -688,6 +710,13 @@ FT_CURVE_TAG( outline.tags[best_segment_last] ) != FT_CURVE_TAG_ON ); + if ( round && AF_LATIN_IS_NEUTRAL_BLUE( bs ) ) + { + /* only use flat segments for a neutral blue zone */ + FT_TRACE5(( " (round, skipped)\n" )); + continue; + } + FT_TRACE5(( " (%s)\n", round ? "round" : "flat" )); } @@ -758,6 +787,8 @@ blue->flags = 0; if ( AF_LATIN_IS_TOP_BLUE( bs ) ) blue->flags |= AF_LATIN_BLUE_TOP; + if ( AF_LATIN_IS_NEUTRAL_BLUE( bs ) ) + blue->flags |= AF_LATIN_BLUE_NEUTRAL; /* * The following flag is used later to adjust the y and x scales @@ -1262,17 +1293,19 @@ /* this is the start of a new segment! */ segment_dir = (AF_Direction)point->out_dir; - /* clear all segment fields */ error = af_axis_hints_new_segment( axis, memory, &segment ); if ( error ) goto Exit; - segment[0] = seg0; + /* clear all segment fields */ + segment[0] = seg0; + segment->dir = (FT_Char)segment_dir; min_pos = max_pos = point->u; segment->first = point; segment->last = point; - on_edge = 1; + + on_edge = 1; } point = point->next; @@ -1296,9 +1329,6 @@ FT_Pos last_v = last->v; - if ( first == last ) - continue; - if ( first_v < last_v ) { AF_Point p; @@ -1337,31 +1367,44 @@ } - /* Link segments to form stems and serifs. */ + /* Link segments to form stems and serifs. If `width_count' and */ + /* `widths' are non-zero, use them to fine-tune the scoring function. */ FT_LOCAL_DEF( void ) af_latin_hints_link_segments( AF_GlyphHints hints, + FT_UInt width_count, + AF_WidthRec* widths, AF_Dimension dim ) { AF_AxisHints axis = &hints->axis[dim]; AF_Segment segments = axis->segments; AF_Segment segment_limit = segments + axis->num_segments; - FT_Pos len_threshold, len_score; + FT_Pos len_threshold, len_score, dist_score, max_width; AF_Segment seg1, seg2; + if ( width_count ) + max_width = widths[width_count - 1].org; + else + max_width = 0; + + /* a heuristic value to set up a minimum value for overlapping */ len_threshold = AF_LATIN_CONSTANT( hints->metrics, 8 ); if ( len_threshold == 0 ) len_threshold = 1; + /* a heuristic value to weight lengths */ len_score = AF_LATIN_CONSTANT( hints->metrics, 6000 ); + /* a heuristic value to weight distances (no call to */ + /* AF_LATIN_CONSTANT needed, since we work on multiples */ + /* of the stem width) */ + dist_score = 3000; + /* now compare each segment to the others */ for ( seg1 = segments; seg1 < segment_limit; seg1++ ) { - /* the fake segments are introduced to hint the metrics -- */ - /* we must never link them to anything */ - if ( seg1->dir != axis->major_dir || seg1->first == seg1->last ) + if ( seg1->dir != axis->major_dir ) continue; /* search for stems having opposite directions, */ @@ -1375,10 +1418,9 @@ if ( seg1->dir + seg2->dir == 0 && pos2 > pos1 ) { /* compute distance between the two segments */ - FT_Pos dist = pos2 - pos1; - FT_Pos min = seg1->min_coord; - FT_Pos max = seg1->max_coord; - FT_Pos len, score; + FT_Pos min = seg1->min_coord; + FT_Pos max = seg1->max_coord; + FT_Pos len; if ( min < seg2->min_coord ) @@ -1388,15 +1430,49 @@ max = seg2->max_coord; /* compute maximum coordinate difference of the two segments */ + /* (this is, how much they overlap) */ len = max - min; if ( len >= len_threshold ) { - /* small coordinate differences cause a higher score, and */ - /* segments with a greater distance cause a higher score also */ - score = dist + len_score / len; + /* + * The score is the sum of two demerits indicating the + * `badness' of a fit, measured along the segments' main axis + * and orthogonal to it, respectively. + * + * o The less overlapping along the main axis, the worse it + * is, causing a larger demerit. + * + * o The nearer the orthogonal distance to a stem width, the + * better it is, causing a smaller demerit. For simplicity, + * however, we only increase the demerit for values that + * exceed the largest stem width. + */ + + FT_Pos dist = pos2 - pos1; + + FT_Pos dist_demerit, score; + + + if ( max_width ) + { + /* distance demerits are based on multiples of `max_width'; */ + /* we scale by 1024 for getting more precision */ + FT_Pos delta = ( dist << 10 ) / max_width - ( 1 << 10 ); + + + if ( delta > 10000 ) + dist_demerit = 32000; + else if ( delta > 0 ) + dist_demerit = delta * delta / dist_score; + else + dist_demerit = 0; + } + else + dist_demerit = dist; /* default if no widths available */ + + score = dist_demerit + len_score / len; /* and we search for the smallest score */ - /* of the sum of the two values */ if ( score < seg1->score ) { seg1->score = score; @@ -1728,6 +1804,8 @@ FT_LOCAL_DEF( FT_Error ) af_latin_hints_detect_features( AF_GlyphHints hints, + FT_UInt width_count, + AF_WidthRec* widths, AF_Dimension dim ) { FT_Error error; @@ -1736,7 +1814,7 @@ error = af_latin_hints_compute_segments( hints, dim ); if ( !error ) { - af_latin_hints_link_segments( hints, dim ); + af_latin_hints_link_segments( hints, width_count, widths, dim ); error = af_latin_hints_compute_edges( hints, dim ); } @@ -1765,8 +1843,9 @@ for ( ; edge < edge_limit; edge++ ) { FT_UInt bb; - AF_Width best_blue = NULL; - FT_Pos best_dist; /* initial threshold */ + AF_Width best_blue = NULL; + FT_Bool best_blue_is_neutral = 0; + FT_Pos best_dist; /* initial threshold */ /* compute the initial threshold as a fraction of the EM size */ @@ -1780,24 +1859,26 @@ for ( bb = 0; bb < latin->blue_count; bb++ ) { AF_LatinBlue blue = latin->blues + bb; - FT_Bool is_top_blue, is_major_dir; + FT_Bool is_top_blue, is_neutral_blue, is_major_dir; /* skip inactive blue zones (i.e., those that are too large) */ if ( !( blue->flags & AF_LATIN_BLUE_ACTIVE ) ) continue; - /* if it is a top zone, check for right edges -- if it is a bottom */ - /* zone, check for left edges */ - /* */ - /* of course, that's for TrueType */ - is_top_blue = (FT_Byte)( ( blue->flags & AF_LATIN_BLUE_TOP ) != 0 ); - is_major_dir = FT_BOOL( edge->dir == axis->major_dir ); - - /* if it is a top zone, the edge must be against the major */ - /* direction; if it is a bottom zone, it must be in the major */ - /* direction */ - if ( is_top_blue ^ is_major_dir ) + /* if it is a top zone, check for right edges (against the major */ + /* direction); if it is a bottom zone, check for left edges (in */ + /* the major direction) -- this assumes the TrueType convention */ + /* for the orientation of contours */ + is_top_blue = + (FT_Byte)( ( blue->flags & AF_LATIN_BLUE_TOP ) != 0 ); + is_neutral_blue = + (FT_Byte)( ( blue->flags & AF_LATIN_BLUE_NEUTRAL ) != 0); + is_major_dir = + FT_BOOL( edge->dir == axis->major_dir ); + + /* neutral blue zones are handled for both directions */ + if ( is_top_blue ^ is_major_dir || is_neutral_blue ) { FT_Pos dist; @@ -1810,15 +1891,19 @@ dist = FT_MulFix( dist, scale ); if ( dist < best_dist ) { - best_dist = dist; - best_blue = &blue->ref; + best_dist = dist; + best_blue = &blue->ref; + best_blue_is_neutral = is_neutral_blue; } /* now compare it to the overshoot position and check whether */ /* the edge is rounded, and whether the edge is over the */ /* reference position of a top zone, or under the reference */ - /* position of a bottom zone */ - if ( edge->flags & AF_EDGE_ROUND && dist != 0 ) + /* position of a bottom zone (provided we don't have a */ + /* neutral blue zone) */ + if ( edge->flags & AF_EDGE_ROUND && + dist != 0 && + !is_neutral_blue ) { FT_Bool is_under_ref = FT_BOOL( edge->fpos < blue->ref.org ); @@ -1832,8 +1917,9 @@ dist = FT_MulFix( dist, scale ); if ( dist < best_dist ) { - best_dist = dist; - best_blue = &blue->shoot; + best_dist = dist; + best_blue = &blue->shoot; + best_blue_is_neutral = is_neutral_blue; } } } @@ -1841,7 +1927,11 @@ } if ( best_blue ) + { edge->blue_edge = best_blue; + if ( best_blue_is_neutral ) + edge->flags |= AF_EDGE_NEUTRAL; + } } } @@ -2159,7 +2249,7 @@ FT_TRACE5(( " LINK: edge %d (opos=%.2f) linked to %.2f," " dist was %.2f, now %.2f\n", - stem_edge-hints->axis[dim].edges, stem_edge->opos / 64.0, + stem_edge - hints->axis[dim].edges, stem_edge->opos / 64.0, stem_edge->pos / 64.0, dist / 64.0, fitted_width / 64.0 )); } @@ -2226,14 +2316,41 @@ if ( edge->flags & AF_EDGE_DONE ) continue; - blue = edge->blue_edge; edge1 = NULL; edge2 = edge->link; + /* + * If a stem contains both a neutral and a non-neutral blue zone, + * skip the neutral one. Otherwise, outlines with different + * directions might be incorrectly aligned at the same vertical + * position. + * + * If we have two neutral blue zones, skip one of them. + * + */ + if ( edge->blue_edge && edge2 && edge2->blue_edge ) + { + FT_Byte neutral = edge->flags & AF_EDGE_NEUTRAL; + FT_Byte neutral2 = edge2->flags & AF_EDGE_NEUTRAL; + + + if ( ( neutral && neutral2 ) || neutral2 ) + { + edge2->blue_edge = NULL; + edge2->flags &= ~AF_EDGE_NEUTRAL; + } + else if ( neutral ) + { + edge->blue_edge = NULL; + edge->flags &= ~AF_EDGE_NEUTRAL; + } + } + + blue = edge->blue_edge; if ( blue ) edge1 = edge; - /* flip edges if the other stem is aligned to a blue zone */ + /* flip edges if the other edge is aligned to a blue zone */ else if ( edge2 && edge2->blue_edge ) { blue = edge2->blue_edge; @@ -2300,7 +2417,7 @@ /* this should not happen, but it's better to be safe */ if ( edge2->blue_edge ) { - FT_TRACE5(( " ASSERTION FAILED for edge %d\n", edge2-edges )); + FT_TRACE5(( " ASSERTION FAILED for edge %d\n", edge2 - edges )); af_latin_align_linked_edge( hints, dim, edge2, edge ); edge->flags |= AF_EDGE_DONE; @@ -2689,6 +2806,8 @@ FT_Error error; int dim; + AF_LatinAxis axis; + error = af_glyph_hints_reload( hints, outline ); if ( error ) @@ -2702,14 +2821,22 @@ if ( AF_HINTS_DO_HORIZONTAL( hints ) ) #endif { - error = af_latin_hints_detect_features( hints, AF_DIMENSION_HORZ ); + axis = &metrics->axis[AF_DIMENSION_HORZ]; + error = af_latin_hints_detect_features( hints, + axis->width_count, + axis->widths, + AF_DIMENSION_HORZ ); if ( error ) goto Exit; } if ( AF_HINTS_DO_VERTICAL( hints ) ) { - error = af_latin_hints_detect_features( hints, AF_DIMENSION_VERT ); + axis = &metrics->axis[AF_DIMENSION_VERT]; + error = af_latin_hints_detect_features( hints, + axis->width_count, + axis->widths, + AF_DIMENSION_VERT ); if ( error ) goto Exit; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin.h index a958af36ac7..2c0bfca18b2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin.h @@ -5,7 +5,7 @@ /* Auto-fitter hinting routines for latin writing system */ /* (specification). */ /* */ -/* Copyright 2003-2007, 2009, 2011-2013 by */ +/* Copyright 2003-2007, 2009, 2011-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -53,6 +53,8 @@ FT_BEGIN_HEADER #define AF_LATIN_IS_TOP_BLUE( b ) \ ( (b)->properties & AF_BLUE_PROPERTY_LATIN_TOP ) +#define AF_LATIN_IS_NEUTRAL_BLUE( b ) \ + ( (b)->properties & AF_BLUE_PROPERTY_LATIN_NEUTRAL ) #define AF_LATIN_IS_X_HEIGHT_BLUE( b ) \ ( (b)->properties & AF_BLUE_PROPERTY_LATIN_X_HEIGHT ) #define AF_LATIN_IS_LONG_BLUE( b ) \ @@ -63,10 +65,11 @@ FT_BEGIN_HEADER enum { - AF_LATIN_BLUE_ACTIVE = 1 << 0, /* set if zone height is <= 3/4px */ - AF_LATIN_BLUE_TOP = 1 << 1, /* result of AF_LATIN_IS_TOP_BLUE */ - AF_LATIN_BLUE_ADJUSTMENT = 1 << 2, /* used for scale adjustment */ - /* optimization */ + AF_LATIN_BLUE_ACTIVE = 1 << 0, /* set if zone height is <= 3/4px */ + AF_LATIN_BLUE_TOP = 1 << 1, /* set if we have a top blue zone */ + AF_LATIN_BLUE_NEUTRAL = 1 << 2, /* set if we have neutral blue zone */ + AF_LATIN_BLUE_ADJUSTMENT = 1 << 3, /* used for scale adjustment */ + /* optimization */ AF_LATIN_BLUE_FLAG_MAX }; @@ -169,6 +172,8 @@ FT_BEGIN_HEADER FT_LOCAL( void ) af_latin_hints_link_segments( AF_GlyphHints hints, + FT_UInt width_count, + AF_WidthRec* widths, AF_Dimension dim ); FT_LOCAL( FT_Error ) @@ -177,6 +182,8 @@ FT_BEGIN_HEADER FT_LOCAL( FT_Error ) af_latin_hints_detect_features( AF_GlyphHints hints, + FT_UInt width_count, + AF_WidthRec* widths, AF_Dimension dim ); /* */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin2.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin2.c index 930fa98340f..07590b380cc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin2.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin2.c @@ -4,7 +4,7 @@ /* */ /* Auto-fitter hinting routines for latin writing system (body). */ /* */ -/* Copyright 2003-2013 by */ +/* Copyright 2003-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -890,9 +890,6 @@ FT_Pos last_v = last->v; - if ( first == last ) - continue; - if ( first_v < last_v ) { p = first->prev; @@ -984,7 +981,7 @@ #ifdef AF_SORT_SEGMENTS for ( seg1 = segments; seg1 < segment_mid; seg1++ ) { - if ( seg1->dir != axis->major_dir || seg1->first == seg1->last ) + if ( seg1->dir != axis->major_dir ) continue; for ( seg2 = segment_mid; seg2 < segment_limit; seg2++ ) @@ -992,9 +989,7 @@ /* now compare each segment to the others */ for ( seg1 = segments; seg1 < segment_limit; seg1++ ) { - /* the fake segments are introduced to hint the metrics -- */ - /* we must never link them to anything */ - if ( seg1->dir != axis->major_dir || seg1->first == seg1->last ) + if ( seg1->dir != axis->major_dir ) continue; for ( seg2 = segments; seg2 < segment_limit; seg2++ ) @@ -1194,9 +1189,10 @@ edge->first = seg; edge->last = seg; - edge->fpos = seg->pos; edge->dir = seg->dir; - edge->opos = edge->pos = FT_MulFix( seg->pos, scale ); + edge->fpos = seg->pos; + edge->opos = FT_MulFix( seg->pos, scale ); + edge->pos = edge->opos; seg->edge_next = seg; } else diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin2.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin2.h index b5d252a91ba..b5d252a91ba 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aflatin2.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aflatin2.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afloader.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afloader.c index 0fa3c12788a..fb15c87f0e7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afloader.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afloader.c @@ -131,8 +131,8 @@ loader->trans_delta = internal->glyph_delta; inverse = loader->trans_matrix; - FT_Matrix_Invert( &inverse ); - FT_Vector_Transform( &loader->trans_delta, &inverse ); + if ( !FT_Matrix_Invert( &inverse ) ) + FT_Vector_Transform( &loader->trans_delta, &inverse ); } switch ( slot->format ) @@ -508,7 +508,7 @@ if ( !size ) - return FT_THROW( Invalid_Argument ); + return FT_THROW( Invalid_Size_Handle ); FT_ZERO( &scaler ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afloader.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afloader.h index 9601e24fce8..9601e24fce8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afloader.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afloader.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afmodule.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afmodule.c index 73bf832b11a..81ece385119 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afmodule.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afmodule.c @@ -55,7 +55,7 @@ if ( !face ) - return FT_THROW( Invalid_Argument ); + return FT_THROW( Invalid_Face_Handle ); globals = (AF_FaceGlobals)face->autohint.data; if ( !globals ) @@ -103,8 +103,8 @@ AF_StyleClass style_class = AF_STYLE_CLASSES_GET[ss]; - if ( style_class->script == *fallback_script && - style_class->coverage == AF_COVERAGE_DEFAULT ) + if ( (FT_UInt)style_class->script == *fallback_script && + style_class->coverage == AF_COVERAGE_DEFAULT ) { module->fallback_style = ss; break; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afmodule.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afmodule.h index 20b7b9f6654..20b7b9f6654 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afmodule.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afmodule.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afpic.c index cb29fd79fed..cb29fd79fed 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afpic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afpic.h index 9a68b4a5a29..9a68b4a5a29 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afranges.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afranges.c index 3d919b5a4da..b2c504d426f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afranges.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afranges.c @@ -21,51 +21,69 @@ const AF_Script_UniRangeRec af_cyrl_uniranges[] = { - AF_UNIRANGE_REC( 0x0400UL, 0x04FFUL ), /* Cyrillic */ + AF_UNIRANGE_REC( 0x0400UL, 0x04FFUL ), /* Cyrillic */ AF_UNIRANGE_REC( 0x0500UL, 0x052FUL ), /* Cyrillic Supplement */ AF_UNIRANGE_REC( 0x2DE0UL, 0x2DFFUL ), /* Cyrillic Extended-A */ AF_UNIRANGE_REC( 0xA640UL, 0xA69FUL ), /* Cyrillic Extended-B */ AF_UNIRANGE_REC( 0UL, 0UL ) }; + /* there are some characters in the Devanagari Unicode block that are */ + /* generic to Indic scripts; we omit them so that their presence doesn't */ + /* trigger Devanagari */ + + const AF_Script_UniRangeRec af_deva_uniranges[] = + { + AF_UNIRANGE_REC( 0x0900UL, 0x093BUL ), /* Devanagari */ + /* omitting U+093C nukta */ + AF_UNIRANGE_REC( 0x093DUL, 0x0950UL ), + /* omitting U+0951 udatta, U+0952 anudatta */ + AF_UNIRANGE_REC( 0x0953UL, 0x0963UL ), + /* omitting U+0964 danda, U+0965 double danda */ + AF_UNIRANGE_REC( 0x0966UL, 0x097FUL ), + AF_UNIRANGE_REC( 0x20B9UL, 0x20B9UL ), /* (new) Rupee sign */ + AF_UNIRANGE_REC( 0UL, 0UL ) + }; + const AF_Script_UniRangeRec af_grek_uniranges[] = { AF_UNIRANGE_REC( 0x0370UL, 0x03FFUL ), /* Greek and Coptic */ - AF_UNIRANGE_REC( 0x1F00UL, 0x1FFFUL ), /* Greek Extended */ + AF_UNIRANGE_REC( 0x1F00UL, 0x1FFFUL ), /* Greek Extended */ AF_UNIRANGE_REC( 0UL, 0UL ) }; const AF_Script_UniRangeRec af_hebr_uniranges[] = { - AF_UNIRANGE_REC( 0x0590UL, 0x05FFUL ), /* Hebrew */ + AF_UNIRANGE_REC( 0x0590UL, 0x05FFUL ), /* Hebrew */ AF_UNIRANGE_REC( 0xFB1DUL, 0xFB4FUL ), /* Alphab. Present. Forms (Hebrew) */ AF_UNIRANGE_REC( 0UL, 0UL ) }; const AF_Script_UniRangeRec af_latn_uniranges[] = { - AF_UNIRANGE_REC( 0x0020UL, 0x007FUL ), /* Basic Latin (no control chars) */ - AF_UNIRANGE_REC( 0x00A0UL, 0x00FFUL ), /* Latin-1 Supplement (no control chars) */ - AF_UNIRANGE_REC( 0x0100UL, 0x017FUL ), /* Latin Extended-A */ - AF_UNIRANGE_REC( 0x0180UL, 0x024FUL ), /* Latin Extended-B */ - AF_UNIRANGE_REC( 0x0250UL, 0x02AFUL ), /* IPA Extensions */ - AF_UNIRANGE_REC( 0x02B0UL, 0x02FFUL ), /* Spacing Modifier Letters */ - AF_UNIRANGE_REC( 0x0300UL, 0x036FUL ), /* Combining Diacritical Marks */ - AF_UNIRANGE_REC( 0x1D00UL, 0x1D7FUL ), /* Phonetic Extensions */ - AF_UNIRANGE_REC( 0x1D80UL, 0x1DBFUL ), /* Phonetic Extensions Supplement */ + AF_UNIRANGE_REC( 0x0020UL, 0x007FUL ), /* Basic Latin (no control chars) */ + AF_UNIRANGE_REC( 0x00A0UL, 0x00FFUL ), /* Latin-1 Supplement (no control chars) */ + AF_UNIRANGE_REC( 0x0100UL, 0x017FUL ), /* Latin Extended-A */ + AF_UNIRANGE_REC( 0x0180UL, 0x024FUL ), /* Latin Extended-B */ + AF_UNIRANGE_REC( 0x0250UL, 0x02AFUL ), /* IPA Extensions */ + AF_UNIRANGE_REC( 0x02B0UL, 0x02FFUL ), /* Spacing Modifier Letters */ + AF_UNIRANGE_REC( 0x0300UL, 0x036FUL ), /* Combining Diacritical Marks */ + AF_UNIRANGE_REC( 0x1D00UL, 0x1D7FUL ), /* Phonetic Extensions */ + AF_UNIRANGE_REC( 0x1D80UL, 0x1DBFUL ), /* Phonetic Extensions Supplement */ AF_UNIRANGE_REC( 0x1DC0UL, 0x1DFFUL ), /* Combining Diacritical Marks Supplement */ - AF_UNIRANGE_REC( 0x1E00UL, 0x1EFFUL ), /* Latin Extended Additional */ - AF_UNIRANGE_REC( 0x2000UL, 0x206FUL ), /* General Punctuation */ - AF_UNIRANGE_REC( 0x2070UL, 0x209FUL ), /* Superscripts and Subscripts */ - AF_UNIRANGE_REC( 0x20A0UL, 0x20CFUL ), /* Currency Symbols */ - AF_UNIRANGE_REC( 0x2150UL, 0x218FUL ), /* Number Forms */ - AF_UNIRANGE_REC( 0x2460UL, 0x24FFUL ), /* Enclosed Alphanumerics */ - AF_UNIRANGE_REC( 0x2C60UL, 0x2C7FUL ), /* Latin Extended-C */ - AF_UNIRANGE_REC( 0x2E00UL, 0x2E7FUL ), /* Supplemental Punctuation */ - AF_UNIRANGE_REC( 0xA720UL, 0xA7FFUL ), /* Latin Extended-D */ - AF_UNIRANGE_REC( 0xFB00UL, 0xFB06UL ), /* Alphab. Present. Forms (Latin Ligs) */ - AF_UNIRANGE_REC( 0x1D400UL, 0x1D7FFUL ), /* Mathematical Alphanumeric Symbols */ - AF_UNIRANGE_REC( 0x1F100UL, 0x1F1FFUL ), /* Enclosed Alphanumeric Supplement */ + AF_UNIRANGE_REC( 0x1E00UL, 0x1EFFUL ), /* Latin Extended Additional */ + AF_UNIRANGE_REC( 0x2000UL, 0x206FUL ), /* General Punctuation */ + AF_UNIRANGE_REC( 0x2070UL, 0x209FUL ), /* Superscripts and Subscripts */ + AF_UNIRANGE_REC( 0x20A0UL, 0x20B8UL ), /* Currency Symbols ... */ + AF_UNIRANGE_REC( 0x20BAUL, 0x20CFUL ), /* ... except new Rupee sign */ + AF_UNIRANGE_REC( 0x2150UL, 0x218FUL ), /* Number Forms */ + AF_UNIRANGE_REC( 0x2460UL, 0x24FFUL ), /* Enclosed Alphanumerics */ + AF_UNIRANGE_REC( 0x2C60UL, 0x2C7FUL ), /* Latin Extended-C */ + AF_UNIRANGE_REC( 0x2E00UL, 0x2E7FUL ), /* Supplemental Punctuation */ + AF_UNIRANGE_REC( 0xA720UL, 0xA7FFUL ), /* Latin Extended-D */ + AF_UNIRANGE_REC( 0xFB00UL, 0xFB06UL ), /* Alphab. Present. Forms (Latin Ligs) */ + AF_UNIRANGE_REC( 0x1D400UL, 0x1D7FFUL ), /* Mathematical Alphanumeric Symbols */ + AF_UNIRANGE_REC( 0x1F100UL, 0x1F1FFUL ), /* Enclosed Alphanumeric Supplement */ AF_UNIRANGE_REC( 0UL, 0UL ) }; @@ -74,17 +92,17 @@ AF_UNIRANGE_REC( 0UL, 0UL ) }; -#ifdef AF_CONFIG_OPTION_INDIC - - const AF_Script_UniRangeRec af_beng_uniranges[] = + const AF_Script_UniRangeRec af_telu_uniranges[] = { - AF_UNIRANGE_REC( 0x0980UL, 0x09FFUL ), /* Bengali */ + AF_UNIRANGE_REC( 0x0C00UL, 0x0C7FUL ), /* Telugu */ AF_UNIRANGE_REC( 0UL, 0UL ) }; - const AF_Script_UniRangeRec af_deva_uniranges[] = +#ifdef AF_CONFIG_OPTION_INDIC + + const AF_Script_UniRangeRec af_beng_uniranges[] = { - AF_UNIRANGE_REC( 0x0900UL, 0x097FUL ), /* Devanagari */ + AF_UNIRANGE_REC( 0x0980UL, 0x09FFUL ), /* Bengali */ AF_UNIRANGE_REC( 0UL, 0UL ) }; @@ -148,12 +166,6 @@ AF_UNIRANGE_REC( 0UL, 0UL ) }; - const AF_Script_UniRangeRec af_telu_uniranges[] = - { - AF_UNIRANGE_REC( 0x0C00UL, 0x0C7FUL ), /* Telugu */ - AF_UNIRANGE_REC( 0UL, 0UL ) - }; - const AF_Script_UniRangeRec af_tibt_uniranges[] = { AF_UNIRANGE_REC( 0x0F00UL, 0x0FFFUL ), /* Tibetan */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afranges.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afranges.h index fe5b2aa7c15..fe5b2aa7c15 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afranges.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afranges.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afscript.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afscript.h index ae209322e67..efe8754df81 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afscript.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afscript.h @@ -31,6 +31,11 @@ HB_SCRIPT_CYRILLIC, 0x43E, 0x41E, 0x0 ) /* оО */ + SCRIPT( deva, DEVA, + "Devanagari", + HB_SCRIPT_DEVANAGARI, + 0x920, 0x935, 0x91F ) /* ठ व ट */ + SCRIPT( grek, GREK, "Greek", HB_SCRIPT_GREEK, @@ -51,6 +56,12 @@ HB_SCRIPT_INVALID, 0x0, 0x0, 0x0 ) + /* there are no simple forms for letters; we thus use two digit shapes */ + SCRIPT( telu, TELU, + "Telugu", + HB_SCRIPT_TELUGU, + 0xC66, 0xC67, 0x0 ) /* ౦ ౧ */ + #ifdef AF_CONFIG_OPTION_INDIC SCRIPT( beng, BENG, @@ -58,11 +69,6 @@ HB_SCRIPT_BENGALI, 'o', 0x0, 0x0 ) /* XXX */ - SCRIPT( deva, DEVA, - "Devanagari", - HB_SCRIPT_DEVANAGARI, - 'o', 0x0, 0x0 ) /* XXX */ - SCRIPT( gujr, GUJR, "Gujarati", HB_SCRIPT_GUJARATI, @@ -113,11 +119,6 @@ HB_SCRIPT_TAMIL, 'o', 0x0, 0x0 ) /* XXX */ - SCRIPT( telu, TELU, - "Telugu", - HB_SCRIPT_TELUGU, - 'o', 0x0, 0x0 ) /* XXX */ - SCRIPT( tibt, TIBT, "Tibetan", HB_SCRIPT_TIBETAN, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afstyles.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afstyles.h index 429da7664ac..f14d354ccbb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afstyles.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afstyles.h @@ -81,7 +81,9 @@ DEFAULT ) META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" ) + META_STYLE_LATIN( grek, GREK, "Greek" ) + STYLE( hebr_dflt, HEBR_DFLT, "Hebrew default style", AF_WRITING_SYSTEM_LATIN, @@ -90,6 +92,13 @@ AF_COVERAGE_DEFAULT ) META_STYLE_LATIN( latn, LATN, "Latin" ) + STYLE( deva_dflt, DEVA_DFLT, + "Devanagari default style", + AF_WRITING_SYSTEM_LATIN, + AF_SCRIPT_DEVA, + AF_BLUE_STRINGSET_DEVA, + AF_COVERAGE_DEFAULT ) + #ifdef FT_OPTION_AUTOFIT2 STYLE( ltn2_dflt, LTN2_DFLT, "Latin 2 default style", @@ -106,6 +115,13 @@ (AF_Blue_Stringset)0, AF_COVERAGE_DEFAULT ) + STYLE( telu_dflt, TELU_DFLT, + "Telugu default style", + AF_WRITING_SYSTEM_LATIN, + AF_SCRIPT_TELU, + AF_BLUE_STRINGSET_TELU, + AF_COVERAGE_DEFAULT ) + #ifdef AF_CONFIG_OPTION_INDIC /* no blue stringset support for the Indic writing system yet */ @@ -119,7 +135,6 @@ AF_COVERAGE_DEFAULT ) STYLE_DEFAULT_INDIC( beng, BENG, "Bengali" ) - STYLE_DEFAULT_INDIC( deva, DEVA, "Devanagari" ) STYLE_DEFAULT_INDIC( gujr, GUJR, "Gujarati" ) STYLE_DEFAULT_INDIC( guru, GURU, "Gurmukhi" ) STYLE_DEFAULT_INDIC( knda, KNDA, "Kannada" ) @@ -130,7 +145,6 @@ STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" ) STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" ) STYLE_DEFAULT_INDIC( taml, TAML, "Tamil" ) - STYLE_DEFAULT_INDIC( telu, TELU, "Telugu" ) STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" ) #endif /* AF_CONFIG_OPTION_INDIC */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aftypes.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aftypes.h index 61badd1b8d0..61badd1b8d0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/aftypes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/aftypes.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwarp.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwarp.c index 34a97ffc57c..34a97ffc57c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwarp.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwarp.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwarp.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwarp.h index 7343fdd5ef5..7343fdd5ef5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwarp.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwarp.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwrtsys.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwrtsys.h index 8aa2ed9e6b8..8aa2ed9e6b8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/afwrtsys.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/afwrtsys.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/autofit.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/autofit.c index e2b9934e4bb..e2b9934e4bb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/autofit.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/autofit.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/hbshim.c b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/hbshim.c index 11fb743e8be..a705cef0001 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/hbshim.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/hbshim.c @@ -247,6 +247,7 @@ * (this is, not a single character is covered), we skip this coverage. * */ + if ( style_class->coverage != AF_COVERAGE_DEFAULT ) { AF_Blue_Stringset bss = style_class->blue_stringset; const AF_Blue_StringRec* bs = &af_blue_stringsets[bss]; @@ -328,8 +329,15 @@ * out whether a glyph gets shifted vertically, but this is something I * would like to avoid if not really necessary. * + * Note that we don't follow this logic for the default coverage. + * Complex scripts like Devanagari have mandatory GPOS features to + * position many glyph elements, using mark-to-base or mark-to-ligature + * tables; the number of glyphs missed due to condition (b) would be far + * too large. + * */ - hb_set_subtract( gsub_glyphs, gpos_glyphs ); + if ( style_class->coverage != AF_COVERAGE_DEFAULT ) + hb_set_subtract( gsub_glyphs, gpos_glyphs ); #ifdef FT_DEBUG_LEVEL_TRACE FT_TRACE4(( " glyphs without GPOS data (`*' means already assigned)" )); @@ -347,6 +355,12 @@ count++; #endif + /* glyph indices returned by `hb_ot_layout_lookup_collect_glyphs' */ + /* can be arbitrary: some fonts use fake indices for processing */ + /* internal to GSUB or GPOS, which is fully valid */ + if ( idx >= (hb_codepoint_t)globals->glyph_count ) + continue; + if ( gstyles[idx] == AF_STYLE_UNASSIGNED ) gstyles[idx] = (FT_Byte)style_class->style; #ifdef FT_DEBUG_LEVEL_TRACE diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/hbshim.h b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/hbshim.h index 02f1513f67d..02f1513f67d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/hbshim.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/hbshim.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/module.mk index 6ec60912ab7..6ec60912ab7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/rules.mk index 658f04ea591..658f04ea591 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/autofit/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/autofit/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/base/Jamfile index 832e8b84249..832e8b84249 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/basepic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/basepic.c index aeb6fd57770..aeb6fd57770 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/basepic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/basepic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/basepic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/base/basepic.h index 329d7c8fd61..329d7c8fd61 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/basepic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/basepic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftadvanc.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftadvanc.c index 52078478df3..18884efe19e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftadvanc.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftadvanc.c @@ -4,7 +4,7 @@ /* */ /* Quick computation of advance widths (body). */ /* */ -/* Copyright 2008, 2009, 2011, 2013 by */ +/* Copyright 2008, 2009, 2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -80,6 +80,9 @@ if ( !face ) return FT_THROW( Invalid_Face_Handle ); + if ( !padvance ) + return FT_THROW( Invalid_Argument ); + if ( gindex >= (FT_UInt)face->num_glyphs ) return FT_THROW( Invalid_Glyph_Index ); @@ -118,6 +121,9 @@ if ( !face ) return FT_THROW( Invalid_Face_Handle ); + if ( !padvances ) + return FT_THROW( Invalid_Argument ); + num = (FT_UInt)face->num_glyphs; end = start + count; if ( start >= num || end < start || end > num ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftapi.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftapi.c index 8914d1f4e99..8914d1f4e99 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftapi.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftapi.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbase.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbase.c index 5e5d70ec4b6..5e5d70ec4b6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbase.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbase.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbase.h b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbase.h index 51a1db18b84..51a1db18b84 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbase.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbase.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbbox.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbbox.c index 8d3f383b4d6..c775d5c8cf0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbbox.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbbox.c @@ -4,7 +4,7 @@ /* */ /* FreeType bbox computation (body). */ /* */ -/* Copyright 1996-2002, 2004, 2006, 2010, 2013 by */ +/* Copyright 1996-2002, 2004, 2006, 2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used */ @@ -42,16 +42,35 @@ } TBBox_Rec; +#define FT_UPDATE_BBOX(p, bbox) \ + FT_BEGIN_STMNT \ + if ( p->x < bbox.xMin ) \ + bbox.xMin = p->x; \ + if ( p->x > bbox.xMax ) \ + bbox.xMax = p->x; \ + if ( p->y < bbox.yMin ) \ + bbox.yMin = p->y; \ + if ( p->y > bbox.yMax ) \ + bbox.yMax = p->y; \ + FT_END_STMNT + +#define CHECK_X( p, bbox ) \ + ( p->x < bbox.xMin || p->x > bbox.xMax ) + +#define CHECK_Y( p, bbox ) \ + ( p->y < bbox.yMin || p->y > bbox.yMax ) + + /*************************************************************************/ /* */ /* <Function> */ /* BBox_Move_To */ /* */ /* <Description> */ - /* This function is used as a `move_to' and `line_to' emitter during */ + /* This function is used as a `move_to' emitter during */ /* FT_Outline_Decompose(). It simply records the destination point */ - /* in `user->last'; no further computations are necessary since we */ - /* use the cbox as the starting bbox which must be refined. */ + /* in `user->last'. We also update bbox in case contour starts with */ + /* an implicit `on' point. */ /* */ /* <Input> */ /* to :: A pointer to the destination vector. */ @@ -66,17 +85,42 @@ BBox_Move_To( FT_Vector* to, TBBox_Rec* user ) { + FT_UPDATE_BBOX( to, user->bbox ); + user->last = *to; return 0; } -#define CHECK_X( p, bbox ) \ - ( p->x < bbox.xMin || p->x > bbox.xMax ) + /*************************************************************************/ + /* */ + /* <Function> */ + /* BBox_Line_To */ + /* */ + /* <Description> */ + /* This function is used as a `line_to' emitter during */ + /* FT_Outline_Decompose(). It simply records the destination point */ + /* in `user->last'; no further computations are necessary because */ + /* bbox already contains both explicit ends of the line segment. */ + /* */ + /* <Input> */ + /* to :: A pointer to the destination vector. */ + /* */ + /* <InOut> */ + /* user :: A pointer to the current walk context. */ + /* */ + /* <Return> */ + /* Always 0. Needed for the interface only. */ + /* */ + static int + BBox_Line_To( FT_Vector* to, + TBBox_Rec* user ) + { + user->last = *to; -#define CHECK_Y( p, bbox ) \ - ( p->y < bbox.yMin || p->y > bbox.yMax ) + return 0; + } /*************************************************************************/ @@ -155,8 +199,8 @@ FT_Vector* to, TBBox_Rec* user ) { - /* we don't need to check `to' since it is always an `on' point, thus */ - /* within the bbox */ + /* in case `to' is implicit and not included in bbox yet */ + FT_UPDATE_BBOX( to, user->bbox ); if ( CHECK_X( control, user->bbox ) ) BBox_Conic_Check( user->last.x, @@ -203,15 +247,48 @@ /* max :: The address of the current maximum. */ /* */ static FT_Pos - update_cubic_max( FT_Pos q1, - FT_Pos q2, - FT_Pos q3, - FT_Pos q4, - FT_Pos max ) + cubic_peak( FT_Pos q1, + FT_Pos q2, + FT_Pos q3, + FT_Pos q4 ) { - /* for a cubic segment to possibly reach new maximum, at least */ - /* one of its off-points must stay above the current value */ - while ( q2 > max || q3 > max ) + FT_Pos peak = 0; + FT_Int shift; + + /* This function finds a peak of a cubic segment if it is above 0 */ + /* using iterative bisection of the segment, or returns 0. */ + /* The fixed-point arithmetic of bisection is inherently stable */ + /* but may loose accuracy in the two lowest bits. To compensate, */ + /* we upscale the segment if there is room. Large values may need */ + /* to be downscaled to avoid overflows during bisection. */ + /* It is called with either q2 or q3 positive, which is necessary */ + /* for the peak to exist and avoids undefined FT_MSB. */ + + shift = 27 - + FT_MSB( FT_ABS( q1 ) | FT_ABS( q2 ) | FT_ABS( q3 ) | FT_ABS( q4 ) ); + + if ( shift > 0 ) + { + /* upscaling too much just wastes time */ + if ( shift > 2 ) + shift = 2; + + q1 <<= shift; + q2 <<= shift; + q3 <<= shift; + q4 <<= shift; + } + else + { + q1 >>= -shift; + q2 >>= -shift; + q3 >>= -shift; + q4 >>= -shift; + } + + /* for a peak to exist above 0, the cubic segment must have */ + /* at least one of its control off-points above 0. */ + while ( q2 > 0 || q3 > 0 ) { /* determine which half contains the maximum and split */ if ( q1 + q2 > q3 + q4 ) /* first half */ @@ -240,17 +317,22 @@ /* check whether either end reached the maximum */ if ( q1 == q2 && q1 >= q3 ) { - max = q1; + peak = q1; break; } if ( q3 == q4 && q2 <= q4 ) { - max = q4; + peak = q4; break; } } - return max; + if ( shift > 0 ) + peak >>= shift; + else + peak <<= -shift; + + return peak; } @@ -262,65 +344,17 @@ FT_Pos* min, FT_Pos* max ) { - FT_Pos nmin, nmax; - FT_Int shift; - - /* This function is only called when a control off-point is outside */ - /* the bbox that contains all on-points. It finds a local extremum */ - /* within the segment using iterative bisection of the segment. */ - /* The fixed-point arithmetic of bisection is inherently stable */ - /* but may loose accuracy in the two lowest bits. To compensate, */ - /* we upscale the segment if there is room. Large values may need */ - /* to be downscaled to avoid overflows during bisection. */ - /* The control off-point outside the bbox is likely to have the top */ - /* absolute value among arguments. */ + /* the bbox that contains all on-points. So at least one of the */ + /* conditions below holds and cubic_peak is called with at least one */ + /* non-zero argument. */ - shift = 27 - FT_MSB( FT_ABS( p2 ) | FT_ABS( p3 ) ); - - if ( shift > 0 ) - { - /* upscaling too much just wastes time */ - if ( shift > 2 ) - shift = 2; - - p1 <<= shift; - p2 <<= shift; - p3 <<= shift; - p4 <<= shift; - nmin = *min << shift; - nmax = *max << shift; - } - else - { - p1 >>= -shift; - p2 >>= -shift; - p3 >>= -shift; - p4 >>= -shift; - nmin = *min >> -shift; - nmax = *max >> -shift; - } - - nmax = update_cubic_max( p1, p2, p3, p4, nmax ); + if ( p2 > *max || p3 > *max ) + *max += cubic_peak( p1 - *max, p2 - *max, p3 - *max, p4 - *max ); /* now flip the signs to update the minimum */ - nmin = -update_cubic_max( -p1, -p2, -p3, -p4, -nmin ); - - if ( shift > 0 ) - { - nmin >>= shift; - nmax >>= shift; - } - else - { - nmin <<= -shift; - nmax <<= -shift; - } - - if ( nmin < *min ) - *min = nmin; - if ( nmax > *max ) - *max = nmax; + if ( p2 < *min || p3 < *min ) + *min -= cubic_peak( *min - p1, *min - p2, *min - p3, *min - p4 ); } @@ -387,7 +421,7 @@ FT_DEFINE_OUTLINE_FUNCS(bbox_interface, (FT_Outline_MoveTo_Func) BBox_Move_To, - (FT_Outline_LineTo_Func) BBox_Move_To, + (FT_Outline_LineTo_Func) BBox_Line_To, (FT_Outline_ConicTo_Func)BBox_Conic_To, (FT_Outline_CubicTo_Func)BBox_Cubic_To, 0, 0 @@ -399,8 +433,8 @@ FT_DEFINE_OUTLINE_FUNCS(bbox_interface, FT_Outline_Get_BBox( FT_Outline* outline, FT_BBox *abbox ) { - FT_BBox cbox; - FT_BBox bbox; + FT_BBox cbox = { 0x7FFFFFFF, 0x7FFFFFFF, -0x7FFFFFFF, -0x7FFFFFFF }; + FT_BBox bbox = { 0x7FFFFFFF, 0x7FFFFFFF, -0x7FFFFFFF, -0x7FFFFFFF }; FT_Vector* vec; FT_UShort n; @@ -424,32 +458,13 @@ FT_DEFINE_OUTLINE_FUNCS(bbox_interface, /* coincide, we exit immediately. */ vec = outline->points; - bbox.xMin = bbox.xMax = cbox.xMin = cbox.xMax = vec->x; - bbox.yMin = bbox.yMax = cbox.yMin = cbox.yMax = vec->y; - vec++; - for ( n = 1; n < outline->n_points; n++ ) + for ( n = 0; n < outline->n_points; n++ ) { - FT_Pos x = vec->x; - FT_Pos y = vec->y; - - - /* update control box */ - if ( x < cbox.xMin ) cbox.xMin = x; - if ( x > cbox.xMax ) cbox.xMax = x; - - if ( y < cbox.yMin ) cbox.yMin = y; - if ( y > cbox.yMax ) cbox.yMax = y; + FT_UPDATE_BBOX( vec, cbox); if ( FT_CURVE_TAG( outline->tags[n] ) == FT_CURVE_TAG_ON ) - { - /* update bbox for `on' points only */ - if ( x < bbox.xMin ) bbox.xMin = x; - if ( x > bbox.xMax ) bbox.xMax = x; - - if ( y < bbox.yMin ) bbox.yMin = y; - if ( y > bbox.yMax ) bbox.yMax = y; - } + FT_UPDATE_BBOX( vec, bbox); vec++; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbdf.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbdf.c index 5755f8558de..d9dcbad5ede 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbdf.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbdf.c @@ -4,7 +4,7 @@ /* */ /* FreeType API for accessing BDF-specific strings (body). */ /* */ -/* Copyright 2002-2004, 2013 by */ +/* Copyright 2002-2004, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -17,6 +17,8 @@ #include <ft2build.h> +#include FT_INTERNAL_DEBUG_H + #include FT_INTERNAL_OBJECTS_H #include FT_SERVICE_BDF_H @@ -32,19 +34,18 @@ const char* encoding = NULL; const char* registry = NULL; + FT_Service_BDF service; - error = FT_ERR( Invalid_Argument ); - - if ( face ) - { - FT_Service_BDF service; + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); - FT_FACE_FIND_SERVICE( face, service, BDF ); + FT_FACE_FIND_SERVICE( face, service, BDF ); - if ( service && service->get_charset_id ) - error = service->get_charset_id( face, &encoding, ®istry ); - } + if ( service && service->get_charset_id ) + error = service->get_charset_id( face, &encoding, ®istry ); + else + error = FT_THROW( Invalid_Argument ); if ( acharset_encoding ) *acharset_encoding = encoding; @@ -65,23 +66,25 @@ { FT_Error error; + FT_Service_BDF service; - error = FT_ERR( Invalid_Argument ); - aproperty->type = BDF_PROPERTY_TYPE_NONE; + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); - if ( face ) - { - FT_Service_BDF service; + if ( !aproperty ) + return FT_THROW( Invalid_Argument ); + aproperty->type = BDF_PROPERTY_TYPE_NONE; - FT_FACE_FIND_SERVICE( face, service, BDF ); + FT_FACE_FIND_SERVICE( face, service, BDF ); - if ( service && service->get_property ) - error = service->get_property( face, prop_name, aproperty ); - } + if ( service && service->get_property ) + error = service->get_property( face, prop_name, aproperty ); + else + error = FT_THROW( Invalid_Argument ); - return error; + return error; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbitmap.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbitmap.c index 5606745be7e..5dd33a26f1d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftbitmap.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftbitmap.c @@ -33,7 +33,8 @@ FT_EXPORT_DEF( void ) FT_Bitmap_New( FT_Bitmap *abitmap ) { - *abitmap = null_bitmap; + if ( abitmap ) + *abitmap = null_bitmap; } @@ -44,25 +45,42 @@ const FT_Bitmap *source, FT_Bitmap *target) { - FT_Memory memory = library->memory; + FT_Memory memory; FT_Error error = FT_Err_Ok; - FT_Int pitch = source->pitch; - FT_ULong size; + FT_Int pitch; + FT_ULong size; + + FT_Int source_pitch_sign, target_pitch_sign; + + + if ( !library ) + return FT_THROW( Invalid_Library_Handle ); + + if ( !source || !target ) + return FT_THROW( Invalid_Argument ); if ( source == target ) return FT_Err_Ok; + source_pitch_sign = source->pitch < 0 ? -1 : 1; + target_pitch_sign = target->pitch < 0 ? -1 : 1; + if ( source->buffer == NULL ) { *target = *source; + if ( source_pitch_sign != target_pitch_sign ) + target->pitch = -target->pitch; return FT_Err_Ok; } + memory = library->memory; + pitch = source->pitch; + if ( pitch < 0 ) pitch = -pitch; - size = (FT_ULong)( pitch * source->rows ); + size = (FT_ULong)pitch * source->rows; if ( target->buffer ) { @@ -70,9 +88,9 @@ FT_ULong target_size; - if ( target_pitch < 0 ) + if ( target_pitch < 0 ) target_pitch = -target_pitch; - target_size = (FT_ULong)( target_pitch * target->rows ); + target_size = (FT_ULong)target_pitch * target->rows; if ( target_size != size ) (void)FT_QREALLOC( target->buffer, target_size, size ); @@ -89,13 +107,35 @@ *target = *source; target->buffer = p; - FT_MEM_COPY( target->buffer, source->buffer, size ); + if ( source_pitch_sign == target_pitch_sign ) + FT_MEM_COPY( target->buffer, source->buffer, size ); + else + { + /* take care of bitmap flow */ + FT_UInt i; + FT_Byte* s = source->buffer; + FT_Byte* t = target->buffer; + + + t += pitch * ( target->rows - 1 ); + + for ( i = target->rows; i > 0; i-- ) + { + FT_ARRAY_COPY( t, s, pitch ); + + s += pitch; + t -= pitch; + } + } } return error; } + /* Enlarge `bitmap' horizontally and vertically by `xpixels' */ + /* and `ypixels', respectively. */ + static FT_Error ft_bitmap_assure_buffer( FT_Memory memory, FT_Bitmap* bitmap, @@ -106,7 +146,7 @@ int pitch; int new_pitch; FT_UInt bpp; - FT_Int i, width, height; + FT_UInt i, width, height; unsigned char* buffer = NULL; @@ -144,17 +184,17 @@ if ( ypixels == 0 && new_pitch <= pitch ) { /* zero the padding */ - FT_Int bit_width = pitch * 8; - FT_Int bit_last = ( width + xpixels ) * bpp; + FT_UInt bit_width = pitch * 8; + FT_UInt bit_last = ( width + xpixels ) * bpp; if ( bit_last < bit_width ) { FT_Byte* line = bitmap->buffer + ( bit_last >> 3 ); FT_Byte* end = bitmap->buffer + pitch; - FT_Int shift = bit_last & 7; + FT_UInt shift = bit_last & 7; FT_UInt mask = 0xFF00U >> shift; - FT_Int count = height; + FT_UInt count = height; for ( ; count > 0; count--, line += pitch, end += pitch ) @@ -168,19 +208,22 @@ write++; } if ( write < end ) - FT_MEM_ZERO( write, end-write ); + FT_MEM_ZERO( write, end - write ); } } return FT_Err_Ok; } + /* otherwise allocate new buffer */ if ( FT_QALLOC_MULT( buffer, new_pitch, bitmap->rows + ypixels ) ) return error; + /* new rows get added at the top of the bitmap, */ + /* thus take care of the flow direction */ if ( bitmap->pitch > 0 ) { - FT_Int len = ( width * bpp + 7 ) >> 3; + FT_UInt len = ( width * bpp + 7 ) >> 3; for ( i = 0; i < bitmap->rows; i++ ) @@ -189,7 +232,7 @@ } else { - FT_Int len = ( width * bpp + 7 ) >> 3; + FT_UInt len = ( width * bpp + 7 ) >> 3; for ( i = 0; i < bitmap->rows; i++ ) @@ -220,7 +263,8 @@ { FT_Error error; unsigned char* p; - FT_Int i, x, y, pitch; + FT_Int i, x, pitch; + FT_UInt y; FT_Int xstr, ystr; @@ -248,17 +292,11 @@ case FT_PIXEL_MODE_GRAY4: { FT_Bitmap tmp; - FT_Int align; - - if ( bitmap->pixel_mode == FT_PIXEL_MODE_GRAY2 ) - align = ( bitmap->width + xstr + 3 ) / 4; - else - align = ( bitmap->width + xstr + 1 ) / 2; + /* convert to 8bpp */ FT_Bitmap_New( &tmp ); - - error = FT_Bitmap_Convert( library, bitmap, &tmp, align ); + error = FT_Bitmap_Convert( library, bitmap, &tmp, 1 ); if ( error ) return error; @@ -289,6 +327,7 @@ if ( error ) return error; + /* take care of bitmap flow */ pitch = bitmap->pitch; if ( pitch > 0 ) p = bitmap->buffer + pitch * ystr; @@ -309,7 +348,7 @@ */ for ( x = pitch - 1; x >= 0; x-- ) { - unsigned char tmp; + unsigned char tmp; tmp = p[x]; @@ -334,12 +373,12 @@ { if ( p[x] + p[x - i] > bitmap->num_grays - 1 ) { - p[x] = (unsigned char)(bitmap->num_grays - 1); + p[x] = (unsigned char)( bitmap->num_grays - 1 ); break; } else { - p[x] = (unsigned char)(p[x] + p[x-i]); + p[x] = (unsigned char)( p[x] + p[x - i] ); if ( p[x] == bitmap->num_grays - 1 ) break; } @@ -378,14 +417,11 @@ static FT_Byte ft_gray_for_premultiplied_srgb_bgra( const FT_Byte* bgra ) { - FT_Long a = bgra[3]; - FT_Long b = bgra[0]; - FT_Long g = bgra[1]; - FT_Long r = bgra[2]; - FT_Long l; + FT_UInt a = bgra[3]; + FT_UInt l; - /* Short-circuit transparent color to avoid div-by-zero. */ + /* Short-circuit transparent color to avoid division by zero. */ if ( !a ) return 0; @@ -395,40 +431,32 @@ * A gamma of 2.2 is fair to assume. And then, we need to * undo the premultiplication too. * - * http://accessibility.kde.org/hsl-adjusted.php + * http://accessibility.kde.org/hsl-adjusted.php + * + * We do the computation with integers only, applying a gamma of 2.0. + * We guarantee 32-bit arithmetic to avoid overflow but the resulting + * luminosity fits into 16 bits. * - * We do the computation with integers only. */ - /* Undo premultification, get the number in a 16.16 form. */ - b = FT_MulDiv( b, 65536, a ); - g = FT_MulDiv( g, 65536, a ); - r = FT_MulDiv( r, 65536, a ); - a = a * 256; - - /* Apply gamma of 2.0 instead of 2.2. */ - b = FT_MulFix( b, b ); - g = FT_MulFix( g, g ); - r = FT_MulFix( r, r ); - - /* Apply coefficients. */ - b = FT_MulFix( b, 4731 /* 0.0722 * 65536 */ ); - g = FT_MulFix( g, 46871 /* 0.7152 * 65536 */ ); - r = FT_MulFix( r, 13933 /* 0.2126 * 65536 */ ); - - l = r + g + b; + l = ( 4732UL /* 0.0722 * 65536 */ * bgra[0] * bgra[0] + + 46871UL /* 0.7152 * 65536 */ * bgra[1] * bgra[1] + + 13933UL /* 0.2126 * 65536 */ * bgra[2] * bgra[2] ) >> 16; /* - * Final transparency can be determined this way: + * Final transparency can be determined as follows. * * - If alpha is zero, we want 0. * - If alpha is zero and luminosity is zero, we want 255. * - If alpha is zero and luminosity is one, we want 0. * - * So the formula is a * (1 - l). + * So the formula is a * (1 - l) = a - l * a. + * + * We still need to undo premultiplication by dividing l by a*a. + * */ - return (FT_Byte)( FT_MulFix( 65535 - l, a ) >> 8 ); + return (FT_Byte)( a - l / a ); } @@ -443,10 +471,16 @@ FT_Error error = FT_Err_Ok; FT_Memory memory; + FT_Byte* s; + FT_Byte* t; + if ( !library ) return FT_THROW( Invalid_Library_Handle ); + if ( !source || !target ) + return FT_THROW( Invalid_Argument ); + memory = library->memory; switch ( source->pixel_mode ) @@ -459,13 +493,15 @@ case FT_PIXEL_MODE_LCD_V: case FT_PIXEL_MODE_BGRA: { - FT_Int pad; - FT_Long old_size; + FT_Int pad, old_target_pitch, target_pitch; + FT_ULong old_size; - old_size = target->rows * target->pitch; - if ( old_size < 0 ) - old_size = -old_size; + old_target_pitch = target->pitch; + if ( old_target_pitch < 0 ) + old_target_pitch = -old_target_pitch; + + old_size = target->rows * old_target_pitch; target->pixel_mode = FT_PIXEL_MODE_GRAY; target->rows = source->rows; @@ -479,16 +515,18 @@ pad = alignment - pad; } - target->pitch = source->width + pad; + target_pitch = source->width + pad; - if ( target->pitch > 0 && - (FT_ULong)target->rows > FT_ULONG_MAX / target->pitch ) + if ( target_pitch > 0 && + (FT_ULong)target->rows > FT_ULONG_MAX / target_pitch ) return FT_THROW( Invalid_Argument ); - if ( target->rows * target->pitch > old_size && + if ( target->rows * target_pitch > old_size && FT_QREALLOC( target->buffer, - old_size, target->rows * target->pitch ) ) + old_size, target->rows * target_pitch ) ) return error; + + target->pitch = target->pitch < 0 ? -target_pitch : target_pitch; } break; @@ -496,13 +534,20 @@ error = FT_THROW( Invalid_Argument ); } + s = source->buffer; + t = target->buffer; + + /* take care of bitmap flow */ + if ( source->pitch < 0 ) + s -= source->pitch * ( source->rows - 1 ); + if ( target->pitch < 0 ) + t -= target->pitch * ( target->rows - 1 ); + switch ( source->pixel_mode ) { case FT_PIXEL_MODE_MONO: { - FT_Byte* s = source->buffer; - FT_Byte* t = target->buffer; - FT_Int i; + FT_UInt i; target->num_grays = 2; @@ -511,7 +556,7 @@ { FT_Byte* ss = s; FT_Byte* tt = t; - FT_Int j; + FT_UInt j; /* get the full bytes */ @@ -559,12 +604,8 @@ case FT_PIXEL_MODE_LCD: case FT_PIXEL_MODE_LCD_V: { - FT_Int width = source->width; - FT_Byte* s = source->buffer; - FT_Byte* t = target->buffer; - FT_Int s_pitch = source->pitch; - FT_Int t_pitch = target->pitch; - FT_Int i; + FT_Int width = source->width; + FT_UInt i; target->num_grays = 256; @@ -573,8 +614,8 @@ { FT_ARRAY_COPY( t, s, width ); - s += s_pitch; - t += t_pitch; + s += source->pitch; + t += target->pitch; } } break; @@ -582,9 +623,7 @@ case FT_PIXEL_MODE_GRAY2: { - FT_Byte* s = source->buffer; - FT_Byte* t = target->buffer; - FT_Int i; + FT_UInt i; target->num_grays = 4; @@ -593,7 +632,7 @@ { FT_Byte* ss = s; FT_Byte* tt = t; - FT_Int j; + FT_UInt j; /* get the full bytes */ @@ -634,9 +673,7 @@ case FT_PIXEL_MODE_GRAY4: { - FT_Byte* s = source->buffer; - FT_Byte* t = target->buffer; - FT_Int i; + FT_UInt i; target->num_grays = 16; @@ -645,7 +682,7 @@ { FT_Byte* ss = s; FT_Byte* tt = t; - FT_Int j; + FT_UInt j; /* get the full bytes */ @@ -670,13 +707,10 @@ } break; + case FT_PIXEL_MODE_BGRA: { - FT_Byte* s = source->buffer; - FT_Byte* t = target->buffer; - FT_Int s_pitch = source->pitch; - FT_Int t_pitch = target->pitch; - FT_Int i; + FT_UInt i; target->num_grays = 256; @@ -685,7 +719,7 @@ { FT_Byte* ss = s; FT_Byte* tt = t; - FT_Int j; + FT_UInt j; for ( j = source->width; j > 0; j-- ) @@ -696,8 +730,8 @@ tt += 1; } - s += s_pitch; - t += t_pitch; + s += source->pitch; + t += target->pitch; } } break; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftcalc.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftcalc.c index 6e655832f7b..f3ef8c537ba 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftcalc.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftcalc.c @@ -39,7 +39,8 @@ #include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_OBJECTS_H -#ifdef FT_MULFIX_INLINED + +#ifdef FT_MULFIX_ASSEMBLER #undef FT_MulFix #endif @@ -67,6 +68,16 @@ #define FT_COMPONENT trace_calc + /* transfer sign leaving a positive number */ +#define FT_MOVE_SIGN( x, s ) \ + FT_BEGIN_STMNT \ + if ( x < 0 ) \ + { \ + x = -x; \ + s = -s; \ + } \ + FT_END_STMNT + /* The following three functions are available regardless of whether */ /* FT_LONG64 is defined. */ @@ -99,6 +110,7 @@ : -((-a) & ~0xFFFFL ); } +#ifndef FT_MSB FT_BASE_DEF ( FT_Int ) FT_MSB( FT_UInt32 z ) @@ -106,27 +118,27 @@ FT_Int shift = 0; /* determine msb bit index in `shift' */ - if ( z >= ( 1L << 16 ) ) + if ( z & 0xFFFF0000U ) { z >>= 16; shift += 16; } - if ( z >= ( 1L << 8 ) ) + if ( z & 0x0000FF00U ) { z >>= 8; shift += 8; } - if ( z >= ( 1L << 4 ) ) + if ( z & 0x000000F0U ) { z >>= 4; shift += 4; } - if ( z >= ( 1L << 2 ) ) + if ( z & 0x0000000CU ) { z >>= 2; shift += 2; } - if ( z >= ( 1L << 1 ) ) + if ( z & 0x00000002U ) { /* z >>= 1; */ shift += 1; @@ -135,6 +147,8 @@ return shift; } +#endif /* !FT_MSB */ + /* documentation is in ftcalc.h */ @@ -162,14 +176,13 @@ FT_Long b, FT_Long c ) { - FT_Int s; + FT_Int s = 1; FT_Long d; - s = 1; - if ( a < 0 ) { a = -a; s = -1; } - if ( b < 0 ) { b = -b; s = -s; } - if ( c < 0 ) { c = -c; s = -s; } + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); + FT_MOVE_SIGN( c, s ); d = (FT_Long)( c > 0 ? ( (FT_Int64)a * b + ( c >> 1 ) ) / c : 0x7FFFFFFFL ); @@ -185,14 +198,13 @@ FT_Long b, FT_Long c ) { - FT_Int s; + FT_Int s = 1; FT_Long d; - s = 1; - if ( a < 0 ) { a = -a; s = -1; } - if ( b < 0 ) { b = -b; s = -s; } - if ( c < 0 ) { c = -c; s = -s; } + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); + FT_MOVE_SIGN( c, s ); d = (FT_Long)( c > 0 ? (FT_Int64)a * b / c : 0x7FFFFFFFL ); @@ -217,17 +229,8 @@ FT_Long c; - if ( a < 0 ) - { - a = -a; - s = -1; - } - - if ( b < 0 ) - { - b = -b; - s = -s; - } + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); c = (FT_Long)( ( (FT_Int64)a * b + 0x8000L ) >> 16 ); @@ -243,30 +246,17 @@ FT_DivFix( FT_Long a, FT_Long b ) { - FT_Int32 s; - FT_UInt32 q; + FT_Int s = 1; + FT_Long q; - s = 1; - if ( a < 0 ) - { - a = -a; - s = -1; - } - if ( b < 0 ) - { - b = -b; - s = -s; - } + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); - if ( b == 0 ) - /* check for division by 0 */ - q = 0x7FFFFFFFL; - else - /* compute result directly */ - q = (FT_UInt32)( ( ( (FT_UInt64)a << 16 ) + ( b >> 1 ) ) / b ); + q = (FT_Long)( b > 0 ? ( ( (FT_UInt64)a << 16 ) + ( b >> 1 ) ) / b + : 0x7FFFFFFFL ); - return ( s < 0 ? -(FT_Long)q : (FT_Long)q ); + return ( s < 0 ? -q : q ); } @@ -314,25 +304,30 @@ FT_Int i; - q = 0; - r = hi; - - if ( r >= y ) + if ( hi >= y ) return (FT_UInt32)0x7FFFFFFFL; - i = 32; + /* We shift as many bits as we can into the high register, perform */ + /* 32-bit division with modulo there, then work through the remaining */ + /* bits with long division. This optimization is especially noticeable */ + /* for smaller dividends that barely use the high register. */ + + i = 31 - FT_MSB( hi ); + r = ( hi << i ) | ( lo >> ( 32 - i ) ); lo <<= i; /* left 64-bit shift */ + q = r / y; + r -= q * y; /* remainder */ + + i = 32 - i; /* bits remaining in low register */ do { - r <<= 1; q <<= 1; - r |= lo >> 31; + r = ( r << 1 ) | ( lo >> 31 ); lo <<= 1; if ( r >= y ) { r -= y; q |= 1; } - lo <<= 1; } while ( --i ); return q; @@ -344,7 +339,7 @@ FT_Int64* y, FT_Int64 *z ) { - register FT_UInt32 lo, hi; + FT_UInt32 lo, hi; lo = x->lo + y->lo; @@ -355,58 +350,93 @@ } - /* documentation is in freetype.h */ - - /* The FT_MulDiv function has been optimized thanks to ideas from */ - /* Graham Asher. The trick is to optimize computation when everything */ - /* fits within 32-bits (a rather common case). */ + /* The FT_MulDiv function has been optimized thanks to ideas from */ + /* Graham Asher and Alexei Podtelezhnikov. The trick is to optimize */ + /* a rather common case when everything fits within 32-bits. */ + /* */ + /* We compute 'a*b+c/2', then divide it by 'c' (all positive values). */ + /* */ + /* The product of two positive numbers never exceeds the square of */ + /* its mean values. Therefore, we always avoid the overflow by */ + /* imposing */ + /* */ + /* (a + b) / 2 <= sqrt(X - c/2) , */ /* */ - /* we compute 'a*b+c/2', then divide it by 'c'. (positive values) */ + /* where X = 2^32 - 1, the maximum unsigned 32-bit value, and using */ + /* unsigned arithmetic. Now we replace `sqrt' with a linear function */ + /* that is smaller or equal for all values of c in the interval */ + /* [0;X/2]; it should be equal to sqrt(X) and sqrt(3X/4) at the */ + /* endpoints. Substituting the linear solution and explicit numbers */ + /* we get */ /* */ - /* 46340 is FLOOR(SQRT(2^31-1)). */ + /* a + b <= 131071.99 - c / 122291.84 . */ /* */ - /* if ( a <= 46340 && b <= 46340 ) then ( a*b <= 0x7FFEA810 ) */ + /* In practice, we should use a faster and even stronger inequality */ /* */ - /* 0x7FFFFFFF - 0x7FFEA810 = 0x157F0 */ + /* a + b <= 131071 - (c >> 16) */ /* */ - /* if ( c < 0x157F0*2 ) then ( a*b+c/2 <= 0x7FFFFFFF ) */ + /* or, alternatively, */ /* */ - /* and 2*0x157F0 = 176096 */ + /* a + b <= 129894 - (c >> 17) . */ /* */ + /* FT_MulFix, on the other hand, is optimized for a small value of */ + /* the first argument, when the second argument can be much larger. */ + /* This can be achieved by scaling the second argument and the limit */ + /* in the above inequalities. For example, */ + /* */ + /* a + (b >> 8) <= (131071 >> 4) */ + /* */ + /* covers the practical range of use. The actual test below is a bit */ + /* tighter to avoid the border case overflows. */ + /* */ + /* In the case of FT_DivFix, the exact overflow check */ + /* */ + /* a << 16 <= X - c/2 */ + /* */ + /* is scaled down by 2^16 and we use */ + /* */ + /* a <= 65535 - (c >> 17) . */ + + /* documentation is in freetype.h */ FT_EXPORT_DEF( FT_Long ) FT_MulDiv( FT_Long a, FT_Long b, FT_Long c ) { - long s; + FT_Int s = 1; /* XXX: this function does not allow 64-bit arguments */ if ( a == 0 || b == c ) return a; - s = a; a = FT_ABS( a ); - s ^= b; b = FT_ABS( b ); - s ^= c; c = FT_ABS( c ); + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); + FT_MOVE_SIGN( c, s ); - if ( a <= 46340L && b <= 46340L && c <= 176095L && c > 0 ) - a = ( a * b + ( c >> 1 ) ) / c; + if ( c == 0 ) + a = 0x7FFFFFFFL; + + else if ( (FT_ULong)a + b <= 129894UL - ( c >> 17 ) ) + a = ( (FT_ULong)a * b + ( c >> 1 ) ) / c; - else if ( (FT_Int32)c > 0 ) + else { FT_Int64 temp, temp2; - ft_multo64( (FT_Int32)a, (FT_Int32)b, &temp ); + ft_multo64( a, b, &temp ); temp2.hi = 0; - temp2.lo = (FT_UInt32)(c >> 1); + temp2.lo = c >> 1; + FT_Add64( &temp, &temp2, &temp ); - a = ft_div64by32( temp.hi, temp.lo, (FT_Int32)c ); + + /* last attempt to ditch long division */ + a = temp.hi == 0 ? temp.lo / c + : ft_div64by32( temp.hi, temp.lo, c ); } - else - a = 0x7FFFFFFFL; return ( s < 0 ? -a : a ); } @@ -417,29 +447,33 @@ FT_Long b, FT_Long c ) { - long s; + FT_Int s = 1; if ( a == 0 || b == c ) return a; - s = a; a = FT_ABS( a ); - s ^= b; b = FT_ABS( b ); - s ^= c; c = FT_ABS( c ); + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); + FT_MOVE_SIGN( c, s ); - if ( a <= 46340L && b <= 46340L && c > 0 ) - a = a * b / c; + if ( c == 0 ) + a = 0x7FFFFFFFL; + + else if ( (FT_ULong)a + b <= 131071UL ) + a = (FT_ULong)a * b / c; - else if ( (FT_Int32)c > 0 ) + else { FT_Int64 temp; - ft_multo64( (FT_Int32)a, (FT_Int32)b, &temp ); - a = ft_div64by32( temp.hi, temp.lo, (FT_Int32)c ); + ft_multo64( a, b, &temp ); + + /* last attempt to ditch long division */ + a = temp.hi == 0 ? temp.lo / c + : ft_div64by32( temp.hi, temp.lo, c ); } - else - a = 0x7FFFFFFFL; return ( s < 0 ? -a : a ); } @@ -497,7 +531,7 @@ ua = (FT_ULong)a; ub = (FT_ULong)b; - if ( ua <= 2048 && ub <= 1048576L ) + if ( ua + ( ub >> 8 ) <= 8190UL ) ua = ( ua * ub + 0x8000U ) >> 16; else { @@ -515,20 +549,20 @@ #else /* 0 */ - FT_Long s; + FT_Int s = 1; FT_ULong ua, ub; if ( a == 0 || b == 0x10000L ) return a; - s = a; a = FT_ABS( a ); - s ^= b; b = FT_ABS( b ); + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); ua = (FT_ULong)a; ub = (FT_ULong)b; - if ( ua <= 2048 && ub <= 1048576L ) + if ( ua + ( ub >> 8 ) <= 8190UL ) ua = ( ua * ub + 0x8000UL ) >> 16; else { @@ -552,23 +586,24 @@ FT_DivFix( FT_Long a, FT_Long b ) { - FT_Int32 s; - FT_UInt32 q; + FT_Int s = 1; + FT_Long q; /* XXX: this function does not allow 64-bit arguments */ - s = (FT_Int32)a; a = FT_ABS( a ); - s ^= (FT_Int32)b; b = FT_ABS( b ); - if ( (FT_UInt32)b == 0 ) + FT_MOVE_SIGN( a, s ); + FT_MOVE_SIGN( b, s ); + + if ( b == 0 ) { /* check for division by 0 */ - q = (FT_UInt32)0x7FFFFFFFL; + q = 0x7FFFFFFFL; } - else if ( ( a >> 16 ) == 0 ) + else if ( a <= 65535L - ( b >> 17 ) ) { /* compute result directly */ - q = (FT_UInt32)( ( (FT_ULong)a << 16 ) + ( b >> 1 ) ) / (FT_UInt32)b; + q = (FT_Long)( ( ( (FT_ULong)a << 16 ) + ( b >> 1 ) ) / b ); } else { @@ -576,138 +611,18 @@ FT_Int64 temp, temp2; - temp.hi = (FT_Int32)( a >> 16 ); - temp.lo = (FT_UInt32)a << 16; + temp.hi = a >> 16; + temp.lo = a << 16; temp2.hi = 0; - temp2.lo = (FT_UInt32)( b >> 1 ); - FT_Add64( &temp, &temp2, &temp ); - q = ft_div64by32( temp.hi, temp.lo, (FT_Int32)b ); - } - - return ( s < 0 ? -(FT_Int32)q : (FT_Int32)q ); - } + temp2.lo = b >> 1; - -#if 0 - - /* documentation is in ftcalc.h */ - - FT_EXPORT_DEF( void ) - FT_MulTo64( FT_Int32 x, - FT_Int32 y, - FT_Int64 *z ) - { - FT_Int32 s; - - - s = x; x = FT_ABS( x ); - s ^= y; y = FT_ABS( y ); - - ft_multo64( x, y, z ); - - if ( s < 0 ) - { - z->lo = (FT_UInt32)-(FT_Int32)z->lo; - z->hi = ~z->hi + !( z->lo ); - } - } - - - /* apparently, the second version of this code is not compiled correctly */ - /* on Mac machines with the MPW C compiler.. tsk, tsk, tsk... */ - -#if 1 - - FT_EXPORT_DEF( FT_Int32 ) - FT_Div64by32( FT_Int64* x, - FT_Int32 y ) - { - FT_Int32 s; - FT_UInt32 q, r, i, lo; - - - s = x->hi; - if ( s < 0 ) - { - x->lo = (FT_UInt32)-(FT_Int32)x->lo; - x->hi = ~x->hi + !x->lo; - } - s ^= y; y = FT_ABS( y ); - - /* Shortcut */ - if ( x->hi == 0 ) - { - if ( y > 0 ) - q = x->lo / y; - else - q = 0x7FFFFFFFL; - - return ( s < 0 ? -(FT_Int32)q : (FT_Int32)q ); - } - - r = x->hi; - lo = x->lo; - - if ( r >= (FT_UInt32)y ) /* we know y is to be treated as unsigned here */ - return ( s < 0 ? 0x80000001UL : 0x7FFFFFFFUL ); - /* Return Max/Min Int32 if division overflow. */ - /* This includes division by zero! */ - q = 0; - for ( i = 0; i < 32; i++ ) - { - r <<= 1; - q <<= 1; - r |= lo >> 31; - - if ( r >= (FT_UInt32)y ) - { - r -= y; - q |= 1; - } - lo <<= 1; - } - - return ( s < 0 ? -(FT_Int32)q : (FT_Int32)q ); - } - -#else /* 0 */ - - FT_EXPORT_DEF( FT_Int32 ) - FT_Div64by32( FT_Int64* x, - FT_Int32 y ) - { - FT_Int32 s; - FT_UInt32 q; - - - s = x->hi; - if ( s < 0 ) - { - x->lo = (FT_UInt32)-(FT_Int32)x->lo; - x->hi = ~x->hi + !x->lo; - } - s ^= y; y = FT_ABS( y ); - - /* Shortcut */ - if ( x->hi == 0 ) - { - if ( y > 0 ) - q = ( x->lo + ( y >> 1 ) ) / y; - else - q = 0x7FFFFFFFL; - - return ( s < 0 ? -(FT_Int32)q : (FT_Int32)q ); + FT_Add64( &temp, &temp2, &temp ); + q = (FT_Long)ft_div64by32( temp.hi, temp.lo, b ); } - q = ft_div64by32( x->hi, x->lo, y ); - - return ( s < 0 ? -(FT_Int32)q : (FT_Int32)q ); + return ( s < 0 ? -q : q ); } -#endif /* 0 */ - -#endif /* 0 */ - #endif /* FT_LONG64 */ @@ -943,55 +858,40 @@ FT_Pos out_x, FT_Pos out_y ) { - FT_Pos ax = in_x; - FT_Pos ay = in_y; - - FT_Pos d_in, d_out, d_corner; - - - /* We approximate the Euclidean metric (sqrt(x^2 + y^2)) with */ - /* the Taxicab metric (|x| + |y|), which can be computed much */ - /* faster. If one of the two vectors is much longer than the */ - /* other one, the direction of the shorter vector doesn't */ - /* influence the result any more. */ - /* */ - /* corner */ - /* x---------------------------x */ - /* \ / */ - /* \ / */ - /* in \ / out */ - /* \ / */ - /* o */ - /* Point */ - /* */ - - if ( ax < 0 ) - ax = -ax; - if ( ay < 0 ) - ay = -ay; - d_in = ax + ay; /* d_in = || in || */ - - ax = out_x; - if ( ax < 0 ) - ax = -ax; - ay = out_y; - if ( ay < 0 ) - ay = -ay; - d_out = ax + ay; /* d_out = || out || */ - - ax = out_x + in_x; - if ( ax < 0 ) - ax = -ax; - ay = out_y + in_y; - if ( ay < 0 ) - ay = -ay; - d_corner = ax + ay; /* d_corner = || in + out || */ + FT_Pos ax = in_x + out_x; + FT_Pos ay = in_y + out_y; + + FT_Pos d_in, d_out, d_hypot; + + + /* The idea of this function is to compare the length of the */ + /* hypotenuse with the `in' and `out' length. The `corner' */ + /* represented by `in' and `out' is flat if the hypotenuse's */ + /* length isn't too large. */ + /* */ + /* This approach has the advantage that the angle between */ + /* `in' and `out' is not checked. In case one of the two */ + /* vectors is `dominant', this is, much larger than the */ + /* other vector, we thus always have a flat corner. */ + /* */ + /* hypotenuse */ + /* x---------------------------x */ + /* \ / */ + /* \ / */ + /* in \ / out */ + /* \ / */ + /* o */ + /* Point */ + + d_in = FT_HYPOT( in_x, in_y ); + d_out = FT_HYPOT( out_x, out_y ); + d_hypot = FT_HYPOT( ax, ay ); /* now do a simple length comparison: */ /* */ - /* d_in + d_out < 17/16 d_corner */ + /* d_in + d_out < 17/16 d_hypot */ - return ( d_in + d_out - d_corner ) < ( d_corner >> 4 ); + return ( d_in + d_out - d_hypot ) < ( d_hypot >> 4 ); } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftcid.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftcid.c index 741879d9220..741879d9220 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftcid.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftcid.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftdbgmem.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftdbgmem.c index 6fb86fe77de..6fb86fe77de 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftdbgmem.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftdbgmem.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftdebug.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftdebug.c index 39ac6add057..39ac6add057 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftdebug.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftdebug.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftfstype.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftfstype.c index d0ef7b7c1b0..6b49ef83718 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftfstype.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftfstype.c @@ -4,7 +4,7 @@ /* */ /* FreeType utility file to access FSType data (body). */ /* */ -/* Copyright 2008, 2009 by */ +/* Copyright 2008, 2009, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -51,7 +51,7 @@ /* look at FSType before fsType for Type42 */ - if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, ft_sfnt_os2 ) ) != NULL && + if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, FT_SFNT_OS2 ) ) != NULL && os2->version != 0xFFFFU ) return os2->fsType; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgasp.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgasp.c index 8485d29259e..8485d29259e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgasp.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgasp.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgloadr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgloadr.c index 3cc5c7a8057..3cc5c7a8057 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgloadr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgloadr.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftglyph.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftglyph.c index c62b3db0c39..ac178c41be0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftglyph.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftglyph.c @@ -4,7 +4,7 @@ /* */ /* FreeType convenience functions to handle glyphs (body). */ /* */ -/* Copyright 1996-2005, 2007, 2008, 2010, 2012, 2013 by */ +/* Copyright 1996-2005, 2007, 2008, 2010, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -314,13 +314,13 @@ /* check arguments */ - if ( !target ) + if ( !target || !source || !source->clazz ) { error = FT_THROW( Invalid_Argument ); goto Exit; } - *target = 0; + *target = NULL; if ( !source || !source->clazz ) { @@ -359,7 +359,7 @@ FT_Error error; FT_Glyph glyph; - const FT_Glyph_Class* clazz = 0; + const FT_Glyph_Class* clazz = NULL; if ( !slot ) @@ -512,7 +512,7 @@ FT_BitmapGlyph bitmap = NULL; const FT_Glyph_Class* clazz; - /* FT_BITMAP_GLYPH_CLASS_GET derefers `library' in PIC mode */ + /* FT_BITMAP_GLYPH_CLASS_GET dereferences `library' in PIC mode */ FT_Library library; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgxval.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgxval.c index a8ec44ac00c..a65f4c879b0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftgxval.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftgxval.c @@ -4,7 +4,7 @@ /* */ /* FreeType API for validating TrueTyepGX/AAT tables (body). */ /* */ -/* Copyright 2004-2006, 2010, 2013 by */ +/* Copyright 2004-2006, 2010, 2013, 2014 by */ /* Masatake YAMATO, Redhat K.K, */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ @@ -50,7 +50,7 @@ goto Exit; } - if ( tables == NULL ) + if ( !tables ) { error = FT_THROW( Invalid_Argument ); goto Exit; @@ -102,7 +102,7 @@ goto Exit; } - if ( ckern_table == NULL ) + if ( !ckern_table ) { error = FT_THROW( Invalid_Argument ); goto Exit; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftinit.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftinit.c index 6176273f0a6..c4c88201a16 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftinit.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftinit.c @@ -4,7 +4,7 @@ /* */ /* FreeType initialization layer (body). */ /* */ -/* Copyright 1996-2002, 2005, 2007, 2009, 2012, 2013 by */ +/* Copyright 1996-2002, 2005, 2007, 2009, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -235,6 +235,8 @@ FT_Memory memory; + /* check of `alibrary' delayed to `FT_New_Library' */ + /* First of all, allocate a new system object -- this function is part */ /* of the system-specific component, i.e. `ftsystem.c'. */ @@ -263,17 +265,19 @@ FT_EXPORT_DEF( FT_Error ) FT_Done_FreeType( FT_Library library ) { - if ( library ) - { - FT_Memory memory = library->memory; + FT_Memory memory; - /* Discard the library object */ - FT_Done_Library( library ); + if ( !library ) + return FT_THROW( Invalid_Library_Handle ); - /* discard memory manager */ - FT_Done_Memory( memory ); - } + memory = library->memory; + + /* Discard the library object */ + FT_Done_Library( library ); + + /* discard memory manager */ + FT_Done_Memory( memory ); return FT_Err_Ok; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftlcdfil.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftlcdfil.c index 852fb329828..d8bcbbf1d22 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftlcdfil.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftlcdfil.c @@ -4,7 +4,7 @@ /* */ /* FreeType API for color filtering of subpixel bitmap glyphs (body). */ /* */ -/* Copyright 2006, 2008-2010, 2013 by */ +/* Copyright 2006, 2008-2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -46,9 +46,16 @@ FT_Byte* line = bitmap->buffer; + /* take care of bitmap flow */ + if ( bitmap->pitch < 0 ) + line -= bitmap->pitch * ( bitmap->rows - 1 ); + + /* `fir' and `pix' must be at least 32 bit wide, since the sum of */ + /* the values in `weights' can exceed 0xFF */ + for ( ; height > 0; height--, line += bitmap->pitch ) { - FT_UInt fir[5]; + FT_UInt fir[4]; /* below, `pix' is used as the 5th element */ FT_UInt val1, xx; @@ -57,7 +64,6 @@ fir[1] = weights[3] * val1; fir[2] = weights[4] * val1; fir[3] = 0; - fir[4] = 0; val1 = line[1]; fir[0] += weights[1] * val1; @@ -78,7 +84,7 @@ fir[3] = weights[4] * val; pix >>= 8; - pix |= -( pix >> 8 ); + pix |= (FT_UInt)-(FT_Int)( pix >> 8 ); line[xx - 2] = (FT_Byte)pix; } @@ -87,11 +93,11 @@ pix = fir[0] >> 8; - pix |= -( pix >> 8 ); + pix |= (FT_UInt)-(FT_Int)( pix >> 8 ); line[xx - 2] = (FT_Byte)pix; pix = fir[1] >> 8; - pix |= -( pix >> 8 ); + pix |= (FT_UInt)-(FT_Int)( pix >> 8 ); line[xx - 1] = (FT_Byte)pix; } } @@ -104,10 +110,14 @@ FT_Int pitch = bitmap->pitch; + /* take care of bitmap flow */ + if ( bitmap->pitch < 0 ) + column -= bitmap->pitch * ( bitmap->rows - 1 ); + for ( ; width > 0; width--, column++ ) { FT_Byte* col = column; - FT_UInt fir[5]; + FT_UInt fir[4]; /* below, `pix' is used as the 5th element */ FT_UInt val1, yy; @@ -116,7 +126,6 @@ fir[1] = weights[3] * val1; fir[2] = weights[4] * val1; fir[3] = 0; - fir[4] = 0; col += pitch; val1 = col[0]; @@ -139,7 +148,7 @@ fir[3] = weights[4] * val; pix >>= 8; - pix |= -( pix >> 8 ); + pix |= (FT_UInt)-(FT_Int)( pix >> 8 ); col[-2 * pitch] = (FT_Byte)pix; col += pitch; } @@ -149,11 +158,11 @@ pix = fir[0] >> 8; - pix |= -( pix >> 8 ); + pix |= (FT_UInt)-(FT_Int)( pix >> 8 ); col[-2 * pitch] = (FT_Byte)pix; pix = fir[1] >> 8; - pix |= -( pix >> 8 ); + pix |= (FT_UInt)-(FT_Int)( pix >> 8 ); col[-pitch] = (FT_Byte)pix; } } @@ -189,6 +198,10 @@ FT_Byte* line = bitmap->buffer; + /* take care of bitmap flow */ + if ( bitmap->pitch < 0 ) + line -= bitmap->pitch * ( bitmap->rows - 1 ); + for ( ; height > 0; height--, line += pitch ) { FT_UInt xx; @@ -228,6 +241,10 @@ FT_Byte* column = bitmap->buffer; + /* take care of bitmap flow */ + if ( bitmap->pitch < 0 ) + column -= bitmap->pitch * ( bitmap->rows - 1 ); + for ( ; width > 0; width--, column++ ) { FT_Byte* col = column; @@ -272,7 +289,10 @@ FT_Library_SetLcdFilterWeights( FT_Library library, unsigned char *weights ) { - if ( !library || !weights ) + if ( !library ) + return FT_THROW( Invalid_Library_Handle ); + + if ( !weights ) return FT_THROW( Invalid_Argument ); ft_memcpy( library->lcd_weights, weights, 5 ); @@ -294,7 +314,7 @@ if ( !library ) - return FT_THROW( Invalid_Argument ); + return FT_THROW( Invalid_Library_Handle ); switch ( filter ) { diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftmac.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftmac.c index 9b49da81402..5301ab44fc0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftmac.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftmac.c @@ -8,7 +8,7 @@ /* This file is for Mac OS X only; see builds/mac/ftoldmac.c for */ /* classic platforms built by MPW. */ /* */ -/* Copyright 1996-2009, 2013 by */ +/* Copyright 1996-2009, 2013, 2014 by */ /* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -227,6 +227,9 @@ FT_Error err; + if ( !fontName || !face_index ) + return FT_THROW( Invalid_Argument) ; + err = FT_GetFileRef_From_Mac_ATS_Name( fontName, &ref, face_index ); if ( err ) return err; @@ -256,6 +259,9 @@ FT_Error err; + if ( !fontName || !face_index ) + return FT_THROW( Invalid_Argument ); + err = FT_GetFileRef_From_Mac_ATS_Name( fontName, &ref, face_index ); if ( err ) return err; @@ -440,9 +446,10 @@ style = (StyleTable*)p; p += sizeof ( StyleTable ); string_count = EndianS16_BtoN( *(short*)(p) ); + string_count = FT_MIN( 64, string_count ); p += sizeof ( short ); - for ( i = 0; i < string_count && i < 64; i++ ) + for ( i = 0; i < string_count; i++ ) { names[i] = p; p += names[i][0]; @@ -459,7 +466,7 @@ ps_name[ps_name_len] = 0; } if ( style->indexes[face_index] > 1 && - style->indexes[face_index] <= FT_MIN( string_count, 64 ) ) + style->indexes[face_index] <= string_count ) { unsigned char* suffixes = names[style->indexes[face_index] - 1]; @@ -852,6 +859,8 @@ FT_Error error = FT_Err_Ok; + /* check of `library' and `aface' delayed to `FT_New_Face_From_XXX' */ + GetResInfo( fond, &fond_id, &fond_type, fond_name ); if ( ResError() != noErr || fond_type != TTAG_FOND ) return FT_THROW( Invalid_File_Format ); @@ -997,10 +1006,14 @@ { FT_Error error; FT_Open_Args args; - OSErr err; - UInt8 pathname[PATH_MAX]; + + OSErr err; + UInt8 pathname[PATH_MAX]; + /* check of `library' and `aface' delayed to */ + /* `FT_New_Face_From_Resource' */ + if ( !ref ) return FT_THROW( Invalid_Argument ); @@ -1047,6 +1060,8 @@ FSRef ref; + /* check of `library' and `aface' delayed to `FT_New_Face_From_FSRef' */ + if ( !spec || FSpMakeFSRef( spec, &ref ) != noErr ) return FT_THROW( Invalid_Argument ); else diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftmm.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftmm.c index 18ff879bfc4..056680bd609 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftmm.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftmm.c @@ -4,7 +4,7 @@ /* */ /* Multiple Master font support (body). */ /* */ -/* Copyright 1996-2001, 2003, 2004, 2009, 2013 by */ +/* Copyright 1996-2001, 2003, 2004, 2009, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -72,6 +72,11 @@ FT_Service_MultiMasters service; + /* check of `face' delayed to `ft_face_get_mm_service' */ + + if ( !amaster ) + return FT_THROW( Invalid_Argument ); + error = ft_face_get_mm_service( face, &service ); if ( !error ) { @@ -94,6 +99,11 @@ FT_Service_MultiMasters service; + /* check of `face' delayed to `ft_face_get_mm_service' */ + + if ( !amaster ) + return FT_THROW( Invalid_Argument ); + error = ft_face_get_mm_service( face, &service ); if ( !error ) { @@ -117,6 +127,11 @@ FT_Service_MultiMasters service; + /* check of `face' delayed to `ft_face_get_mm_service' */ + + if ( !coords ) + return FT_THROW( Invalid_Argument ); + error = ft_face_get_mm_service( face, &service ); if ( !error ) { @@ -140,6 +155,11 @@ FT_Service_MultiMasters service; + /* check of `face' delayed to `ft_face_get_mm_service' */ + + if ( !coords ) + return FT_THROW( Invalid_Argument ); + error = ft_face_get_mm_service( face, &service ); if ( !error ) { @@ -163,6 +183,11 @@ FT_Service_MultiMasters service; + /* check of `face' delayed to `ft_face_get_mm_service' */ + + if ( !coords ) + return FT_THROW( Invalid_Argument ); + error = ft_face_get_mm_service( face, &service ); if ( !error ) { @@ -189,6 +214,11 @@ FT_Service_MultiMasters service; + /* check of `face' delayed to `ft_face_get_mm_service' */ + + if ( !coords ) + return FT_THROW( Invalid_Argument ); + error = ft_face_get_mm_service( face, &service ); if ( !error ) { diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftobjs.c index 6f323362a64..32a372b7fbd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftobjs.c @@ -408,7 +408,10 @@ FT_GlyphSlot slot = NULL; - if ( !face || !face->driver ) + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + + if ( !face->driver ) return FT_THROW( Invalid_Argument ); driver = face->driver; @@ -508,6 +511,7 @@ internal->transform_matrix.xy = 0; internal->transform_matrix.yx = 0; internal->transform_matrix.yy = 0x10000L; + matrix = &internal->transform_matrix; } else @@ -523,6 +527,7 @@ { internal->transform_delta.x = 0; internal->transform_delta.y = 0; + delta = &internal->transform_delta; } else @@ -1040,14 +1045,6 @@ ( cur[0]->platform_id == TT_PLATFORM_APPLE_UNICODE && cur[0]->encoding_id == TT_APPLE_ID_UNICODE_32 ) ) { -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( cur - first > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "find_unicode_charmap: UCS-4 cmap is found " - "at too late position (%d)\n", cur - first )); - continue; - } -#endif face->charmap = cur[0]; return FT_Err_Ok; } @@ -1062,14 +1059,6 @@ { if ( cur[0]->encoding == FT_ENCODING_UNICODE ) { -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( cur - first > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "find_unicode_charmap: UCS-2 cmap is found " - "at too late position (%d)\n", cur - first )); - continue; - } -#endif face->charmap = cur[0]; return FT_Err_Ok; } @@ -1111,17 +1100,7 @@ if ( cur[0]->platform_id == TT_PLATFORM_APPLE_UNICODE && cur[0]->encoding_id == TT_APPLE_ID_VARIANT_SELECTOR && FT_Get_CMap_Format( cur[0] ) == 14 ) - { -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( cur - first > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "find_unicode_charmap: UVS cmap is found " - "at too late position (%d)\n", cur - first )); - continue; - } -#endif return cur[0]; - } } return NULL; @@ -1243,7 +1222,7 @@ FT_Open_Args args; - /* test for valid `library' and `aface' delayed to FT_Open_Face() */ + /* test for valid `library' and `aface' delayed to `FT_Open_Face' */ if ( !pathname ) return FT_THROW( Invalid_Argument ); @@ -1269,7 +1248,7 @@ FT_Open_Args args; - /* test for valid `library' and `face' delayed to FT_Open_Face() */ + /* test for valid `library' and `face' delayed to `FT_Open_Face' */ if ( !file_base ) return FT_THROW( Invalid_Argument ); @@ -1583,9 +1562,9 @@ FT_Memory memory = library->memory; FT_Byte* pfb_data = NULL; int i, type, flags; - FT_Long len; - FT_Long pfb_len, pfb_pos, pfb_lenpos; - FT_Long rlen, temp; + FT_ULong len; + FT_ULong pfb_len, pfb_pos, pfb_lenpos; + FT_ULong rlen, temp; if ( face_index == -1 ) @@ -1601,11 +1580,34 @@ error = FT_Stream_Seek( stream, offsets[i] ); if ( error ) goto Exit; - if ( FT_READ_LONG( temp ) ) + if ( FT_READ_ULONG( temp ) ) + goto Exit; + + /* FT2 allocator takes signed long buffer length, + * too large value causing overflow should be checked + */ + FT_TRACE4(( " POST fragment #%d: length=0x%08x\n", + i, temp)); + if ( 0x7FFFFFFFUL < temp || pfb_len + temp + 6 < pfb_len ) + { + FT_TRACE2(( " too long fragment length makes" + " pfb_len confused: temp=0x%08x\n", temp )); + error = FT_THROW( Invalid_Offset ); goto Exit; + } + pfb_len += temp + 6; } + FT_TRACE2(( " total buffer size to concatenate %d" + " POST fragments: 0x%08x\n", + resource_cnt, pfb_len + 2)); + if ( pfb_len + 2 < 6 ) { + FT_TRACE2(( " too long fragment length makes" + " pfb_len confused: pfb_len=0x%08x\n", pfb_len )); + error = FT_THROW( Array_Too_Large ); + goto Exit; + } if ( FT_ALLOC( pfb_data, (FT_Long)pfb_len + 2 ) ) goto Exit; @@ -1625,16 +1627,30 @@ error = FT_Stream_Seek( stream, offsets[i] ); if ( error ) goto Exit2; - if ( FT_READ_LONG( rlen ) ) - goto Exit; + if ( FT_READ_ULONG( rlen ) ) + goto Exit2; + + /* FT2 allocator takes signed long buffer length, + * too large fragment length causing overflow should be checked + */ + if ( 0x7FFFFFFFUL < rlen ) + { + error = FT_THROW( Invalid_Offset ); + goto Exit2; + } + if ( FT_READ_USHORT( flags ) ) - goto Exit; + goto Exit2; FT_TRACE3(( "POST fragment[%d]: offsets=0x%08x, rlen=0x%08x, flags=0x%04x\n", i, offsets[i], rlen, flags )); + error = FT_ERR( Array_Too_Large ); /* postpone the check of rlen longer than buffer until FT_Stream_Read() */ if ( ( flags >> 8 ) == 0 ) /* Comment, should not be loaded */ + { + FT_TRACE3(( " Skip POST fragment #%d because it is a comment\n", i )); continue; + } /* the flags are part of the resource, so rlen >= 2. */ /* but some fonts declare rlen = 0 for empty fragment */ @@ -1647,6 +1663,8 @@ len += rlen; else { + FT_TRACE3(( " Write POST fragment #%d header (4-byte) to buffer" + " 0x%p + 0x%08x\n", i, pfb_data, pfb_lenpos )); if ( pfb_lenpos + 3 > pfb_len + 2 ) goto Exit2; pfb_data[pfb_lenpos ] = (FT_Byte)( len ); @@ -1657,6 +1675,8 @@ if ( ( flags >> 8 ) == 5 ) /* End of font mark */ break; + FT_TRACE3(( " Write POST fragment #%d header (6-byte) to buffer" + " 0x%p + 0x%08x\n", i, pfb_data, pfb_pos )); if ( pfb_pos + 6 > pfb_len + 2 ) goto Exit2; pfb_data[pfb_pos++] = 0x80; @@ -1672,16 +1692,18 @@ pfb_data[pfb_pos++] = 0; } - error = FT_ERR( Cannot_Open_Resource ); if ( pfb_pos > pfb_len || pfb_pos + rlen > pfb_len ) goto Exit2; + FT_TRACE3(( " Load POST fragment #%d (%d byte) to buffer" + " 0x%p + 0x%08x\n", i, rlen, pfb_data, pfb_pos )); error = FT_Stream_Read( stream, (FT_Byte *)pfb_data + pfb_pos, rlen ); if ( error ) goto Exit2; pfb_pos += rlen; } + error = FT_ERR( Array_Too_Large ); if ( pfb_pos + 2 > pfb_len + 2 ) goto Exit2; pfb_data[pfb_pos++] = 0x80; @@ -1702,6 +1724,13 @@ aface ); Exit2: + if ( error == FT_ERR( Array_Too_Large ) ) + FT_TRACE2(( " Abort due to too-short buffer to store" + " all POST fragments\n" )); + else if ( error == FT_ERR( Invalid_Offset ) ) + FT_TRACE2(( " Abort due to invalid offset in a POST fragment\n" )); + if ( error ) + error = FT_ERR( Cannot_Open_Resource ); FT_FREE( pfb_data ); Exit: @@ -2049,8 +2078,7 @@ FT_Module* limit; - /* test for valid `library' delayed to */ - /* FT_Stream_New() */ + /* test for valid `library' delayed to `FT_Stream_New' */ if ( ( !aface && face_index >= 0 ) || !args ) return FT_THROW( Invalid_Argument ); @@ -2297,7 +2325,7 @@ FT_Open_Args open; - /* test for valid `face' delayed to FT_Attach_Stream() */ + /* test for valid `face' delayed to `FT_Attach_Stream' */ if ( !filepathname ) return FT_THROW( Invalid_Argument ); @@ -2323,7 +2351,7 @@ FT_Driver_Class clazz; - /* test for valid `parameters' delayed to FT_Stream_New() */ + /* test for valid `parameters' delayed to `FT_Stream_New' */ if ( !face ) return FT_THROW( Invalid_Face_Handle ); @@ -2359,6 +2387,9 @@ FT_EXPORT_DEF( FT_Error ) FT_Reference_Face( FT_Face face ) { + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + face->internal->refcount++; return FT_Err_Ok; @@ -2425,7 +2456,7 @@ return FT_THROW( Invalid_Face_Handle ); if ( !asize ) - return FT_THROW( Invalid_Size_Handle ); + return FT_THROW( Invalid_Argument ); if ( !face->driver ) return FT_THROW( Invalid_Driver_Handle ); @@ -2934,6 +2965,8 @@ FT_Size_RequestRec req; + /* check of `face' delayed to `FT_Request_Size' */ + if ( !char_width ) char_width = char_height; else if ( !char_height ) @@ -2972,6 +3005,8 @@ FT_Size_RequestRec req; + /* check of `face' delayed to `FT_Request_Size' */ + if ( pixel_width == 0 ) pixel_width = pixel_height; else if ( pixel_height == 0 ) @@ -3122,15 +3157,6 @@ { if ( cur[0]->encoding == encoding ) { -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( cur - face->charmaps > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "FT_Select_Charmap: requested charmap is found (%d), " - "but in too late position to cache\n", - cur - face->charmaps )); - continue; - } -#endif face->charmap = cur[0]; return 0; } @@ -3154,8 +3180,9 @@ return FT_THROW( Invalid_Face_Handle ); cur = face->charmaps; - if ( !cur ) + if ( !cur || !charmap ) return FT_THROW( Invalid_CharMap_Handle ); + if ( FT_Get_CMap_Format( charmap ) == 14 ) return FT_THROW( Invalid_Argument ); @@ -3165,19 +3192,11 @@ { if ( cur[0] == charmap ) { -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( cur - face->charmaps > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "FT_Set_Charmap: requested charmap is found (%d), " - "but in too late position to cache\n", - cur - face->charmaps )); - continue; - } -#endif face->charmap = cur[0]; - return 0; + return FT_Err_Ok; } } + return FT_THROW( Invalid_Argument ); } @@ -3199,15 +3218,6 @@ FT_ASSERT( i < charmap->face->num_charmaps ); -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( i > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "FT_Get_Charmap_Index: requested charmap is found (%d), " - "but in too late position to cache\n", - i )); - return -i; - } -#endif return i; } @@ -3418,8 +3428,9 @@ FT_UInt result = 0; - if ( face && face->charmap && - face->charmap->encoding == FT_ENCODING_UNICODE ) + if ( face && + face->charmap && + face->charmap->encoding == FT_ENCODING_UNICODE ) { FT_CharMap charmap = find_variant_selector_charmap( face ); FT_CMap ucmap = FT_CMAP( face->charmap ); @@ -3597,7 +3608,9 @@ FT_UInt result = 0; - if ( face && FT_HAS_GLYPH_NAMES( face ) ) + if ( face && + FT_HAS_GLYPH_NAMES( face ) && + glyph_name ) { FT_Service_GlyphDict service; @@ -3622,27 +3635,28 @@ FT_Pointer buffer, FT_UInt buffer_max ) { - FT_Error error = FT_ERR( Invalid_Argument ); + FT_Error error; + FT_Service_GlyphDict service; - /* clean up buffer */ - if ( buffer && buffer_max > 0 ) - ((FT_Byte*)buffer)[0] = 0; + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); - if ( face && - (FT_Long)glyph_index <= face->num_glyphs && - FT_HAS_GLYPH_NAMES( face ) ) - { - FT_Service_GlyphDict service; + if ( !buffer || buffer_max == 0 ) + return FT_THROW( Invalid_Argument ); + /* clean up buffer */ + ((FT_Byte*)buffer)[0] = '\0'; - FT_FACE_LOOKUP_SERVICE( face, - service, - GLYPH_DICT ); + if ( (FT_Long)glyph_index > face->num_glyphs || + !FT_HAS_GLYPH_NAMES( face ) ) + return FT_THROW( Invalid_Argument ); - if ( service && service->get_name ) - error = service->get_name( face, glyph_index, buffer, buffer_max ); - } + FT_FACE_LOOKUP_SERVICE( face, service, GLYPH_DICT ); + if ( service && service->get_name ) + error = service->get_name( face, glyph_index, buffer, buffer_max ); + else + error = FT_THROW( Invalid_Argument ); return error; } @@ -3683,7 +3697,7 @@ FT_Get_Sfnt_Table( FT_Face face, FT_Sfnt_Tag tag ) { - void* table = 0; + void* table = NULL; FT_Service_SFNT_Table service; @@ -3733,6 +3747,8 @@ FT_ULong offset; + /* test for valid `length' delayed to `service->table_info' */ + if ( !face || !FT_IS_SFNT( face ) ) return FT_THROW( Invalid_Face_Handle ); @@ -3800,12 +3816,12 @@ FT_Face face; - if ( size == NULL ) - return FT_THROW( Invalid_Argument ); + if ( !size ) + return FT_THROW( Invalid_Size_Handle ); face = size->face; - if ( face == NULL || face->driver == NULL ) - return FT_THROW( Invalid_Argument ); + if ( !face || !face->driver ) + return FT_THROW( Invalid_Face_Handle ); /* we don't need anything more complex than that; all size objects */ /* are already listed by the face */ @@ -3984,7 +4000,7 @@ FT_Get_Renderer( FT_Library library, FT_Glyph_Format format ) { - /* test for valid `library' delayed to FT_Lookup_Renderer() */ + /* test for valid `library' delayed to `FT_Lookup_Renderer' */ return FT_Lookup_Renderer( library, format, 0 ); } @@ -4001,12 +4017,26 @@ FT_ListNode node; FT_Error error = FT_Err_Ok; + FT_Renderer_SetModeFunc set_mode; + if ( !library ) - return FT_THROW( Invalid_Library_Handle ); + { + error = FT_THROW( Invalid_Library_Handle ); + goto Exit; + } if ( !renderer ) - return FT_THROW( Invalid_Argument ); + { + error = FT_THROW( Invalid_Argument ); + goto Exit; + } + + if ( num_params > 0 && !parameters ) + { + error = FT_THROW( Invalid_Argument ); + goto Exit; + } node = FT_List_Find( &library->renderers, renderer ); if ( !node ) @@ -4020,18 +4050,14 @@ if ( renderer->glyph_format == FT_GLYPH_FORMAT_OUTLINE ) library->cur_renderer = renderer; - if ( num_params > 0 ) - { - FT_Renderer_SetModeFunc set_mode = renderer->clazz->set_mode; - + set_mode = renderer->clazz->set_mode; - for ( ; num_params > 0; num_params-- ) - { - error = set_mode( renderer, parameters->tag, parameters->data ); - if ( error ) - break; - parameters++; - } + for ( ; num_params > 0; num_params-- ) + { + error = set_mode( renderer, parameters->tag, parameters->data ); + if ( error ) + break; + parameters++; } Exit: @@ -4090,7 +4116,11 @@ /* if we changed the current renderer for the glyph image format */ /* we need to select it as the next current one */ if ( !error && update && renderer ) - FT_Set_Renderer( library, renderer, 0, 0 ); + { + error = FT_Set_Renderer( library, renderer, 0, 0 ); + if ( error ) + break; + } } } @@ -4100,6 +4130,7 @@ #define FT_COMPONENT trace_bitmap /* we convert to a single bitmap format for computing the checksum */ + if ( !error ) { FT_Bitmap bitmap; FT_Error err; @@ -4107,6 +4138,7 @@ FT_Bitmap_New( &bitmap ); + /* this also converts the bitmap flow to `down' (i.e., pitch > 0) */ err = FT_Bitmap_Convert( library, &slot->bitmap, &bitmap, 1 ); if ( !err ) { @@ -4348,7 +4380,7 @@ FT_Get_Module( FT_Library library, const char* module_name ) { - FT_Module result = 0; + FT_Module result = NULL; FT_Module* cur; FT_Module* limit; @@ -4603,6 +4635,9 @@ FT_EXPORT_DEF( FT_Error ) FT_Reference_Library( FT_Library library ) { + if ( !library ) + return FT_THROW( Invalid_Library_Handle ); + library->refcount++; return FT_Err_Ok; @@ -4619,7 +4654,7 @@ FT_Error error; - if ( !memory ) + if ( !memory || !alibrary ) return FT_THROW( Invalid_Argument ); #ifdef FT_DEBUG_LEVEL_ERROR @@ -4881,6 +4916,8 @@ *p_arg1 = subg->arg1; *p_arg2 = subg->arg2; *p_transform = subg->transform; + + error = FT_Err_Ok; } return error; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftotval.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftotval.c index 5fc73d76ab3..5fc73d76ab3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftotval.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftotval.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftoutln.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftoutln.c index 4a39dcd7c07..8749d64ce79 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftoutln.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftoutln.c @@ -73,7 +73,10 @@ FT_Pos delta; - if ( !outline || !func_interface ) + if ( !outline ) + return FT_THROW( Invalid_Outline ); + + if ( !func_interface ) return FT_THROW( Invalid_Argument ); shift = func_interface->shift; @@ -362,7 +365,7 @@ /* empty glyph? */ if ( n_points == 0 && n_contours == 0 ) - return 0; + return FT_Err_Ok; /* check point and contour counts */ if ( n_points <= 0 || n_contours <= 0 ) @@ -384,7 +387,7 @@ goto Bad; /* XXX: check the tags array */ - return 0; + return FT_Err_Ok; } Bad: @@ -401,8 +404,10 @@ FT_Int is_owner; - if ( !source || !target || - source->n_points != target->n_points || + if ( !source || !target ) + return FT_THROW( Invalid_Outline ); + + if ( source->n_points != target->n_points || source->n_contours != target->n_contours ) return FT_THROW( Invalid_Argument ); @@ -430,20 +435,21 @@ FT_Outline_Done_Internal( FT_Memory memory, FT_Outline* outline ) { - if ( memory && outline ) - { - if ( outline->flags & FT_OUTLINE_OWNER ) - { - FT_FREE( outline->points ); - FT_FREE( outline->tags ); - FT_FREE( outline->contours ); - } - *outline = null_outline; + if ( !outline ) + return FT_THROW( Invalid_Outline ); - return FT_Err_Ok; - } - else + if ( !memory ) return FT_THROW( Invalid_Argument ); + + if ( outline->flags & FT_OUTLINE_OWNER ) + { + FT_FREE( outline->points ); + FT_FREE( outline->tags ); + FT_FREE( outline->contours ); + } + *outline = null_outline; + + return FT_Err_Ok; } @@ -614,7 +620,10 @@ if ( !library ) return FT_THROW( Invalid_Library_Handle ); - if ( !outline || !params ) + if ( !outline ) + return FT_THROW( Invalid_Outline ); + + if ( !params ) return FT_THROW( Invalid_Argument ); renderer = library->cur_renderer; @@ -643,7 +652,7 @@ /* if we changed the current renderer for the glyph image format */ /* we need to select it as the next current one */ if ( !error && update && renderer ) - FT_Set_Renderer( library, renderer, 0, 0 ); + error = FT_Set_Renderer( library, renderer, 0, 0 ); return error; } @@ -662,7 +671,7 @@ if ( !abitmap ) return FT_THROW( Invalid_Argument ); - /* other checks are delayed to FT_Outline_Render() */ + /* other checks are delayed to `FT_Outline_Render' */ params.target = abitmap; params.flags = 0; @@ -911,7 +920,7 @@ if ( !outline ) - return FT_THROW( Invalid_Argument ); + return FT_THROW( Invalid_Outline ); xstrength /= 2; ystrength /= 2; @@ -1045,6 +1054,10 @@ FT_Outline_Get_CBox( outline, &cbox ); + /* Handle collapsed outlines to avoid undefined FT_MSB. */ + if ( cbox.xMin == cbox.xMax || cbox.yMin == cbox.yMax ) + return FT_ORIENTATION_NONE; + xshift = FT_MSB( FT_ABS( cbox.xMax ) | FT_ABS( cbox.xMin ) ) - 14; xshift = FT_MAX( xshift, 0 ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpatent.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpatent.c index 82b42f03438..82b42f03438 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpatent.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpatent.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpfr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpfr.c index 0ba955f01fb..7425abe33c2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpfr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpfr.c @@ -4,7 +4,7 @@ /* */ /* FreeType API for accessing PFR-specific data (body). */ /* */ -/* Copyright 2002-2004, 2008, 2010, 2013 by */ +/* Copyright 2002-2004, 2008, 2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -50,7 +50,7 @@ if ( !face ) - return FT_THROW( Invalid_Argument ); + return FT_THROW( Invalid_Face_Handle ); service = ft_pfr_check( face ); if ( service ) @@ -106,6 +106,9 @@ if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + + if ( !avector ) return FT_THROW( Invalid_Argument ); service = ft_pfr_check( face ); @@ -130,11 +133,15 @@ FT_Service_PfrMetrics service; + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + + if ( !aadvance ) + return FT_THROW( Invalid_Argument ); + service = ft_pfr_check( face ); if ( service ) - { error = service->get_advance( face, gindex, aadvance ); - } else /* XXX: TODO: PROVIDE ADVANCE-LOADING METHOD TO ALL FONT DRIVERS */ error = FT_THROW( Invalid_Argument ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpic.c index 9bd92f785a1..9bd92f785a1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftrfork.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftrfork.c index 5352970389a..5352970389a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftrfork.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftrfork.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsnames.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsnames.c index 260e91c148e..260e91c148e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsnames.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsnames.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftstream.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftstream.c index d965333daa2..759fd8fc07a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftstream.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftstream.c @@ -728,9 +728,12 @@ FT_Byte* cursor; - if ( !fields || !stream ) + if ( !fields ) return FT_THROW( Invalid_Argument ); + if ( !stream ) + return FT_THROW( Invalid_Stream_Handle ); + cursor = stream->cursor; error = FT_Err_Ok; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftstroke.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftstroke.c index ee61ceca0eb..d123e0274c8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftstroke.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftstroke.c @@ -4,7 +4,7 @@ /* */ /* FreeType path stroker (body). */ /* */ -/* Copyright 2002-2006, 2008-2011, 2013 by */ +/* Copyright 2002-2006, 2008-2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -795,6 +795,9 @@ if ( !library ) + return FT_THROW( Invalid_Library_Handle ); + + if ( !astroker ) return FT_THROW( Invalid_Argument ); memory = library->memory; @@ -822,6 +825,9 @@ FT_Stroker_LineJoin line_join, FT_Fixed miter_limit ) { + if ( !stroker ) + return; + stroker->radius = radius; stroker->line_cap = line_cap; stroker->line_join = line_join; @@ -1002,7 +1008,8 @@ FT_Tan( theta ) ) ); - intersect = FT_BOOL( stroker->line_length >= min_length && + intersect = FT_BOOL( min_length && + stroker->line_length >= min_length && line_length >= min_length ); } @@ -1287,6 +1294,9 @@ FT_Fixed line_length; + if ( !stroker || !to ) + return FT_THROW( Invalid_Argument ); + delta.x = to->x - stroker->center.x; delta.y = to->y - stroker->center.y; @@ -1360,6 +1370,12 @@ FT_Bool first_arc = TRUE; + if ( !stroker || !control || !to ) + { + error = FT_THROW( Invalid_Argument ); + goto Exit; + } + /* if all control points are coincident, this is a no-op; */ /* avoid creating a spurious corner */ if ( FT_IS_SMALL( stroker->center.x - control->x ) && @@ -1556,6 +1572,12 @@ FT_Bool first_arc = TRUE; + if ( !stroker || !control1 || !control2 || !to ) + { + error = FT_THROW( Invalid_Argument ); + goto Exit; + } + /* if all control points are coincident, this is a no-op; */ /* avoid creating a spurious corner */ if ( FT_IS_SMALL( stroker->center.x - control1->x ) && @@ -1758,6 +1780,9 @@ FT_Vector* to, FT_Bool open ) { + if ( !stroker || !to ) + return FT_THROW( Invalid_Argument ); + /* We cannot process the first point, because there is not enough */ /* information regarding its corner/cap. The latter will be processed */ /* in the `FT_Stroker_EndSubPath' routine. */ @@ -1858,6 +1883,12 @@ FT_Error error = FT_Err_Ok; + if ( !stroker ) + { + error = FT_THROW( Invalid_Argument ); + goto Exit; + } + if ( stroker->subpath_open ) { FT_StrokeBorder right = stroker->borders; @@ -1983,6 +2014,12 @@ FT_Error error; + if ( !stroker ) + { + error = FT_THROW( Invalid_Argument ); + goto Exit; + } + error = ft_stroke_border_get_counts( stroker->borders + 0, &count1, &count2 ); if ( error ) @@ -1997,8 +2034,12 @@ num_contours = count2 + count4; Exit: - *anum_points = num_points; - *anum_contours = num_contours; + if ( anum_points ) + *anum_points = num_points; + + if ( anum_contours ) + *anum_contours = num_contours; + return error; } @@ -2010,6 +2051,9 @@ FT_StrokerBorder border, FT_Outline* outline ) { + if ( !stroker || !outline ) + return; + if ( border == FT_STROKER_BORDER_LEFT || border == FT_STROKER_BORDER_RIGHT ) { @@ -2059,7 +2103,10 @@ FT_Int tag; /* current point's state */ - if ( !outline || !stroker ) + if ( !outline ) + return FT_THROW( Invalid_Outline ); + + if ( !stroker ) return FT_THROW( Invalid_Argument ); FT_Stroker_Rewind( stroker ); @@ -2258,18 +2305,20 @@ FT_Stroker stroker, FT_Bool destroy ) { - FT_Error error = FT_ERR( Invalid_Argument ); - FT_Glyph glyph = NULL; + FT_Error error = FT_ERR( Invalid_Argument ); + FT_Glyph glyph = NULL; + + /* for FT_OUTLINE_GLYPH_CLASS_GET (in PIC mode) */ FT_Library library = stroker->library; FT_UNUSED( library ); - if ( pglyph == NULL ) + if ( !pglyph ) goto Exit; glyph = *pglyph; - if ( glyph == NULL || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET ) + if ( !glyph || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET ) goto Exit; { @@ -2293,7 +2342,7 @@ if ( error ) goto Fail; - (void)FT_Stroker_GetCounts( stroker, &num_points, &num_contours ); + FT_Stroker_GetCounts( stroker, &num_points, &num_contours ); FT_Outline_Done( glyph->library, outline ); @@ -2334,18 +2383,20 @@ FT_Bool inside, FT_Bool destroy ) { - FT_Error error = FT_ERR( Invalid_Argument ); - FT_Glyph glyph = NULL; + FT_Error error = FT_ERR( Invalid_Argument ); + FT_Glyph glyph = NULL; + + /* for FT_OUTLINE_GLYPH_CLASS_GET (in PIC mode) */ FT_Library library = stroker->library; FT_UNUSED( library ); - if ( pglyph == NULL ) + if ( !pglyph ) goto Exit; glyph = *pglyph; - if ( glyph == NULL || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET ) + if ( !glyph || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET ) goto Exit; { @@ -2379,8 +2430,8 @@ if ( error ) goto Fail; - (void)FT_Stroker_GetBorderCounts( stroker, border, - &num_points, &num_contours ); + FT_Stroker_GetBorderCounts( stroker, border, + &num_points, &num_contours ); FT_Outline_Done( glyph->library, outline ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsynth.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsynth.c index 3098a60fa89..0567bd537a4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsynth.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsynth.c @@ -4,7 +4,7 @@ /* */ /* FreeType synthesizing code for emboldening and slanting (body). */ /* */ -/* Copyright 2000-2006, 2010, 2012, 2013 by */ +/* Copyright 2000-2006, 2010, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -48,9 +48,14 @@ FT_GlyphSlot_Oblique( FT_GlyphSlot slot ) { FT_Matrix transform; - FT_Outline* outline = &slot->outline; + FT_Outline* outline; + if ( !slot ) + return; + + outline = &slot->outline; + /* only oblique outline glyphs */ if ( slot->format != FT_GLYPH_FORMAT_OUTLINE ) return; @@ -84,12 +89,18 @@ FT_EXPORT_DEF( void ) FT_GlyphSlot_Embolden( FT_GlyphSlot slot ) { - FT_Library library = slot->library; - FT_Face face = slot->face; + FT_Library library; + FT_Face face; FT_Error error; FT_Pos xstr, ystr; + if ( !slot ) + return; + + library = slot->library; + face = slot->face; + if ( slot->format != FT_GLYPH_FORMAT_OUTLINE && slot->format != FT_GLYPH_FORMAT_BITMAP ) return; @@ -100,10 +111,8 @@ ystr = xstr; if ( slot->format == FT_GLYPH_FORMAT_OUTLINE ) - { - /* ignore error */ - (void)FT_Outline_EmboldenXY( &slot->outline, xstr, ystr ); - } + FT_Outline_EmboldenXY( &slot->outline, xstr, ystr ); + else /* slot->format == FT_GLYPH_FORMAT_BITMAP */ { /* round to full pixels */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsystem.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsystem.c index 2c6ddac10c2..2c6ddac10c2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftsystem.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftsystem.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/fttrigon.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/fttrigon.c index 4ffdcb77f1b..9b2ccd5d61a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/fttrigon.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/fttrigon.c @@ -4,7 +4,7 @@ /* */ /* FreeType trigonometric functions (body). */ /* */ -/* Copyright 2001-2005, 2012-2013 by */ +/* Copyright 2001-2005, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -45,7 +45,7 @@ /* this table was generated for FT_PI = 180L << 16, i.e. degrees */ #define FT_TRIG_MAX_ITERS 23 - static const FT_Fixed + static const FT_Angle ft_trig_arctan_table[] = { 1740967L, 919879L, 466945L, 234379L, 117304L, 58666L, 29335L, @@ -60,15 +60,18 @@ static FT_Fixed ft_trig_downscale( FT_Fixed val ) { - FT_Fixed s; - FT_Int64 v; + FT_Int s = 1; - s = val; - val = FT_ABS( val ); + if ( val < 0 ) + { + val = -val; + s = -1; + } - v = ( val * (FT_Int64)FT_TRIG_SCALE ) + 0x100000000UL; - val = (FT_Fixed)( v >> 32 ); + /* 0x40000000 comes from regression analysis between true */ + /* and CORDIC hypotenuse, so it minimizes the error */ + val = (FT_Fixed)( ( (FT_Int64)val * FT_TRIG_SCALE + 0x40000000UL ) >> 32 ); return ( s >= 0 ) ? val : -val; } @@ -79,29 +82,43 @@ static FT_Fixed ft_trig_downscale( FT_Fixed val ) { - FT_Fixed s; - FT_UInt32 v1, v2, k1, k2, hi, lo1, lo2, lo3; + FT_Int s = 1; + FT_UInt32 lo1, hi1, lo2, hi2, lo, hi, i1, i2; + + + if ( val < 0 ) + { + val = -val; + s = -1; + } + lo1 = val & 0x0000FFFFU; + hi1 = val >> 16; + lo2 = FT_TRIG_SCALE & 0x0000FFFFU; + hi2 = FT_TRIG_SCALE >> 16; - s = val; - val = FT_ABS( val ); + lo = lo1 * lo2; + i1 = lo1 * hi2; + i2 = lo2 * hi1; + hi = hi1 * hi2; - v1 = (FT_UInt32)val >> 16; - v2 = (FT_UInt32)( val & 0xFFFFL ); + /* Check carry overflow of i1 + i2 */ + i1 += i2; + hi += (FT_UInt32)( i1 < i2 ) << 16; - k1 = (FT_UInt32)FT_TRIG_SCALE >> 16; /* constant */ - k2 = (FT_UInt32)( FT_TRIG_SCALE & 0xFFFFL ); /* constant */ + hi += i1 >> 16; + i1 = i1 << 16; - hi = k1 * v1; - lo1 = k1 * v2 + k2 * v1; /* can't overflow */ + /* Check carry overflow of i1 + lo */ + lo += i1; + hi += ( lo < i1 ); - lo2 = ( k2 * v2 ) >> 16; - lo3 = FT_MAX( lo1, lo2 ); - lo1 += lo2; + /* 0x40000000 comes from regression analysis between true */ + /* and CORDIC hypotenuse, so it minimizes the error */ - hi += lo1 >> 16; - if ( lo1 < lo3 ) - hi += (FT_UInt32)0x10000UL; + /* Check carry overflow of lo + 0x40000000 */ + lo += 0x40000000U; + hi += ( lo < 0x40000000U ); val = (FT_Fixed)hi; @@ -111,6 +128,7 @@ #endif /* !FT_LONG64 */ + /* undefined and never called for zero vector */ static FT_Int ft_trig_prenorm( FT_Vector* vec ) { @@ -147,7 +165,7 @@ { FT_Int i; FT_Fixed x, y, xtemp, b; - const FT_Fixed *arctanptr; + const FT_Angle *arctanptr; x = vec->x; @@ -202,7 +220,7 @@ FT_Angle theta; FT_Int i; FT_Fixed x, y, xtemp, b; - const FT_Fixed *arctanptr; + const FT_Angle *arctanptr; x = vec->x; @@ -261,11 +279,12 @@ } } - /* round theta */ + /* round theta to acknowledge its error that mostly comes */ + /* from accumulated rounding errors in the arctan table */ if ( theta >= 0 ) - theta = FT_PAD_ROUND( theta, 32 ); + theta = FT_PAD_ROUND( theta, 16 ); else - theta = -FT_PAD_ROUND( -theta, 32 ); + theta = -FT_PAD_ROUND( -theta, 16 ); vec->x = x; vec->y = theta; @@ -340,6 +359,9 @@ FT_Vector_Unit( FT_Vector* vec, FT_Angle angle ) { + if ( !vec ) + return; + vec->x = FT_TRIG_SCALE >> 8; vec->y = 0; ft_trig_pseudo_rotate( vec, angle ); @@ -366,6 +388,9 @@ FT_Vector v; + if ( !vec ) + return; + v.x = vec->x; v.y = vec->y; @@ -403,6 +428,9 @@ FT_Vector v; + if ( !vec ) + return 0; + v = *vec; /* handle trivial cases */ @@ -439,6 +467,9 @@ FT_Vector v; + if ( !vec || !length || !angle ) + return; + v = *vec; if ( v.x == 0 && v.y == 0 ) @@ -462,6 +493,9 @@ FT_Fixed length, FT_Angle angle ) { + if ( !vec ) + return; + vec->x = length; vec->y = 0; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/fttype1.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/fttype1.c index c1f9931dbba..47af19afb04 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/fttype1.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/fttype1.c @@ -4,7 +4,7 @@ /* */ /* FreeType utility file for PS names support (body). */ /* */ -/* Copyright 2002-2004, 2011 by */ +/* Copyright 2002-2004, 2011, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -17,6 +17,7 @@ #include <ft2build.h> +#include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_OBJECTS_H #include FT_INTERNAL_SERVICE_H #include FT_SERVICE_POSTSCRIPT_INFO_H @@ -28,19 +29,22 @@ FT_Get_PS_Font_Info( FT_Face face, PS_FontInfoRec* afont_info ) { - FT_Error error = FT_ERR( Invalid_Argument ); + FT_Error error; + FT_Service_PsInfo service; - if ( face ) - { - FT_Service_PsInfo service = NULL; + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + if ( !afont_info ) + return FT_THROW( Invalid_Argument ); - FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); + FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); - if ( service && service->ps_get_font_info ) - error = service->ps_get_font_info( face, afont_info ); - } + if ( service && service->ps_get_font_info ) + error = service->ps_get_font_info( face, afont_info ); + else + error = FT_THROW( Invalid_Argument ); return error; } @@ -51,8 +55,8 @@ FT_EXPORT_DEF( FT_Int ) FT_Has_PS_Glyph_Names( FT_Face face ) { - FT_Int result = 0; - FT_Service_PsInfo service = NULL; + FT_Int result = 0; + FT_Service_PsInfo service; if ( face ) @@ -73,19 +77,22 @@ FT_Get_PS_Font_Private( FT_Face face, PS_PrivateRec* afont_private ) { - FT_Error error = FT_ERR( Invalid_Argument ); + FT_Error error; + FT_Service_PsInfo service; - if ( face ) - { - FT_Service_PsInfo service = NULL; + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); + if ( !afont_private ) + return FT_THROW( Invalid_Argument ); - FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); + FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO ); - if ( service && service->ps_get_font_private ) - error = service->ps_get_font_private( face, afont_private ); - } + if ( service && service->ps_get_font_private ) + error = service->ps_get_font_private( face, afont_private ); + else + error = FT_THROW( Invalid_Argument ); return error; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftutil.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftutil.c index 879d0275291..56e2800eb6b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftutil.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftutil.c @@ -245,6 +245,9 @@ FT_ListNode cur; + if ( !list ) + return NULL; + cur = list->head; while ( cur ) { @@ -254,7 +257,7 @@ cur = cur->next; } - return (FT_ListNode)0; + return NULL; } @@ -264,8 +267,13 @@ FT_List_Add( FT_List list, FT_ListNode node ) { - FT_ListNode before = list->tail; + FT_ListNode before; + + + if ( !list || !node ) + return; + before = list->tail; node->next = 0; node->prev = before; @@ -285,8 +293,13 @@ FT_List_Insert( FT_List list, FT_ListNode node ) { - FT_ListNode after = list->head; + FT_ListNode after; + + + if ( !list || !node ) + return; + after = list->head; node->next = after; node->prev = 0; @@ -309,6 +322,9 @@ FT_ListNode before, after; + if ( !list || !node ) + return; + before = node->prev; after = node->next; @@ -333,6 +349,9 @@ FT_ListNode before, after; + if ( !list || !node ) + return; + before = node->prev; after = node->next; @@ -357,14 +376,19 @@ /* documentation is in ftlist.h */ FT_EXPORT_DEF( FT_Error ) - FT_List_Iterate( FT_List list, - FT_List_Iterator iterator, - void* user ) + FT_List_Iterate( FT_List list, + FT_List_Iterator iterator, + void* user ) { - FT_ListNode cur = list->head; + FT_ListNode cur; FT_Error error = FT_Err_Ok; + if ( !list || !iterator ) + return FT_THROW( Invalid_Argument ); + + cur = list->head; + while ( cur ) { FT_ListNode next = cur->next; @@ -392,6 +416,9 @@ FT_ListNode cur; + if ( !list || !memory ) + return; + cur = list->head; while ( cur ) { @@ -411,26 +438,4 @@ } - FT_BASE_DEF( FT_UInt32 ) - ft_highpow2( FT_UInt32 value ) - { - FT_UInt32 value2; - - - /* - * We simply clear the lowest bit in each iteration. When - * we reach 0, we know that the previous value was our result. - */ - for ( ;; ) - { - value2 = value & (value - 1); /* clear lowest bit */ - if ( value2 == 0 ) - break; - - value = value2; - } - return value; - } - - /* END */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftwinfnt.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftwinfnt.c index 463ae761d8f..8e337fbe530 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftwinfnt.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftwinfnt.c @@ -4,7 +4,7 @@ /* */ /* FreeType API for accessing Windows FNT specific info (body). */ /* */ -/* Copyright 2003, 2004 by */ +/* Copyright 2003, 2004, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -17,6 +17,7 @@ #include <ft2build.h> +#include FT_INTERNAL_DEBUG_H #include FT_WINFONTS_H #include FT_INTERNAL_OBJECTS_H #include FT_SERVICE_WINFNT_H @@ -32,17 +33,18 @@ FT_Error error; - error = FT_ERR( Invalid_Argument ); + if ( !face ) + return FT_THROW( Invalid_Face_Handle ); - if ( face != NULL ) - { - FT_FACE_LOOKUP_SERVICE( face, service, WINFNT ); + if ( !header ) + return FT_THROW( Invalid_Argument ); - if ( service != NULL ) - { - error = service->get_header( face, header ); - } - } + FT_FACE_LOOKUP_SERVICE( face, service, WINFNT ); + + if ( service ) + error = service->get_header( face, header ); + else + error = FT_THROW( Invalid_Argument ); return error; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftxf86.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftxf86.c index a4bf767dfa2..a4bf767dfa2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/ftxf86.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/ftxf86.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/md5.c b/Build/source/libs/freetype2/freetype-2.5.4/src/base/md5.c index 52d96accd30..52d96accd30 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/md5.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/md5.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/md5.h b/Build/source/libs/freetype2/freetype-2.5.4/src/base/md5.h index 2da44bf355a..2da44bf355a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/md5.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/md5.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/base/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/base/rules.mk index cbd810732be..cbd810732be 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/base/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/base/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/Jamfile index da23ccd0add..da23ccd0add 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/README b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/README index b761aba2b28..b761aba2b28 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdf.c b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdf.c index f95fb76225f..f95fb76225f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdf.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdf.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdf.h b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdf.h index d11be6f147f..d11be6f147f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdf.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdfdrivr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdfdrivr.c index 5a1c296fd25..55a428c1b6e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdfdrivr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdfdrivr.c @@ -182,7 +182,7 @@ THE SOFTWARE. } - FT_CALLBACK_TABLE_DEF + static const FT_CMap_ClassRec bdf_cmap_class = { sizeof ( BDF_CMapRec ), @@ -384,7 +384,7 @@ THE SOFTWARE. BDF_Face_Done( bdfface ); return FT_THROW( Invalid_Argument ); } - + { bdf_property_t* prop = NULL; @@ -679,7 +679,13 @@ THE SOFTWARE. FT_UNUSED( load_flags ); - if ( !face || glyph_index >= (FT_UInt)face->num_glyphs ) + if ( !face ) + { + error = FT_THROW( Invalid_Face_Handle ); + goto Exit; + } + + if ( glyph_index >= (FT_UInt)face->num_glyphs ) { error = FT_THROW( Invalid_Argument ); goto Exit; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdfdrivr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdfdrivr.h index ca0dae50d22..ca0dae50d22 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdfdrivr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdfdrivr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdferror.h b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdferror.h index ea545aca06c..ea545aca06c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdferror.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdferror.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdflib.c b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdflib.c index 2eda11cd9bc..369c111f97b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/bdflib.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/bdflib.c @@ -169,6 +169,18 @@ sizeof ( _bdf_properties[0] ); + /* An auxiliary macro to parse properties, to be used in conditionals. */ + /* It behaves like `strncmp' but also tests the following character */ + /* whether it is a whitespace or NULL. */ + /* `property' is a constant string of length `n' to compare with. */ +#define _bdf_strncmp( name, property, n ) \ + ( ft_strncmp( name, property, n ) || \ + !( name[n] == ' ' || \ + name[n] == '\0' || \ + name[n] == '\n' || \ + name[n] == '\r' || \ + name[n] == '\t' ) ) + /* Auto correction messages. */ #define ACMSG1 "FONT_ASCENT property missing. " \ "Added `FONT_ASCENT %hd'.\n" @@ -1408,7 +1420,7 @@ /* If the property happens to be a comment, then it doesn't need */ /* to be added to the internal hash table. */ - if ( ft_strncmp( name, "COMMENT", 7 ) != 0 ) + if ( _bdf_strncmp( name, "COMMENT", 7 ) != 0 ) { /* Add the property to the font property table. */ error = hash_insert( fp->name, @@ -1426,13 +1438,13 @@ /* FONT_ASCENT and FONT_DESCENT need to be assigned if they are */ /* present, and the SPACING property should override the default */ /* spacing. */ - if ( ft_strncmp( name, "DEFAULT_CHAR", 12 ) == 0 ) + if ( _bdf_strncmp( name, "DEFAULT_CHAR", 12 ) == 0 ) font->default_char = fp->value.l; - else if ( ft_strncmp( name, "FONT_ASCENT", 11 ) == 0 ) + else if ( _bdf_strncmp( name, "FONT_ASCENT", 11 ) == 0 ) font->font_ascent = fp->value.l; - else if ( ft_strncmp( name, "FONT_DESCENT", 12 ) == 0 ) + else if ( _bdf_strncmp( name, "FONT_DESCENT", 12 ) == 0 ) font->font_descent = fp->value.l; - else if ( ft_strncmp( name, "SPACING", 7 ) == 0 ) + else if ( _bdf_strncmp( name, "SPACING", 7 ) == 0 ) { if ( !fp->value.atom ) { @@ -1490,7 +1502,7 @@ memory = font->memory; /* Check for a comment. */ - if ( ft_strncmp( line, "COMMENT", 7 ) == 0 ) + if ( _bdf_strncmp( line, "COMMENT", 7 ) == 0 ) { linelen -= 7; @@ -1507,7 +1519,7 @@ /* The very first thing expected is the number of glyphs. */ if ( !( p->flags & _BDF_GLYPHS ) ) { - if ( ft_strncmp( line, "CHARS", 5 ) != 0 ) + if ( _bdf_strncmp( line, "CHARS", 5 ) != 0 ) { FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "CHARS" )); error = FT_THROW( Missing_Chars_Field ); @@ -1541,8 +1553,16 @@ } /* Check for the ENDFONT field. */ - if ( ft_strncmp( line, "ENDFONT", 7 ) == 0 ) + if ( _bdf_strncmp( line, "ENDFONT", 7 ) == 0 ) { + if ( p->flags & _BDF_GLYPH_BITS ) + { + /* Missing ENDCHAR field. */ + FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "ENDCHAR" )); + error = FT_THROW( Corrupted_Font_Glyphs ); + goto Exit; + } + /* Sort the glyphs by encoding. */ ft_qsort( (char *)font->glyphs, font->glyphs_used, @@ -1555,7 +1575,7 @@ } /* Check for the ENDCHAR field. */ - if ( ft_strncmp( line, "ENDCHAR", 7 ) == 0 ) + if ( _bdf_strncmp( line, "ENDCHAR", 7 ) == 0 ) { p->glyph_enc = 0; p->flags &= ~_BDF_GLYPH_BITS; @@ -1571,7 +1591,7 @@ goto Exit; /* Check for the STARTCHAR field. */ - if ( ft_strncmp( line, "STARTCHAR", 9 ) == 0 ) + if ( _bdf_strncmp( line, "STARTCHAR", 9 ) == 0 ) { /* Set the character name in the parse info first until the */ /* encoding can be checked for an unencoded character. */ @@ -1605,7 +1625,7 @@ } /* Check for the ENCODING field. */ - if ( ft_strncmp( line, "ENCODING", 8 ) == 0 ) + if ( _bdf_strncmp( line, "ENCODING", 8 ) == 0 ) { if ( !( p->flags & _BDF_GLYPH ) ) { @@ -1791,7 +1811,7 @@ } /* Expect the SWIDTH (scalable width) field next. */ - if ( ft_strncmp( line, "SWIDTH", 6 ) == 0 ) + if ( _bdf_strncmp( line, "SWIDTH", 6 ) == 0 ) { if ( !( p->flags & _BDF_ENCODING ) ) goto Missing_Encoding; @@ -1807,7 +1827,7 @@ } /* Expect the DWIDTH (scalable width) field next. */ - if ( ft_strncmp( line, "DWIDTH", 6 ) == 0 ) + if ( _bdf_strncmp( line, "DWIDTH", 6 ) == 0 ) { if ( !( p->flags & _BDF_ENCODING ) ) goto Missing_Encoding; @@ -1835,7 +1855,7 @@ } /* Expect the BBX field next. */ - if ( ft_strncmp( line, "BBX", 3 ) == 0 ) + if ( _bdf_strncmp( line, "BBX", 3 ) == 0 ) { if ( !( p->flags & _BDF_ENCODING ) ) goto Missing_Encoding; @@ -1903,7 +1923,7 @@ } /* And finally, gather up the bitmap. */ - if ( ft_strncmp( line, "BITMAP", 6 ) == 0 ) + if ( _bdf_strncmp( line, "BITMAP", 6 ) == 0 ) { unsigned long bitmap_size; @@ -1978,7 +1998,7 @@ p = (_bdf_parse_t *) client_data; /* Check for the end of the properties. */ - if ( ft_strncmp( line, "ENDPROPERTIES", 13 ) == 0 ) + if ( _bdf_strncmp( line, "ENDPROPERTIES", 13 ) == 0 ) { /* If the FONT_ASCENT or FONT_DESCENT properties have not been */ /* encountered yet, then make sure they are added as properties and */ @@ -2019,12 +2039,12 @@ } /* Ignore the _XFREE86_GLYPH_RANGES properties. */ - if ( ft_strncmp( line, "_XFREE86_GLYPH_RANGES", 21 ) == 0 ) + if ( _bdf_strncmp( line, "_XFREE86_GLYPH_RANGES", 21 ) == 0 ) goto Exit; /* Handle COMMENT fields and properties in a special way to preserve */ /* the spacing. */ - if ( ft_strncmp( line, "COMMENT", 7 ) == 0 ) + if ( _bdf_strncmp( line, "COMMENT", 7 ) == 0 ) { name = value = line; value += 7; @@ -2088,7 +2108,7 @@ /* Check for a comment. This is done to handle those fonts that have */ /* comments before the STARTFONT line for some reason. */ - if ( ft_strncmp( line, "COMMENT", 7 ) == 0 ) + if ( _bdf_strncmp( line, "COMMENT", 7 ) == 0 ) { if ( p->opts->keep_comments != 0 && p->font != 0 ) { @@ -2114,7 +2134,7 @@ { memory = p->memory; - if ( ft_strncmp( line, "STARTFONT", 9 ) != 0 ) + if ( _bdf_strncmp( line, "STARTFONT", 9 ) != 0 ) { /* we don't emit an error message since this code gets */ /* explicitly caught one level higher */ @@ -2162,7 +2182,7 @@ } /* Check for the start of the properties. */ - if ( ft_strncmp( line, "STARTPROPERTIES", 15 ) == 0 ) + if ( _bdf_strncmp( line, "STARTPROPERTIES", 15 ) == 0 ) { if ( !( p->flags & _BDF_FONT_BBX ) ) { @@ -2191,7 +2211,7 @@ } /* Check for the FONTBOUNDINGBOX field. */ - if ( ft_strncmp( line, "FONTBOUNDINGBOX", 15 ) == 0 ) + if ( _bdf_strncmp( line, "FONTBOUNDINGBOX", 15 ) == 0 ) { if ( !( p->flags & _BDF_SIZE ) ) { @@ -2222,7 +2242,7 @@ } /* The next thing to check for is the FONT field. */ - if ( ft_strncmp( line, "FONT", 4 ) == 0 ) + if ( _bdf_strncmp( line, "FONT", 4 ) == 0 ) { error = _bdf_list_split( &p->list, (char *)" +", line, linelen ); if ( error ) @@ -2257,7 +2277,7 @@ } /* Check for the SIZE field. */ - if ( ft_strncmp( line, "SIZE", 4 ) == 0 ) + if ( _bdf_strncmp( line, "SIZE", 4 ) == 0 ) { if ( !( p->flags & _BDF_FONT_NAME ) ) { @@ -2311,7 +2331,7 @@ } /* Check for the CHARS field -- font properties are optional */ - if ( ft_strncmp( line, "CHARS", 5 ) == 0 ) + if ( _bdf_strncmp( line, "CHARS", 5 ) == 0 ) { char nbuf[128]; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/module.mk index fe06ae8e064..fe06ae8e064 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/rules.mk index 6ff1614ddec..6ff1614ddec 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bdf/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bdf/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/Jamfile index 3da986dce65..3da986dce65 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/ftbzip2.c b/Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/ftbzip2.c index 74941302710..59651361b35 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/ftbzip2.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/ftbzip2.c @@ -8,7 +8,7 @@ /* parse compressed PCF fonts, as found with many X11 server */ /* distributions. */ /* */ -/* Copyright 2010, 2012, 2013 by */ +/* Copyright 2010, 2012-2014 by */ /* Joel Klinghed. */ /* */ /* Based on src/gzip/ftgzip.c, Copyright 2002 - 2010 by */ @@ -456,10 +456,18 @@ FT_Stream source ) { FT_Error error; - FT_Memory memory = source->memory; + FT_Memory memory; FT_BZip2File zip = NULL; + if ( !stream || !source ) + { + error = FT_THROW( Invalid_Stream_Handle ); + goto Exit; + } + + memory = source->memory; + /* * check the header right now; this prevents allocating unnecessary * objects when we don't need them diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/rules.mk index 0ff2628b4a1..0ff2628b4a1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/bzip2/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/bzip2/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/Jamfile index 6563991375b..6563991375b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcache.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcache.c index d41e91e5ec1..d41e91e5ec1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcache.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcache.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcbasic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcbasic.c index 84d336d5d6b..6bad39d912b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcbasic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcbasic.c @@ -4,7 +4,7 @@ /* */ /* The FreeType basic cache interface (body). */ /* */ -/* Copyright 2003-2007, 2009-2011, 2013 by */ +/* Copyright 2003-2007, 2009-2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -110,10 +110,9 @@ return result; if ( (FT_ULong)face->num_glyphs > FT_UINT_MAX || 0 > face->num_glyphs ) - { - FT_TRACE1(( "ftc_basic_family_get_count: too large number of glyphs " )); - FT_TRACE1(( "in this face, truncated\n", face->num_glyphs )); - } + FT_TRACE1(( "ftc_basic_family_get_count:" + " too large number of glyphs in this face, truncated\n", + face->num_glyphs )); if ( !error ) result = (FT_UInt)face->num_glyphs; @@ -229,7 +228,7 @@ * */ - FT_CALLBACK_TABLE_DEF + static const FTC_IFamilyClassRec ftc_basic_image_family_class = { { @@ -243,7 +242,7 @@ }; - FT_CALLBACK_TABLE_DEF + static const FTC_GCacheClassRec ftc_basic_image_cache_class = { { @@ -287,7 +286,7 @@ FT_PtrDist hash; - /* some argument checks are delayed to FTC_Cache_Lookup */ + /* some argument checks are delayed to `FTC_Cache_Lookup' */ if ( !aglyph ) { error = FT_THROW( Invalid_Argument ); @@ -298,18 +297,15 @@ if ( anode ) *anode = NULL; - { - if ( (FT_ULong)(type->flags - FT_INT_MIN) > FT_UINT_MAX ) - { - FT_TRACE1(( "FTC_ImageCache_Lookup: higher bits in load_flags" )); - FT_TRACE1(( "0x%x are dropped\n", (type->flags & ~((FT_ULong)FT_UINT_MAX)) )); - } + if ( (FT_ULong)( type->flags - FT_INT_MIN ) > FT_UINT_MAX ) + FT_TRACE1(( "FTC_ImageCache_Lookup:" + " higher bits in load_flags 0x%x are dropped\n", + type->flags & ~((FT_ULong)FT_UINT_MAX) )); - query.attrs.scaler.face_id = type->face_id; - query.attrs.scaler.width = type->width; - query.attrs.scaler.height = type->height; - query.attrs.load_flags = (FT_UInt)type->flags; - } + query.attrs.scaler.face_id = type->face_id; + query.attrs.scaler.width = type->width; + query.attrs.scaler.height = type->height; + query.attrs.load_flags = (FT_UInt)type->flags; query.attrs.scaler.pixel = 1; query.attrs.scaler.x_res = 0; /* make compilers happy */ @@ -363,7 +359,7 @@ FT_PtrDist hash; - /* some argument checks are delayed to FTC_Cache_Lookup */ + /* some argument checks are delayed to `FTC_Cache_Lookup' */ if ( !aglyph || !scaler ) { error = FT_THROW( Invalid_Argument ); @@ -374,12 +370,11 @@ if ( anode ) *anode = NULL; - /* FT_Load_Glyph(), FT_Load_Char() take FT_UInt flags */ + /* `FT_Load_Glyph' and `FT_Load_Char' take FT_UInt flags */ if ( load_flags > FT_UINT_MAX ) - { - FT_TRACE1(( "FTC_ImageCache_LookupScaler: higher bits in load_flags" )); - FT_TRACE1(( "0x%x are dropped\n", (load_flags & ~((FT_ULong)FT_UINT_MAX)) )); - } + FT_TRACE1(( "FTC_ImageCache_LookupScaler:" + " higher bits in load_flags 0x%x are dropped\n", + load_flags & ~((FT_ULong)FT_UINT_MAX) )); query.attrs.scaler = scaler[0]; query.attrs.load_flags = (FT_UInt)load_flags; @@ -415,7 +410,7 @@ * */ - FT_CALLBACK_TABLE_DEF + static const FTC_SFamilyClassRec ftc_basic_sbit_family_class = { { @@ -430,7 +425,7 @@ }; - FT_CALLBACK_TABLE_DEF + static const FTC_GCacheClassRec ftc_basic_sbit_cache_class = { { @@ -477,24 +472,21 @@ if ( anode ) *anode = NULL; - /* other argument checks delayed to FTC_Cache_Lookup */ + /* other argument checks delayed to `FTC_Cache_Lookup' */ if ( !ansbit ) return FT_THROW( Invalid_Argument ); *ansbit = NULL; - { - if ( (FT_ULong)(type->flags - FT_INT_MIN) > FT_UINT_MAX ) - { - FT_TRACE1(( "FTC_ImageCache_Lookup: higher bits in load_flags" )); - FT_TRACE1(( "0x%x are dropped\n", (type->flags & ~((FT_ULong)FT_UINT_MAX)) )); - } + if ( (FT_ULong)( type->flags - FT_INT_MIN ) > FT_UINT_MAX ) + FT_TRACE1(( "FTC_ImageCache_Lookup:" + " higher bits in load_flags 0x%x are dropped\n", + type->flags & ~((FT_ULong)FT_UINT_MAX) )); - query.attrs.scaler.face_id = type->face_id; - query.attrs.scaler.width = type->width; - query.attrs.scaler.height = type->height; - query.attrs.load_flags = (FT_UInt)type->flags; - } + query.attrs.scaler.face_id = type->face_id; + query.attrs.scaler.width = type->width; + query.attrs.scaler.height = type->height; + query.attrs.load_flags = (FT_UInt)type->flags; query.attrs.scaler.pixel = 1; query.attrs.scaler.x_res = 0; /* make compilers happy */ @@ -555,18 +547,17 @@ if ( anode ) *anode = NULL; - /* other argument checks delayed to FTC_Cache_Lookup */ + /* other argument checks delayed to `FTC_Cache_Lookup' */ if ( !ansbit || !scaler ) return FT_THROW( Invalid_Argument ); *ansbit = NULL; - /* FT_Load_Glyph(), FT_Load_Char() take FT_UInt flags */ + /* `FT_Load_Glyph' and `FT_Load_Char' take FT_UInt flags */ if ( load_flags > FT_UINT_MAX ) - { - FT_TRACE1(( "FTC_ImageCache_LookupScaler: higher bits in load_flags" )); - FT_TRACE1(( "0x%x are dropped\n", (load_flags & ~((FT_ULong)FT_UINT_MAX)) )); - } + FT_TRACE1(( "FTC_ImageCache_LookupScaler:" + " higher bits in load_flags 0x%x are dropped\n", + load_flags & ~((FT_ULong)FT_UINT_MAX) )); query.attrs.scaler = scaler[0]; query.attrs.load_flags = (FT_UInt)load_flags; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccache.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccache.c index f20dd4502c0..f20dd4502c0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccache.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccache.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccache.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccache.h index 4155f320e05..4155f320e05 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccache.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccache.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccback.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccback.h index 95282792732..95282792732 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccback.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccback.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccmap.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccmap.c index 848349be2d1..ab223663bb1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftccmap.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftccmap.c @@ -4,7 +4,7 @@ /* */ /* FreeType CharMap cache (body) */ /* */ -/* Copyright 2000-2013 by */ +/* Copyright 2000-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -202,7 +202,7 @@ /*************************************************************************/ - FT_CALLBACK_TABLE_DEF + static const FTC_CacheClassRec ftc_cmap_cache_class = { ftc_cmap_node_new, @@ -263,6 +263,9 @@ return 0; } + if ( !face_id ) + return 0; + query.face_id = face_id; query.cmap_index = (FT_UInt)cmap_index; query.char_code = char_code; @@ -301,12 +304,6 @@ if ( error ) goto Exit; -#ifdef FT_MAX_CHARMAP_CACHEABLE - /* something rotten can happen with rogue clients */ - if ( cmap_index > FT_MAX_CHARMAP_CACHEABLE ) - return 0; /* XXX: should return appropriate error */ -#endif - if ( (FT_UInt)cmap_index < (FT_UInt)face->num_charmaps ) { FT_CharMap old, cmap = NULL; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcerror.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcerror.h index 0e055709bb7..0e055709bb7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcerror.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcerror.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcglyph.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcglyph.c index 441e177238a..441e177238a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcglyph.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcglyph.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcglyph.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcglyph.h index 5fed19cb8fa..5fed19cb8fa 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcglyph.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcglyph.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcimage.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcimage.c index c242ece021e..c242ece021e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcimage.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcimage.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcimage.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcimage.h index 20d5d3e07df..20d5d3e07df 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcimage.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcimage.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmanag.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmanag.c index 4eb2c5bfd69..fff7a08827a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmanag.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmanag.c @@ -4,7 +4,7 @@ /* */ /* FreeType Cache Manager (body). */ /* */ -/* Copyright 2000-2006, 2008-2010, 2013 by */ +/* Copyright 2000-2006, 2008-2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -151,7 +151,7 @@ } - FT_CALLBACK_TABLE_DEF + static const FTC_MruListClassRec ftc_size_list_class = { sizeof ( FTC_SizeNodeRec ), @@ -186,7 +186,7 @@ FTC_MruNode mrunode; - if ( asize == NULL ) + if ( !asize || !scaler ) return FT_THROW( Invalid_Argument ); *asize = NULL; @@ -290,7 +290,7 @@ } - FT_CALLBACK_TABLE_DEF + static const FTC_MruListClassRec ftc_face_list_class = { sizeof ( FTC_FaceNodeRec), @@ -313,7 +313,7 @@ FTC_MruNode mrunode; - if ( aface == NULL ) + if ( !aface || !face_id ) return FT_THROW( Invalid_Argument ); *aface = NULL; @@ -366,6 +366,9 @@ if ( !library ) return FT_THROW( Invalid_Library_Handle ); + if ( !amanager || !requester ) + return FT_THROW( Invalid_Argument ); + memory = library->memory; if ( FT_NEW( manager ) ) @@ -451,11 +454,11 @@ FT_EXPORT_DEF( void ) FTC_Manager_Reset( FTC_Manager manager ) { - if ( manager ) - { - FTC_MruList_Reset( &manager->sizes ); - FTC_MruList_Reset( &manager->faces ); - } + if ( !manager ) + return; + + FTC_MruList_Reset( &manager->sizes ); + FTC_MruList_Reset( &manager->faces ); FTC_Manager_FlushN( manager, manager->num_nodes ); } @@ -667,6 +670,10 @@ { FT_UInt nn; + + if ( !manager || !face_id ) + return; + /* this will remove all FTC_SizeNode that correspond to * the face_id as well */ @@ -685,7 +692,9 @@ FTC_Node_Unref( FTC_Node node, FTC_Manager manager ) { - if ( node && (FT_UInt)node->cache_index < manager->num_caches ) + if ( node && + manager && + (FT_UInt)node->cache_index < manager->num_caches ) node->ref_count--; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmanag.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmanag.h index 0aec33c5843..0aec33c5843 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmanag.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmanag.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmru.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmru.c index dc8b4cc3970..dc8b4cc3970 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmru.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmru.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmru.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmru.h index 6fccf11781c..6fccf11781c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcmru.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcmru.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcsbits.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcsbits.c index 6df1c19930c..59727d16e26 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcsbits.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcsbits.c @@ -4,7 +4,7 @@ /* */ /* FreeType sbits manager (body). */ /* */ -/* Copyright 2000-2006, 2009-2011, 2013 by */ +/* Copyright 2000-2006, 2009-2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -142,12 +142,12 @@ goto BadGlyph; } - /* Check that our values fit into 8-bit containers! */ + /* Check whether our values fit into 8-bit containers! */ /* If this is not the case, our bitmap is too large */ /* and we will leave it as `missing' with sbit.buffer = 0 */ -#define CHECK_CHAR( d ) ( temp = (FT_Char)d, temp == d ) -#define CHECK_BYTE( d ) ( temp = (FT_Byte)d, temp == d ) +#define CHECK_CHAR( d ) ( temp = (FT_Char)d, (FT_Int) temp == (FT_Int) d ) +#define CHECK_BYTE( d ) ( temp = (FT_Byte)d, (FT_UInt)temp == (FT_UInt)d ) /* horizontal advance in pixels */ xadvance = ( slot->advance.x + 32 ) >> 6; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcsbits.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcsbits.h index df55dca8066..df55dca8066 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/ftcsbits.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/ftcsbits.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/rules.mk index ed75a6a91fd..ed75a6a91fd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cache/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cache/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/Jamfile index 6705d3cfdb7..6705d3cfdb7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2arrst.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2arrst.c index c8d6f130985..c8d6f130985 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2arrst.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2arrst.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2arrst.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2arrst.h index ff5ad8b1268..ff5ad8b1268 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2arrst.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2arrst.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2blues.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2blues.c index 250f89e0df4..250f89e0df4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2blues.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2blues.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2blues.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2blues.h index 2f38fcad8f5..2f38fcad8f5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2blues.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2blues.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2error.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2error.c index b5595a3d1f3..b5595a3d1f3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2error.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2error.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2error.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2error.h index 6453ebcb7b8..6453ebcb7b8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2error.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2error.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2fixed.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2fixed.h index ed1452a7daa..ed1452a7daa 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2fixed.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2fixed.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2font.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2font.c index 6e99dc2f065..a46b748ed7e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2font.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2font.c @@ -36,6 +36,9 @@ /***************************************************************************/ +#include <ft2build.h> +#include FT_INTERNAL_CALC_H + #include "cf2ft.h" #include "cf2glue.h" @@ -105,6 +108,7 @@ /* adjusting for emRatio converts darkenAmount to character */ /* space (font units). */ CF2_Fixed stemWidthPer1000, scaledStem; + FT_Int logBase2; *darkenAmount = 0; @@ -131,26 +135,33 @@ /* convert from true character space to 1000 unit character space; */ /* add synthetic emboldening effect */ - /* we have to assure that the computation of `scaledStem' */ - /* and `stemWidthPer1000' don't overflow */ + /* `stemWidthPer1000' will not overflow for a legitimate font */ stemWidthPer1000 = FT_MulFix( stemWidth + boldenAmount, emRatio ); - if ( emRatio > CF2_FIXED_ONE && - stemWidthPer1000 <= ( stemWidth + boldenAmount ) ) - { - stemWidthPer1000 = 0; /* to pacify compiler */ - scaledStem = cf2_intToFixed( x4 ); - } + /* `scaledStem' can easily overflow, so we must clamp its maximum */ + /* value; the test doesn't need to be precise, but must be */ + /* conservative. The clamp value (default 2333) where */ + /* `darkenAmount' is zero is well below the overflow value of */ + /* 32767. */ + /* */ + /* FT_MSB computes the integer part of the base 2 logarithm. The */ + /* number of bits for the product is 1 or 2 more than the sum of */ + /* logarithms; remembering that the 16 lowest bits of the fraction */ + /* are dropped this is correct to within a factor of almost 4. */ + /* For example, 0x80.0000 * 0x80.0000 = 0x4000.0000 is 23+23 and */ + /* is flagged as possible overflow because 0xff.ffff * 0xff.ffff = */ + /* 0xffff.fe00 is also 23+23. */ + + logBase2 = FT_MSB( (FT_UInt32)stemWidthPer1000 ) + + FT_MSB( (FT_UInt32)ppem ); + + if ( logBase2 >= 46 ) + /* possible overflow */ + scaledStem = cf2_intToFixed( x4 ); else - { scaledStem = FT_MulFix( stemWidthPer1000, ppem ); - if ( ppem > CF2_FIXED_ONE && - scaledStem <= stemWidthPer1000 ) - scaledStem = cf2_intToFixed( x4 ); - } - /* now apply the darkening parameters */ if ( scaledStem < cf2_intToFixed( x1 ) ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2font.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2font.h index d8860ce8ed5..d8860ce8ed5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2font.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2font.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2ft.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2ft.c index cb8d31c53ac..ebba4694ce8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2ft.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2ft.c @@ -142,6 +142,8 @@ cf2_builder_lineTo( CF2_OutlineCallbacks callbacks, const CF2_CallbackParams params ) { + FT_Error error; + /* downcast the object pointer */ CF2_Outline outline = (CF2_Outline)callbacks; CFF_Builder* builder; @@ -156,15 +158,27 @@ { /* record the move before the line; also check points and set */ /* `path_begun' */ - cff_builder_start_point( builder, - params->pt0.x, - params->pt0.y ); + error = cff_builder_start_point( builder, + params->pt0.x, + params->pt0.y ); + if ( error ) + { + if ( !*callbacks->error ) + *callbacks->error = error; + return; + } } /* `cff_builder_add_point1' includes a check_points call for one point */ - cff_builder_add_point1( builder, - params->pt1.x, - params->pt1.y ); + error = cff_builder_add_point1( builder, + params->pt1.x, + params->pt1.y ); + if ( error ) + { + if ( !*callbacks->error ) + *callbacks->error = error; + return; + } } @@ -172,6 +186,8 @@ cf2_builder_cubeTo( CF2_OutlineCallbacks callbacks, const CF2_CallbackParams params ) { + FT_Error error; + /* downcast the object pointer */ CF2_Outline outline = (CF2_Outline)callbacks; CFF_Builder* builder; @@ -186,13 +202,25 @@ { /* record the move before the line; also check points and set */ /* `path_begun' */ - cff_builder_start_point( builder, - params->pt0.x, - params->pt0.y ); + error = cff_builder_start_point( builder, + params->pt0.x, + params->pt0.y ); + if ( error ) + { + if ( !*callbacks->error ) + *callbacks->error = error; + return; + } } /* prepare room for 3 points: 2 off-curve, 1 on-curve */ - cff_check_points( builder, 3 ); + error = cff_check_points( builder, 3 ); + if ( error ) + { + if ( !*callbacks->error ) + *callbacks->error = error; + return; + } cff_builder_add_point( builder, params->pt1.x, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2ft.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2ft.h index 731da3ca8c7..731da3ca8c7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2ft.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2ft.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2glue.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2glue.h index a24da39e93c..a24da39e93c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2glue.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2glue.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2hints.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2hints.c index 5853d775851..040d193f313 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2hints.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2hints.c @@ -304,9 +304,6 @@ cf2_hintmap_map( CF2_HintMap hintmap, CF2_Fixed csCoord ) { - FT_ASSERT( hintmap->isValid ); /* must call Build before Map */ - FT_ASSERT( hintmap->lastIndex < CF2_MAX_HINT_EDGES ); - if ( hintmap->count == 0 || ! hintmap->hinted ) { /* there are no hints; use uniform scale and zero offset */ @@ -317,6 +314,7 @@ /* start linear search from last hit */ CF2_UInt i = hintmap->lastIndex; + FT_ASSERT( hintmap->lastIndex < CF2_MAX_HINT_EDGES ); /* search up */ while ( i < hintmap->count - 1 && @@ -794,9 +792,12 @@ maskPtr = cf2_hintmask_getMaskPtr( &tempHintMask ); /* use the hStem hints only, which are first in the mask */ - /* TODO: compare this to cffhintmaskGetBitCount */ bitCount = cf2_arrstack_size( hStemHintArray ); + /* Defense-in-depth. Should never return here. */ + if ( bitCount > hintMask->bitCount ) + return; + /* synthetic embox hints get highest priority */ if ( font->blues.doEmBoxHints ) { @@ -1560,7 +1561,7 @@ { /* -y */ *x = -glyphpath->xOffset; - *y = glyphpath->xOffset; + *y = glyphpath->yOffset; } else { @@ -1691,7 +1692,8 @@ if ( glyphpath->elemIsQueued ) { - FT_ASSERT( cf2_hintmap_isValid( &glyphpath->hintMap ) ); + FT_ASSERT( cf2_hintmap_isValid( &glyphpath->hintMap ) || + glyphpath->hintMap.count == 0 ); cf2_glyphpath_pushPrevElem( glyphpath, &glyphpath->hintMap, @@ -1777,7 +1779,8 @@ if ( glyphpath->elemIsQueued ) { - FT_ASSERT( cf2_hintmap_isValid( &glyphpath->hintMap ) ); + FT_ASSERT( cf2_hintmap_isValid( &glyphpath->hintMap ) || + glyphpath->hintMap.count == 0 ); cf2_glyphpath_pushPrevElem( glyphpath, &glyphpath->hintMap, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2hints.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2hints.h index f25d91bf89f..f25d91bf89f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2hints.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2hints.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2intrp.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2intrp.c index 5610917cc3f..a26960669f1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2intrp.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2intrp.c @@ -4,7 +4,7 @@ /* */ /* Adobe's CFF Interpreter (body). */ /* */ -/* Copyright 2007-2013 Adobe Systems Incorporated. */ +/* Copyright 2007-2014 Adobe Systems Incorporated. */ /* */ /* This software, and all works of authorship, whether in source or */ /* object code form as indicated by the copyright notice(s) included */ @@ -593,8 +593,11 @@ /* never add hints after the mask is computed */ if ( cf2_hintmask_isValid( &hintMask ) ) + { FT_TRACE4(( "cf2_interpT2CharString:" " invalid horizontal hint mask\n" )); + break; + } cf2_doStems( font, opStack, @@ -614,8 +617,11 @@ /* never add hints after the mask is computed */ if ( cf2_hintmask_isValid( &hintMask ) ) + { FT_TRACE4(( "cf2_interpT2CharString:" " invalid vertical hint mask\n" )); + break; + } cf2_doStems( font, opStack, @@ -1141,15 +1147,16 @@ /* `cf2_hintmask_read' (which also traces the mask bytes) */ FT_TRACE4(( op1 == cf2_cmdCNTRMASK ? " cntrmask" : " hintmask" )); - /* if there are arguments on the stack, there this is an */ - /* implied cf2_cmdVSTEMHM */ - if ( cf2_stack_count( opStack ) != 0 ) + /* never add hints after the mask is computed */ + if ( cf2_stack_count( opStack ) > 1 && + cf2_hintmask_isValid( &hintMask ) ) { - /* never add hints after the mask is computed */ - if ( cf2_hintmask_isValid( &hintMask ) ) - FT_TRACE4(( "cf2_interpT2CharString: invalid hint mask\n" )); + FT_TRACE4(( "cf2_interpT2CharString: invalid hint mask\n" )); + break; } + /* if there are arguments on the stack, there this is an */ + /* implied cf2_cmdVSTEMHM */ cf2_doStems( font, opStack, &vStemHintArray, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2intrp.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2intrp.h index b5d8947838e..b5d8947838e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2intrp.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2intrp.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2read.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2read.c index 2b429e3eeb0..2b429e3eeb0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2read.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2read.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2read.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2read.h index 7ef7c8c1493..7ef7c8c1493 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2read.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2read.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2stack.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2stack.c index 8332b5d91aa..8332b5d91aa 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2stack.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2stack.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2stack.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2stack.h index 7d6d1961fe9..7d6d1961fe9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2stack.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2stack.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2types.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2types.h index ac6a02266e7..ac6a02266e7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cf2types.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cf2types.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cff.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cff.c index c3840b58384..c3840b58384 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cff.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cff.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffcmap.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffcmap.c index f6e03c6420e..52248b2b9a2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffcmap.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffcmap.c @@ -33,12 +33,15 @@ /*************************************************************************/ FT_CALLBACK_DEF( FT_Error ) - cff_cmap_encoding_init( CFF_CMapStd cmap ) + cff_cmap_encoding_init( CFF_CMapStd cmap, + FT_Pointer pointer ) { TT_Face face = (TT_Face)FT_CMAP_FACE( cmap ); CFF_Font cff = (CFF_Font)face->extra.data; CFF_Encoding encoding = &cff->encoding; + FT_UNUSED( pointer ); + cmap->gids = encoding->codes; @@ -135,7 +138,8 @@ FT_CALLBACK_DEF( FT_Error ) - cff_cmap_unicode_init( PS_Unicodes unicodes ) + cff_cmap_unicode_init( PS_Unicodes unicodes, + FT_Pointer pointer ) { TT_Face face = (TT_Face)FT_CMAP_FACE( unicodes ); FT_Memory memory = FT_FACE_MEMORY( face ); @@ -143,6 +147,8 @@ CFF_Charset charset = &cff->charset; FT_Service_PsCMaps psnames = (FT_Service_PsCMaps)cff->psnames; + FT_UNUSED( pointer ); + /* can't build Unicode map for CID-keyed font */ /* because we don't know glyph names. */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffcmap.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffcmap.h index 3f7f67bbe05..3f7f67bbe05 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffcmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffcmap.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffdrivr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffdrivr.c index dde7d448801..dde7d448801 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffdrivr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffdrivr.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffdrivr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffdrivr.h index 50e8138701e..50e8138701e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffdrivr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffdrivr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfferrs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfferrs.h index 801d73ec6b7..801d73ec6b7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfferrs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfferrs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffgload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffgload.c index c8e9f9124b6..758a3d3bbd1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffgload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffgload.c @@ -4,7 +4,7 @@ /* */ /* OpenType Glyph Loader (body). */ /* */ -/* Copyright 1996-2013 by */ +/* Copyright 1996-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -703,7 +703,7 @@ /* callback function. */ if ( face->root.internal->incremental_interface ) { - FT_Data data; + FT_Data data; data.pointer = *pointer; @@ -1989,9 +1989,6 @@ } else { - if ( !error ) - error = FT_Err_Ok; - cff_builder_close_contour( builder ); /* close hints recording session */ @@ -2002,10 +1999,12 @@ goto Syntax_Error; /* apply hints to the loaded glyph outline now */ - hinter->apply( hinter->hints, - builder->current, - (PSH_Globals)builder->hints_globals, - decoder->hint_mode ); + error = hinter->apply( hinter->hints, + builder->current, + (PSH_Globals)builder->hints_globals, + decoder->hint_mode ); + if ( error ) + goto Fail; } /* add current outline to the glyph slot */ @@ -2711,10 +2710,10 @@ /* compute linear advance widths */ - ( (SFNT_Service)face->sfnt )->get_metrics( face, 0, - glyph_index, - &dummy, - &advance ); + (void)( (SFNT_Service)face->sfnt )->get_metrics( face, 0, + glyph_index, + &dummy, + &advance ); glyph->root.linearHoriAdvance = advance; has_vertical_info = FT_BOOL( @@ -2724,10 +2723,10 @@ /* get the vertical metrics from the vtmx table if we have one */ if ( has_vertical_info ) { - ( (SFNT_Service)face->sfnt )->get_metrics( face, 1, - glyph_index, - &dummy, - &advance ); + (void)( (SFNT_Service)face->sfnt )->get_metrics( face, 1, + glyph_index, + &dummy, + &advance ); glyph->root.linearVertAdvance = advance; } else @@ -2964,10 +2963,10 @@ FT_UShort vertAdvance = 0; - ( (SFNT_Service)face->sfnt )->get_metrics( face, 1, - glyph_index, - &vertBearingY, - &vertAdvance ); + (void)( (SFNT_Service)face->sfnt )->get_metrics( face, 1, + glyph_index, + &vertBearingY, + &vertAdvance ); metrics->vertBearingY = vertBearingY; metrics->vertAdvance = vertAdvance; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffgload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffgload.h index 41df7db6928..41df7db6928 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffgload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffgload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffload.c index d9bec5966b1..d9bec5966b1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffload.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffload.h index 804961964b8..804961964b8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffobjs.c index cac4ac2bd4b..da3d0190fe4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffobjs.c @@ -4,7 +4,7 @@ /* */ /* OpenType objects manager (body). */ /* */ -/* Copyright 1996-2013 by */ +/* Copyright 1996-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -943,16 +943,6 @@ if ( pure_cff && cff->top_font.font_dict.cid_registry != 0xFFFFU ) goto Exit; -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( nn + 1 > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "cff_face_init: no Unicode cmap is found, " - "and too many subtables (%d) to add synthesized cmap\n", - nn )); - goto Exit; - } -#endif - /* we didn't find a Unicode charmap -- synthesize one */ cmaprec.face = cffface; cmaprec.platform_id = TT_PLATFORM_MICROSOFT; @@ -973,15 +963,6 @@ cffface->charmap = cffface->charmaps[nn]; Skip_Unicode: -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( nn > FT_MAX_CHARMAP_CACHEABLE ) - { - FT_ERROR(( "cff_face_init: Unicode cmap is found, " - "but too many preceding subtables (%d) to access\n", - nn - 1 )); - goto Exit; - } -#endif if ( encoding->count > 0 ) { FT_CMap_Class clazz; @@ -1055,22 +1036,23 @@ CFF_Driver driver = (CFF_Driver)module; - /* set default property values, cf `ftcffdrv.h' */ + /* set default property values, cf. `ftcffdrv.h' */ #ifdef CFF_CONFIG_OPTION_OLD_ENGINE - driver->hinting_engine = FT_CFF_HINTING_FREETYPE; + driver->hinting_engine = FT_CFF_HINTING_FREETYPE; #else - driver->hinting_engine = FT_CFF_HINTING_ADOBE; + driver->hinting_engine = FT_CFF_HINTING_ADOBE; #endif + driver->no_stem_darkening = FALSE; - driver->darken_params[0] = 500; - driver->darken_params[1] = 400; - driver->darken_params[2] = 1000; - driver->darken_params[3] = 275; - driver->darken_params[4] = 1667; - driver->darken_params[5] = 275; - driver->darken_params[6] = 2333; - driver->darken_params[7] = 0; + driver->darken_params[0] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1; + driver->darken_params[1] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1; + driver->darken_params[2] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2; + driver->darken_params[3] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2; + driver->darken_params[4] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3; + driver->darken_params[5] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3; + driver->darken_params[6] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4; + driver->darken_params[7] = CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4; return FT_Err_Ok; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffobjs.h index dfbf9a96b0b..dfbf9a96b0b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffobjs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffparse.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffparse.c index 91bd5326c3e..91bd5326c3e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffparse.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffparse.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffparse.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffparse.h index 61d91ed2e2d..61d91ed2e2d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffparse.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffparse.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffpic.c index f22e4f0d537..f22e4f0d537 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffpic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffpic.h index 50bab4c1739..50bab4c1739 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cffpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cffpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfftoken.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfftoken.h index bcb4276a78f..bcb4276a78f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfftoken.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfftoken.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfftypes.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfftypes.h index 87274466644..87274466644 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/cfftypes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/cfftypes.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/module.mk index ef1391c279b..ef1391c279b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/rules.mk index 13115c25509..13115c25509 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cff/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cff/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/Jamfile index ebeaed54ea2..ebeaed54ea2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/ciderrs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/ciderrs.h index ef13155504e..ef13155504e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/ciderrs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/ciderrs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidgload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidgload.c index 7febab81c41..7febab81c41 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidgload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidgload.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidgload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidgload.h index a0a91bfea83..a0a91bfea83 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidgload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidgload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidload.c index 1cda0eee7ad..1cda0eee7ad 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidload.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidload.h index 8c172ffee2d..8c172ffee2d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidobjs.c index 5932ffa9730..5932ffa9730 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidobjs.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidobjs.h index aee346d1c88..aee346d1c88 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidobjs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidparse.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidparse.c index d8476cdae89..d8476cdae89 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidparse.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidparse.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidparse.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidparse.h index f27be65a600..f27be65a600 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidparse.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidparse.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidriver.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidriver.c index 6132a277633..6132a277633 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidriver.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidriver.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidriver.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidriver.h index 3c45e068862..3c45e068862 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidriver.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidriver.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidtoken.h b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidtoken.h index 904cb09cf4d..904cb09cf4d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/cidtoken.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/cidtoken.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/module.mk index ce30bfd7ae4..ce30bfd7ae4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/rules.mk index f3627446126..f3627446126 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/type1cid.c b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/type1cid.c index 0b866e97c44..0b866e97c44 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/cid/type1cid.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/cid/type1cid.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/Jamfile index 88049a625d3..88049a625d3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/README b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/README index 28e535b0bcc..28e535b0bcc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvalid.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvalid.c index bc36e675d14..bc36e675d14 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvalid.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvalid.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvalid.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvalid.h index 27be9ecca85..27be9ecca85 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvalid.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvalid.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvbsln.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvbsln.c index 3d100315636..3d100315636 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvbsln.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvbsln.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvcommn.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvcommn.c index 7af52342ba0..7af52342ba0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvcommn.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvcommn.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvcommn.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvcommn.h index 2f44a7515e3..2f44a7515e3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvcommn.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvcommn.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxverror.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxverror.h index c573b72de7d..c573b72de7d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxverror.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxverror.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfeat.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfeat.c index 6f75650991a..6f75650991a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfeat.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfeat.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfeat.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfeat.h index 049d23a0b92..049d23a0b92 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfeat.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfeat.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfgen.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfgen.c index e48778a2a15..e48778a2a15 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvfgen.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvfgen.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvjust.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvjust.c index 7816e0b7fb8..7816e0b7fb8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvjust.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvjust.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvkern.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvkern.c index 557c5f1fe4e..557c5f1fe4e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvkern.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvkern.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvlcar.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvlcar.c index f14fa5b1313..f14fa5b1313 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvlcar.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvlcar.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmod.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmod.c index 278d47688ab..278d47688ab 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmod.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmod.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmod.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmod.h index 22732ba9920..22732ba9920 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmod.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmod.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort.c index c4d49b32d35..c4d49b32d35 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort.h index 1e5a1f5ab68..1e5a1f5ab68 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort0.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort0.c index b136ceda275..b136ceda275 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort0.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort0.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort1.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort1.c index 1c17a5d92ad..1c17a5d92ad 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort1.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort1.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort2.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort2.c index 9e08fb792a2..9e08fb792a2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort2.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort2.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort4.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort4.c index 83470988c09..83470988c09 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort4.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort4.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort5.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort5.c index 32cfb036399..32cfb036399 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmort5.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmort5.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx.c index 5ae04d32125..5ae04d32125 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx.h index 28c1a44f6fb..28c1a44f6fb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx0.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx0.c index 6a736c17750..6a736c17750 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx0.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx0.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx1.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx1.c index ce0009a16f1..ce0009a16f1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx1.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx1.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx2.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx2.c index 95b8ea40b44..95b8ea40b44 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx2.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx2.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx4.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx4.c index c0d2f78e397..c0d2f78e397 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx4.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx4.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx5.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx5.c index d8cf7007978..d8cf7007978 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvmorx5.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvmorx5.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvopbd.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvopbd.c index e1250609460..e1250609460 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvopbd.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvopbd.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvprop.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvprop.c index 0be21336f86..0be21336f86 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvprop.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvprop.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvtrak.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvtrak.c index 11fbd7ccfb8..11fbd7ccfb8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/gxvtrak.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/gxvtrak.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/module.mk index 9fd098e2c5e..9fd098e2c5e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/rules.mk index 57bc0823db7..57bc0823db7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gxvalid/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gxvalid/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/Jamfile index a7aafa05180..a7aafa05180 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/adler32.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/adler32.c index c53f9dd125d..c53f9dd125d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/adler32.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/adler32.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/ftgzip.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/ftgzip.c index 2c60b6c571c..83be22ba6ae 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/ftgzip.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/ftgzip.c @@ -8,7 +8,7 @@ /* parse compressed PCF fonts, as found with many X11 server */ /* distributions. */ /* */ -/* Copyright 2002-2006, 2009-2013 by */ +/* Copyright 2002-2006, 2009-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -603,10 +603,18 @@ FT_Stream source ) { FT_Error error; - FT_Memory memory = source->memory; + FT_Memory memory; FT_GZipFile zip = NULL; + if ( !stream || !source ) + { + error = FT_THROW( Invalid_Stream_Handle ); + goto Exit; + } + + memory = source->memory; + /* * check the header right now; this prevents allocating un-necessary * objects when we don't need them @@ -700,6 +708,11 @@ int err; + /* check for `input' delayed to `inflate' */ + + if ( !memory || ! output_len || !output ) + return FT_THROW( Invalid_Argument ); + /* this function is modeled after zlib's `uncompress' function */ stream.next_in = (Bytef*)input; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infblock.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infblock.c index d6e2dc297da..d6e2dc297da 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infblock.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infblock.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infblock.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infblock.h index c2535a1e452..c2535a1e452 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infblock.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infblock.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infcodes.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infcodes.c index f7bfd58c4ff..f7bfd58c4ff 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infcodes.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infcodes.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infcodes.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infcodes.h index 154d7f896ca..154d7f896ca 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infcodes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infcodes.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inffixed.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inffixed.h index 4d4760ea00e..4d4760ea00e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inffixed.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inffixed.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inflate.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inflate.c index 8877fa3eb2b..8877fa3eb2b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inflate.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inflate.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inftrees.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inftrees.c index ef536521686..56f52b1701d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inftrees.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inftrees.c @@ -115,16 +115,16 @@ uIntf *v /* working area: values in order of bit length */ uInt f; /* i repeats in table every f entries */ int g; /* maximum code length */ int h; /* table level */ - register uInt i; /* counter, current code */ - register uInt j; /* counter */ - register int k; /* number of bits in current code */ + uInt i; /* counter, current code */ + uInt j; /* counter */ + int k; /* number of bits in current code */ int l; /* bits per table (returned in m) */ uInt mask; /* (1 << w) - 1, to avoid cc -O bug on HP */ - register uIntf *p; /* pointer into c[], b[], or v[] */ + uIntf *p; /* pointer into c[], b[], or v[] */ inflate_huft *q; /* points to current table */ struct inflate_huft_s r; /* table entry for structure assignment */ inflate_huft *u[BMAX]; /* table stack */ - register int w; /* bits before this table == (l * h) */ + int w; /* bits before this table == (l * h) */ uInt x[BMAX+1]; /* bit offsets, then code stack */ uIntf *xp; /* pointer into x */ int y; /* number of dummy codes added */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inftrees.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inftrees.h index 07bf2aa0bf8..07bf2aa0bf8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/inftrees.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/inftrees.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infutil.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infutil.c index 6087b406473..6087b406473 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infutil.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infutil.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infutil.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infutil.h index 7174b6dd0ff..7174b6dd0ff 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/infutil.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/infutil.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/rules.mk index 37cd9917653..37cd9917653 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zconf.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zconf.h index 3abf0ba03b0..3abf0ba03b0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zconf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zconf.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zlib.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zlib.h index 50d0d3f146d..50d0d3f146d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zlib.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zlib.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zutil.c b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zutil.c index 7ad0c1f81bb..7ad0c1f81bb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zutil.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zutil.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zutil.h b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zutil.h index c9688cd9c04..c9688cd9c04 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/gzip/zutil.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/gzip/zutil.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/Jamfile index 6f1f516e7cf..6f1f516e7cf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftlzw.c b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftlzw.c index 82e6c0070b9..6092626b657 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftlzw.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftlzw.c @@ -8,7 +8,7 @@ /* be used to parse compressed PCF fonts, as found with many X11 server */ /* distributions. */ /* */ -/* Copyright 2004-2006, 2009, 2010, 2012, 2013 by */ +/* Copyright 2004-2006, 2009, 2010, 2012-2014 by */ /* Albert Chin-A-Young. */ /* */ /* Based on code in src/gzip/ftgzip.c, Copyright 2004 by */ @@ -349,10 +349,18 @@ FT_Stream source ) { FT_Error error; - FT_Memory memory = source->memory; + FT_Memory memory; FT_LZWFile zip = NULL; + if ( !stream || !source ) + { + error = FT_THROW( Invalid_Stream_Handle ); + goto Exit; + } + + memory = source->memory; + /* * Check the header right now; this prevents allocation of a huge * LZWFile object (400 KByte of heap memory) if not necessary. diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftzopen.c b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftzopen.c index d7a64576bad..d7a64576bad 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftzopen.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftzopen.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftzopen.h b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftzopen.h index f7d2936be2f..f7d2936be2f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/ftzopen.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/ftzopen.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/rules.mk index 5550a48d64b..5550a48d64b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/lzw/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/lzw/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/Jamfile index b457143de4f..b457143de4f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/module.mk index 9cadde55e46..9cadde55e46 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvalid.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvalid.c index d5c2b75abb6..d5c2b75abb6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvalid.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvalid.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvalid.h b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvalid.h index eb99b9cc48e..eb99b9cc48e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvalid.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvalid.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvbase.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvbase.c index d742d2dc95f..d742d2dc95f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvbase.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvbase.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvcommn.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvcommn.c index a4f885b51f8..a4f885b51f8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvcommn.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvcommn.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvcommn.h b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvcommn.h index 898887fc954..898887fc954 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvcommn.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvcommn.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otverror.h b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otverror.h index b6f00c9dba2..b6f00c9dba2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otverror.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otverror.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgdef.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgdef.c index 3633ad0de18..3633ad0de18 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgdef.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgdef.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgpos.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgpos.c index 49b46183a32..49b46183a32 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgpos.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgpos.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgpos.h b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgpos.h index 14ca408261d..14ca408261d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgpos.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgpos.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgsub.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgsub.c index ed499d1e92d..ed499d1e92d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvgsub.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvgsub.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvjstf.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvjstf.c index a616a23432c..a616a23432c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvjstf.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvjstf.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmath.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmath.c index 96f841f2a9c..96f841f2a9c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmath.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmath.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmod.c b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmod.c index 37c6e869dd6..37c6e869dd6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmod.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmod.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmod.h b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmod.h index f7e1550787a..f7e1550787a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/otvmod.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/otvmod.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/rules.mk index 53bd41e5e7d..53bd41e5e7d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/otvalid/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/otvalid/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/Jamfile index 752fcac2a11..752fcac2a11 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/README b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/README index 10eff15fbe8..10eff15fbe8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/module.mk index df383ff0fbe..df383ff0fbe 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcf.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcf.c index 11d5b7b2a06..11d5b7b2a06 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcf.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcf.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcf.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcf.h index af0ffc33781..af0ffc33781 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcf.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfdrivr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfdrivr.c index 748cbca8f1b..96f6912ba95 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfdrivr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfdrivr.c @@ -2,7 +2,7 @@ FreeType font driver for pcf files - Copyright (C) 2000-2004, 2006-2011, 2013 by + Copyright (C) 2000-2004, 2006-2011, 2013, 2014 by Francesco Zappa Nardelli Permission is hereby granted, free of charge, to any person obtaining a copy @@ -189,7 +189,7 @@ THE SOFTWARE. } - FT_CALLBACK_TABLE_DEF + static const FT_CMap_ClassRec pcf_cmap_class = { sizeof ( PCF_CMapRec ), @@ -494,7 +494,13 @@ THE SOFTWARE. FT_TRACE1(( "PCF_Glyph_Load: glyph index %d\n", glyph_index )); - if ( !face || glyph_index >= (FT_UInt)face->root.num_glyphs ) + if ( !face ) + { + error = FT_THROW( Invalid_Face_Handle ); + goto Exit; + } + + if ( glyph_index >= (FT_UInt)face->root.num_glyphs ) { error = FT_THROW( Invalid_Argument ); goto Exit; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfdrivr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfdrivr.h index 54614951b5d..54614951b5d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfdrivr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfdrivr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcferror.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcferror.h index e51fff8ea60..e51fff8ea60 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcferror.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcferror.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfread.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfread.c index d936c58051e..998cbed6f08 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfread.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfread.c @@ -144,13 +144,31 @@ THE SOFTWARE. if ( ( tables[i].size > tables[i + 1].offset ) || ( tables[i].offset > tables[i + 1].offset - tables[i].size ) ) - return FT_THROW( Invalid_Offset ); + { + error = FT_THROW( Invalid_Offset ); + goto Exit; + } } if ( !have_change ) break; } + /* we now check whether the `size' and `offset' values are reasonable: */ + /* `offset' + `size' must not exceed the stream size */ + tables = face->toc.tables; + for ( n = 0; n < toc->count; n++ ) + { + /* we need two checks to avoid overflow */ + if ( ( tables->size > stream->size ) || + ( tables->offset > stream->size - tables->size ) ) + { + error = FT_THROW( Invalid_Table ); + goto Exit; + } + tables++; + } + #ifdef FT_DEBUG_LEVEL_TRACE { @@ -631,24 +649,40 @@ THE SOFTWARE. return FT_THROW( Out_Of_Memory ); metrics = face->metrics; - for ( i = 0; i < nmetrics; i++ ) + for ( i = 0; i < nmetrics; i++, metrics++ ) { - error = pcf_get_metric( stream, format, metrics + i ); + error = pcf_get_metric( stream, format, metrics ); - metrics[i].bits = 0; + metrics->bits = 0; FT_TRACE5(( " idx %d: width=%d, " "lsb=%d, rsb=%d, ascent=%d, descent=%d, swidth=%d\n", i, - ( metrics + i )->characterWidth, - ( metrics + i )->leftSideBearing, - ( metrics + i )->rightSideBearing, - ( metrics + i )->ascent, - ( metrics + i )->descent, - ( metrics + i )->attributes )); + metrics->characterWidth, + metrics->leftSideBearing, + metrics->rightSideBearing, + metrics->ascent, + metrics->descent, + metrics->attributes )); if ( error ) break; + + /* sanity checks -- those values are used in `PCF_Glyph_Load' to */ + /* compute a glyph's bitmap dimensions, thus setting them to zero in */ + /* case of an error disables this particular glyph only */ + if ( metrics->rightSideBearing < metrics->leftSideBearing || + metrics->ascent + metrics->descent < 0 ) + { + metrics->characterWidth = 0; + metrics->leftSideBearing = 0; + metrics->rightSideBearing = 0; + metrics->ascent = 0; + metrics->descent = 0; + + FT_TRACE0(( "pcf_get_metrics:" + " invalid metrics for glyph %d\n", i )); + } } if ( error ) @@ -812,6 +846,15 @@ THE SOFTWARE. if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) return FT_THROW( Invalid_File_Format ); + /* sanity checks */ + if ( firstCol < 0 || + firstCol > lastCol || + lastCol > 0xFF || + firstRow < 0 || + firstRow > lastRow || + lastRow > 0xFF ) + return FT_THROW( Invalid_Table ); + FT_TRACE4(( "pdf_get_encodings:\n" )); FT_TRACE4(( " firstCol %d, lastCol %d, firstRow %d, lastRow %d\n", diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfread.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfread.h index c9524f13464..c9524f13464 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfread.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfread.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfutil.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfutil.c index 0451ee8deff..0451ee8deff 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfutil.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfutil.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfutil.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfutil.h index ce10fb541d5..ce10fb541d5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/pcfutil.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/pcfutil.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/rules.mk index 78641528fab..78641528fab 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pcf/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pcf/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/Jamfile index 9e2f2b8d050..9e2f2b8d050 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/module.mk index 8d1d28a9d23..8d1d28a9d23 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfr.c index eb2c4edb7ec..eb2c4edb7ec 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfr.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrcmap.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrcmap.c index 1f05640cc60..90ba0105ea1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrcmap.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrcmap.c @@ -25,11 +25,14 @@ FT_CALLBACK_DEF( FT_Error ) - pfr_cmap_init( PFR_CMap cmap ) + pfr_cmap_init( PFR_CMap cmap, + FT_Pointer pointer ) { FT_Error error = FT_Err_Ok; PFR_Face face = (PFR_Face)FT_CMAP_FACE( cmap ); + FT_UNUSED( pointer ); + cmap->num_chars = face->phy_font.num_chars; cmap->chars = face->phy_font.chars; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrcmap.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrcmap.h index a6269530543..a6269530543 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrcmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrcmap.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrdrivr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrdrivr.c index 4c43947bf49..db66281acd5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrdrivr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrdrivr.c @@ -4,7 +4,7 @@ /* */ /* FreeType PFR driver interface (body). */ /* */ -/* Copyright 2002-2004, 2006, 2008, 2010, 2011, 2013 by */ +/* Copyright 2002-2004, 2006, 2008, 2010, 2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -37,7 +37,7 @@ PFR_PhyFont phys = &face->phy_font; - pfr_face_get_kerning( pfrface, left, right, avector ); + (void)pfr_face_get_kerning( pfrface, left, right, avector ); /* convert from metrics to outline units when necessary */ if ( phys->outline_resolution != phys->metrics_resolution ) @@ -134,7 +134,7 @@ } - FT_CALLBACK_TABLE_DEF + static const FT_Service_PfrMetricsRec pfr_metrics_service_rec = { pfr_get_metrics, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrdrivr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrdrivr.h index 75f86c5cddf..75f86c5cddf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrdrivr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrdrivr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrerror.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrerror.h index 94dc8c5e1c1..94dc8c5e1c1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrerror.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrerror.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrgload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrgload.c index 2ce093779c3..2ce093779c3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrgload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrgload.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrgload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrgload.h index 7cc7a8702a4..7cc7a8702a4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrgload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrgload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrload.c index 97c130aad1c..97c130aad1c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrload.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrload.h index ed010715d1c..ed010715d1c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrobjs.c index 194d2df2d69..0c89242c743 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrobjs.c @@ -4,7 +4,7 @@ /* */ /* FreeType PFR object methods (body). */ /* */ -/* Copyright 2002-2008, 2010-2011, 2013 by */ +/* Copyright 2002-2008, 2010-2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -23,6 +23,7 @@ #include "pfrsbit.h" #include FT_OUTLINE_H #include FT_INTERNAL_DEBUG_H +#include FT_INTERNAL_CALC_H #include FT_TRUETYPE_IDS_H #include "pfrerror.h" @@ -515,7 +516,7 @@ { FT_UInt count = item->pair_count; FT_UInt size = item->pair_size; - FT_UInt power = (FT_UInt)ft_highpow2( (FT_UInt32)count ); + FT_UInt power = 1 << FT_MSB( count ); FT_UInt probe = power * size; FT_UInt extra = count - power; FT_Byte* base = stream->cursor; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrobjs.h index f6aa8b44cc6..f6aa8b44cc6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrobjs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrsbit.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrsbit.c index 2da1500707a..979bf78a267 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrsbit.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrsbit.c @@ -59,7 +59,7 @@ if ( !decreasing ) { - writer->line += writer->pitch * ( target->rows-1 ); + writer->line += writer->pitch * ( target->rows - 1 ); writer->pitch = -writer->pitch; } } @@ -636,7 +636,9 @@ * which causes a size truncation, because truncated * size properties makes bitmap glyph broken. */ - if ( xpos > FT_INT_MAX || ( ypos + ysize ) > FT_INT_MAX ) + if ( xpos > FT_INT_MAX || xpos < FT_INT_MIN || + ysize > FT_INT_MAX || ypos + ysize > FT_INT_MAX || + ypos + (FT_Long)ysize < FT_INT_MIN ) { FT_TRACE1(( "pfr_slot_load_bitmap:" )); FT_TRACE1(( "huge bitmap glyph %dx%d over FT_GlyphSlot\n", diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrsbit.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrsbit.h index 015e9e6dada..015e9e6dada 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrsbit.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrsbit.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrtypes.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrtypes.h index 918310814c5..918310814c5 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/pfrtypes.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/pfrtypes.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/rules.mk index 60b96c74154..60b96c74154 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pfr/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pfr/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/Jamfile index faeded90445..faeded90445 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/afmparse.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/afmparse.c index 6a40e110dc6..6a40e110dc6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/afmparse.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/afmparse.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/afmparse.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/afmparse.h index 35d96046c5d..35d96046c5d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/afmparse.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/afmparse.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/module.mk index 42bf6f51999..42bf6f51999 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psaux.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psaux.c index a4b9c5c6e45..a4b9c5c6e45 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psaux.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psaux.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxerr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxerr.h index d52375f8cb8..d52375f8cb8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxerr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxerr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxmod.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxmod.c index 4b1249d49b6..4b1249d49b6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxmod.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxmod.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxmod.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxmod.h index 12172369248..12172369248 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psauxmod.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psauxmod.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psconv.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psconv.c index d0d8861c22f..7792a62947b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psconv.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psconv.c @@ -250,7 +250,8 @@ if ( c < 0 || c >= 10 ) break; - if ( decimal < 0xCCCCCCCL ) + /* only add digit if we don't overflow */ + if ( divider < 0xCCCCCCCL && decimal < 0xCCCCCCCL ) { decimal = decimal * 10 + c; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psconv.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psconv.h index d91c7622104..d91c7622104 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psconv.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psconv.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psobjs.c index b4b7d45c334..7ec3b4cf5fd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psobjs.c @@ -1338,7 +1338,15 @@ { parser->cursor = token->start; parser->limit = token->limit; - ps_parser_load_field( parser, &fieldrec, objects, max_objects, 0 ); + + error = ps_parser_load_field( parser, + &fieldrec, + objects, + max_objects, + 0 ); + if ( error ) + break; + fieldrec.offset += fieldrec.size; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psobjs.h index e380c60dabb..e380c60dabb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/psobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/psobjs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/rules.mk index 7a1be37b692..7a1be37b692 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1cmap.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1cmap.c index 9e5bd34ffec..fb1353ae0fd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1cmap.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1cmap.c @@ -120,8 +120,12 @@ FT_CALLBACK_DEF( FT_Error ) - t1_cmap_standard_init( T1_CMapStd cmap ) + t1_cmap_standard_init( T1_CMapStd cmap, + FT_Pointer pointer ) { + FT_UNUSED( pointer ); + + t1_cmap_std_init( cmap, 0 ); return 0; } @@ -142,8 +146,12 @@ FT_CALLBACK_DEF( FT_Error ) - t1_cmap_expert_init( T1_CMapStd cmap ) + t1_cmap_expert_init( T1_CMapStd cmap, + FT_Pointer pointer ) { + FT_UNUSED( pointer ); + + t1_cmap_std_init( cmap, 1 ); return 0; } @@ -172,11 +180,14 @@ FT_CALLBACK_DEF( FT_Error ) - t1_cmap_custom_init( T1_CMapCustom cmap ) + t1_cmap_custom_init( T1_CMapCustom cmap, + FT_Pointer pointer ) { T1_Face face = (T1_Face)FT_CMAP_FACE( cmap ); T1_Encoding encoding = &face->type1.encoding; + FT_UNUSED( pointer ); + cmap->first = encoding->code_first; cmap->count = (FT_UInt)( encoding->code_last - cmap->first ); @@ -272,12 +283,15 @@ FT_CALLBACK_DEF( FT_Error ) - t1_cmap_unicode_init( PS_Unicodes unicodes ) + t1_cmap_unicode_init( PS_Unicodes unicodes, + FT_Pointer pointer ) { T1_Face face = (T1_Face)FT_CMAP_FACE( unicodes ); FT_Memory memory = FT_FACE_MEMORY( face ); FT_Service_PsCMaps psnames = (FT_Service_PsCMaps)face->psnames; + FT_UNUSED( pointer ); + return psnames->unicodes_init( memory, unicodes, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1cmap.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1cmap.h index 7ae65d2fa16..7ae65d2fa16 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1cmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1cmap.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1decode.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1decode.c index 6ce370bfaaa..d67a05ebca8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1decode.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1decode.c @@ -4,7 +4,7 @@ /* */ /* PostScript Type 1 decoding routines (body). */ /* */ -/* Copyright 2000-2013 by */ +/* Copyright 2000-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -1098,10 +1098,12 @@ goto Syntax_Error; /* apply hints to the loaded glyph outline now */ - hinter->apply( hinter->hints, - builder->current, - (PSH_Globals)builder->hints_globals, - decoder->hint_mode ); + error = hinter->apply( hinter->hints, + builder->current, + (PSH_Globals)builder->hints_globals, + decoder->hint_mode ); + if ( error ) + goto Fail; } /* add current outline to the glyph slot */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1decode.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1decode.h index 00728db501e..00728db501e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psaux/t1decode.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psaux/t1decode.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/Jamfile index 779f1b0b828..779f1b0b828 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/module.mk index ed24eb7fa89..ed24eb7fa89 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshalgo.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshalgo.c index 644c76d1017..644c76d1017 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshalgo.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshalgo.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshalgo.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshalgo.h index c70f31ea949..c70f31ea949 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshalgo.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshalgo.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshglob.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshglob.c index f75bae45105..1bcc481b9b9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshglob.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshglob.c @@ -5,7 +5,7 @@ /* PostScript hinter global hinting management (body). */ /* Inspired by the new auto-hinter module. */ /* */ -/* Copyright 2001-2004, 2006, 2010, 2012, 2013 by */ +/* Copyright 2001-2004, 2006, 2010, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used */ @@ -750,7 +750,7 @@ } - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) psh_globals_set_scale( PSH_Globals globals, FT_Fixed x_scale, FT_Fixed y_scale, @@ -780,8 +780,6 @@ psh_globals_scale_widths( globals, 1 ); psh_blues_scale_zones( &globals->blues, y_scale, y_delta ); } - - return 0; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshglob.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshglob.h index c511626157a..94d972a940a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshglob.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshglob.h @@ -4,7 +4,7 @@ /* */ /* PostScript hinter global hinting management. */ /* */ -/* Copyright 2001, 2002, 2003 by */ +/* Copyright 2001, 2002, 2003, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -167,7 +167,7 @@ FT_BEGIN_HEADER FT_Int org_width ); #endif - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) psh_globals_set_scale( PSH_Globals globals, FT_Fixed x_scale, FT_Fixed y_scale, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshinter.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshinter.c index b35a2a91c53..b35a2a91c53 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshinter.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshinter.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshmod.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshmod.c index cdeaca18c9b..cdeaca18c9b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshmod.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshmod.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshmod.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshmod.h index 0ae7e96f54e..0ae7e96f54e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshmod.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshmod.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshnterr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshnterr.h index 7cc180f0cac..7cc180f0cac 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshnterr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshnterr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshpic.c index 568f4ac4b01..568f4ac4b01 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshpic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshpic.h index b46f8531138..b46f8531138 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshrec.c b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshrec.c index cd66ea869a2..73a18ffd640 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshrec.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshrec.c @@ -4,7 +4,7 @@ /* */ /* FreeType PostScript hints recorder (body). */ /* */ -/* Copyright 2001-2004, 2007, 2009, 2013 by */ +/* Copyright 2001-2004, 2007, 2009, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -797,13 +797,12 @@ } - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) ps_hints_init( PS_Hints hints, FT_Memory memory ) { FT_MEM_ZERO( hints, sizeof ( *hints ) ); hints->memory = memory; - return FT_Err_Ok; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshrec.h b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshrec.h index dcb3197f94d..a88fe6e834a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/pshrec.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/pshrec.h @@ -4,7 +4,7 @@ /* */ /* Postscript (Type1/Type2) hints recorder (specification). */ /* */ -/* Copyright 2001, 2002, 2003, 2006, 2008 by */ +/* Copyright 2001, 2002, 2003, 2006, 2008, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -141,7 +141,7 @@ FT_BEGIN_HEADER /* */ /* initialize hints recorder */ - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) ps_hints_init( PS_Hints hints, FT_Memory memory ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/rules.mk index 888ece10589..888ece10589 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/pshinter/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/pshinter/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/Jamfile index 06c0dda66f2..06c0dda66f2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/module.mk index a6e908257cb..a6e908257cb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psmodule.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psmodule.c index 0a5bcb7d2a1..0a5bcb7d2a1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psmodule.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psmodule.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psmodule.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psmodule.h index 28fa14807c0..28fa14807c0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psmodule.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psmodule.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psnamerr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psnamerr.h index acda7f967ee..acda7f967ee 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psnamerr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psnamerr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psnames.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psnames.c index 1ede225dc9c..1ede225dc9c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/psnames.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/psnames.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pspic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pspic.c index 3820f65a74a..3820f65a74a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pspic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pspic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pspic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pspic.h index 6ff002c6037..6ff002c6037 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pspic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pspic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pstables.h b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pstables.h index 0a6637f9853..0a6637f9853 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/pstables.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/pstables.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/rules.mk index f321de2d641..f321de2d641 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/psnames/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/psnames/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/Jamfile index 4f60e87c788..4f60e87c788 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftmisc.h b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftmisc.h index 703155a4291..703155a4291 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftmisc.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftmisc.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftraster.c b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftraster.c index ddecc809cc2..b06ac333da1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftraster.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftraster.c @@ -2284,6 +2284,8 @@ Long e1, e2; Byte* target; + Int dropOutControl = left->flags & 7; + FT_UNUSED( y ); FT_UNUSED( left ); FT_UNUSED( right ); @@ -2293,7 +2295,8 @@ e1 = TRUNC( CEILING( x1 ) ); - if ( x2 - x1 - ras.precision <= ras.precision_jitter ) + if ( dropOutControl != 2 && + x2 - x1 - ras.precision <= ras.precision_jitter ) e2 = e1; else e2 = TRUNC( FLOOR( x2 ) ); @@ -2550,7 +2553,7 @@ e1 = TRUNC( e1 ); - if ( e1 >= 0 && e1 < ras.target.rows ) + if ( e1 >= 0 && (ULong)e1 < ras.target.rows ) { PByte p; @@ -2644,7 +2647,7 @@ /* bounding box instead */ if ( pxl < 0 ) pxl = e1; - else if ( TRUNC( pxl ) >= ras.target.rows ) + else if ( (ULong)( TRUNC( pxl ) ) >= ras.target.rows ) pxl = e2; /* check that the other pixel isn't set */ @@ -2659,9 +2662,9 @@ if ( ras.target.pitch > 0 ) bits += ( ras.target.rows - 1 ) * ras.target.pitch; - if ( e1 >= 0 && - e1 < ras.target.rows && - *bits & f1 ) + if ( e1 >= 0 && + (ULong)e1 < ras.target.rows && + *bits & f1 ) return; } else @@ -2673,7 +2676,7 @@ e1 = TRUNC( pxl ); - if ( e1 >= 0 && e1 < ras.target.rows ) + if ( e1 >= 0 && (ULong)e1 < ras.target.rows ) { bits -= e1 * ras.target.pitch; if ( ras.target.pitch > 0 ) @@ -3539,7 +3542,7 @@ } - static void + static int ft_black_set_mode( black_PRaster raster, unsigned long mode, const char* palette ) @@ -3563,6 +3566,8 @@ FT_UNUSED( palette ); #endif + + return 0; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftraster.h b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftraster.h index 80fe46debaf..80fe46debaf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftraster.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftraster.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftrend1.c b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftrend1.c index aa7f6d56649..aa7f6d56649 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftrend1.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftrend1.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftrend1.h b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftrend1.h index 4cf128622a9..4cf128622a9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/ftrend1.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/ftrend1.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/module.mk index cbff5df96ea..cbff5df96ea 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/raster.c b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/raster.c index 1202a116cdf..1202a116cdf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/raster.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/raster.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rasterrs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rasterrs.h index ab85c002a30..ab85c002a30 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rasterrs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rasterrs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rastpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rastpic.c index 5e9f7cc9c4e..5e9f7cc9c4e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rastpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rastpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rastpic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rastpic.h index e0ddba624ee..e0ddba624ee 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rastpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rastpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rules.mk index 0e0b5e4ebd6..0e0b5e4ebd6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/raster/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/raster/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/Jamfile index cb20b1b04b1..cb20b1b04b1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/module.mk index 95fd6a31437..95fd6a31437 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/pngshim.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/pngshim.c index 878de1fefac..9bfcc2a779b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/pngshim.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/pngshim.c @@ -4,7 +4,7 @@ /* */ /* PNG Bitmap glyph support. */ /* */ -/* Copyright 2013 by Google, Inc. */ +/* Copyright 2013, 2014 by Google, Inc. */ /* Written by Stuart Gill and Behdad Esfahbod. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -129,7 +129,7 @@ *error = FT_THROW( Out_Of_Memory ); #ifdef PNG_SETJMP_SUPPORTED - longjmp( png_jmpbuf( png ), 1 ); + ft_longjmp( png_jmpbuf( png ), 1 ); #endif /* if we get here, then we have no choice but to abort ... */ } @@ -205,11 +205,11 @@ goto Exit; } - if ( !populate_map_and_metrics && - ( x_offset + metrics->width > map->width || - y_offset + metrics->height > map->rows || - pix_bits != 32 || - map->pixel_mode != FT_PIXEL_MODE_BGRA ) ) + if ( !populate_map_and_metrics && + ( (FT_UInt)x_offset + metrics->width > map->width || + (FT_UInt)y_offset + metrics->height > map->rows || + pix_bits != 32 || + map->pixel_mode != FT_PIXEL_MODE_BGRA ) ) { error = FT_THROW( Invalid_Argument ); goto Exit; @@ -269,6 +269,14 @@ map->pitch = map->width * 4; map->num_grays = 256; + /* reject too large bitmaps similarly to the rasterizer */ + if ( map->rows > 0x7FFF || map->width > 0x7FFF ) + { + error = FT_THROW( Array_Too_Large ); + goto DestroyExit; + } + + /* this doesn't overflow: 0x7FFF * 0x7FFF * 4 < 2^32 */ size = map->rows * map->pitch; error = ft_glyphslot_alloc_bitmap( slot, size ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/pngshim.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/pngshim.h index dc9ecaf9189..dc9ecaf9189 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/pngshim.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/pngshim.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/rules.mk index a6c956ab657..a6c956ab657 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfdriver.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfdriver.c index e4fcda5ec4a..bd8dd2e5718 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfdriver.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfdriver.c @@ -75,36 +75,36 @@ switch ( tag ) { - case ft_sfnt_head: + case FT_SFNT_HEAD: table = &face->header; break; - case ft_sfnt_hhea: + case FT_SFNT_HHEA: table = &face->horizontal; break; - case ft_sfnt_vhea: - table = face->vertical_info ? &face->vertical : 0; + case FT_SFNT_VHEA: + table = face->vertical_info ? &face->vertical : NULL; break; - case ft_sfnt_os2: - table = face->os2.version == 0xFFFFU ? 0 : &face->os2; + case FT_SFNT_OS2: + table = face->os2.version == 0xFFFFU ? NULL : &face->os2; break; - case ft_sfnt_post: + case FT_SFNT_POST: table = &face->postscript; break; - case ft_sfnt_maxp: + case FT_SFNT_MAXP: table = &face->max_profile; break; - case ft_sfnt_pclt: - table = face->pclt.Version ? &face->pclt : 0; + case FT_SFNT_PCLT: + table = face->pclt.Version ? &face->pclt : NULL; break; default: - table = 0; + table = NULL; } return table; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfdriver.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfdriver.h index 5de25d51ca4..5de25d51ca4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfdriver.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfdriver.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sferrors.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sferrors.h index e981e1d26fb..e981e1d26fb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sferrors.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sferrors.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfnt.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfnt.c index d62ed4e0b55..d62ed4e0b55 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfnt.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfnt.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfntpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfntpic.c index b3fb24b3f00..b3fb24b3f00 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfntpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfntpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfntpic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfntpic.h index b09a9141e07..b09a9141e07 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfntpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfntpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfobjs.c index a31c77cbec6..70b988d650e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfobjs.c @@ -4,7 +4,7 @@ /* */ /* SFNT object management (base). */ /* */ -/* Copyright 1996-2008, 2010-2013 by */ +/* Copyright 1996-2008, 2010-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -348,29 +348,22 @@ } -#define WRITE_BYTE( p, v ) \ - do \ - { \ - *(p)++ = (v) >> 0; \ - \ +#define WRITE_USHORT( p, v ) \ + do \ + { \ + *(p)++ = (FT_Byte)( (v) >> 8 ); \ + *(p)++ = (FT_Byte)( (v) >> 0 ); \ + \ } while ( 0 ) -#define WRITE_USHORT( p, v ) \ - do \ - { \ - *(p)++ = (v) >> 8; \ - *(p)++ = (v) >> 0; \ - \ - } while ( 0 ) - -#define WRITE_ULONG( p, v ) \ - do \ - { \ - *(p)++ = (v) >> 24; \ - *(p)++ = (v) >> 16; \ - *(p)++ = (v) >> 8; \ - *(p)++ = (v) >> 0; \ - \ +#define WRITE_ULONG( p, v ) \ + do \ + { \ + *(p)++ = (FT_Byte)( (v) >> 24 ); \ + *(p)++ = (FT_Byte)( (v) >> 16 ); \ + *(p)++ = (FT_Byte)( (v) >> 8 ); \ + *(p)++ = (FT_Byte)( (v) >> 0 ); \ + \ } while ( 0 ) @@ -574,8 +567,10 @@ if ( table->Offset != woff_offset || - table->Offset + table->CompLength > woff.length || - sfnt_offset + table->OrigLength > woff.totalSfntSize || + table->CompLength > woff.length || + table->Offset > woff.length - table->CompLength || + table->OrigLength > woff.totalSfntSize || + sfnt_offset > woff.totalSfntSize - table->OrigLength || table->CompLength > table->OrigLength ) { error = FT_THROW( Invalid_Table ); @@ -661,6 +656,8 @@ } else { +#ifdef FT_CONFIG_OPTION_USE_ZLIB + /* Uncompress with zlib. */ FT_ULong output_len = table->OrigLength; @@ -675,6 +672,13 @@ error = FT_THROW( Invalid_Table ); goto Exit; } + +#else /* !FT_CONFIG_OPTION_USE_ZLIB */ + + error = FT_THROW( Unimplemented_Feature ); + goto Exit; + +#endif /* !FT_CONFIG_OPTION_USE_ZLIB */ } FT_FRAME_EXIT(); @@ -717,7 +721,6 @@ } -#undef WRITE_BYTE #undef WRITE_USHORT #undef WRITE_ULONG @@ -1015,7 +1018,6 @@ if ( is_apple_sbix ) has_outline = FALSE; - /* if this font doesn't contain outlines, we try to load */ /* a `bhed' table */ if ( !has_outline && sfnt->load_bhed ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfobjs.h index 6241c93b392..6241c93b392 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/sfobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/sfobjs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttbdf.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttbdf.c index 9401dae5f86..9401dae5f86 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttbdf.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttbdf.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttbdf.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttbdf.h index 48a10d6e9b3..48a10d6e9b3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttbdf.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttbdf.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmap.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmap.c index c717f5ffcbe..ece9ef11235 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmap.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmap.c @@ -845,9 +845,6 @@ p = table + 2; /* skip format */ length = TT_NEXT_USHORT( p ); - if ( length < 16 ) - FT_INVALID_TOO_SHORT; - /* in certain fonts, the `length' field is invalid and goes */ /* out of bound. We try to correct this here... */ if ( table + length > valid->limit ) @@ -858,6 +855,9 @@ length = (FT_UInt)( valid->limit - table ); } + if ( length < 16 ) + FT_INVALID_TOO_SHORT; + p = table + 6; num_segs = TT_NEXT_USHORT( p ); /* read segCountX2 */ @@ -1669,7 +1669,8 @@ p = is32 + 8192; /* skip `is32' array */ num_groups = TT_NEXT_ULONG( p ); - if ( p + num_groups * 12 > valid->limit ) + /* p + num_groups * 12 > valid->limit ? */ + if ( num_groups > (FT_UInt32)( valid->limit - p ) / 12 ) FT_INVALID_TOO_SHORT; /* check groups, they must be in increasing order */ @@ -1694,7 +1695,12 @@ if ( valid->level >= FT_VALIDATE_TIGHT ) { - if ( start_id + end - start >= TT_VALID_GLYPH_COUNT( valid ) ) + FT_UInt32 d = end - start; + + + /* start_id + end - start >= TT_VALID_GLYPH_COUNT( valid ) ? */ + if ( d > TT_VALID_GLYPH_COUNT( valid ) || + start_id >= TT_VALID_GLYPH_COUNT( valid ) - d ) FT_INVALID_GLYPH_ID; count = (FT_UInt32)( end - start + 1 ); @@ -1892,7 +1898,9 @@ count = TT_NEXT_ULONG( p ); if ( length > (FT_ULong)( valid->limit - table ) || - length < 20 + count * 2 ) + /* length < 20 + count * 2 ? */ + length < 20 || + ( length - 20 ) / 2 < count ) FT_INVALID_TOO_SHORT; /* check glyph indices */ @@ -2079,7 +2087,9 @@ num_groups = TT_NEXT_ULONG( p ); if ( length > (FT_ULong)( valid->limit - table ) || - length < 16 + 12 * num_groups ) + /* length < 16 + 12 * num_groups ? */ + length < 16 || + ( length - 16 ) / 12 < num_groups ) FT_INVALID_TOO_SHORT; /* check groups, they must be in increasing order */ @@ -2101,7 +2111,12 @@ if ( valid->level >= FT_VALIDATE_TIGHT ) { - if ( start_id + end - start >= TT_VALID_GLYPH_COUNT( valid ) ) + FT_UInt32 d = end - start; + + + /* start_id + end - start >= TT_VALID_GLYPH_COUNT( valid ) ? */ + if ( d > TT_VALID_GLYPH_COUNT( valid ) || + start_id >= TT_VALID_GLYPH_COUNT( valid ) - d ) FT_INVALID_GLYPH_ID; } @@ -2401,7 +2416,9 @@ num_groups = TT_NEXT_ULONG( p ); if ( length > (FT_ULong)( valid->limit - table ) || - length < 16 + 12 * num_groups ) + /* length < 16 + 12 * num_groups ? */ + length < 16 || + ( length - 16 ) / 12 < num_groups ) FT_INVALID_TOO_SHORT; /* check groups, they must be in increasing order */ @@ -2787,7 +2804,9 @@ num_selectors = TT_NEXT_ULONG( p ); if ( length > (FT_ULong)( valid->limit - table ) || - length < 10 + 11 * num_selectors ) + /* length < 10 + 11 * num_selectors ? */ + length < 10 || + ( length - 10 ) / 11 < num_selectors ) FT_INVALID_TOO_SHORT; /* check selectors, they must be in increasing order */ @@ -2823,7 +2842,8 @@ FT_ULong lastBase = 0; - if ( defp + numRanges * 4 > valid->limit ) + /* defp + numRanges * 4 > valid->limit ? */ + if ( numRanges > (FT_ULong)( valid->limit - defp ) / 4 ) FT_INVALID_TOO_SHORT; for ( i = 0; i < numRanges; ++i ) @@ -2850,7 +2870,8 @@ FT_ULong i, lastUni = 0; - if ( numMappings * 4 > (FT_ULong)( valid->limit - ndp ) ) + /* numMappings * 4 > (FT_ULong)( valid->limit - ndp ) ? */ + if ( numMappings > ( (FT_ULong)( valid->limit - ndp ) ) / 4 ) FT_INVALID_TOO_SHORT; for ( i = 0; i < numMappings; ++i ) @@ -3473,23 +3494,14 @@ /* only recognize format 0 */ if ( TT_NEXT_USHORT( p ) != 0 ) { - p -= 2; FT_ERROR(( "tt_face_build_cmaps:" " unsupported `cmap' table format = %d\n", - TT_PEEK_USHORT( p ) )); + TT_PEEK_USHORT( p - 2) )); return FT_THROW( Invalid_Table ); } num_cmaps = TT_NEXT_USHORT( p ); -#ifdef FT_MAX_CHARMAP_CACHEABLE - if ( num_cmaps > FT_MAX_CHARMAP_CACHEABLE ) - FT_ERROR(( "tt_face_build_cmaps: too many cmap subtables (%d)\n" - " subtable #%d and higher are loaded" - " but cannot be searched\n", - num_cmaps, FT_MAX_CHARMAP_CACHEABLE + 1 )); -#endif - for ( ; num_cmaps > 0 && p + 8 <= limit; num_cmaps-- ) { FT_CharMapRec charmap; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmap.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmap.h index 0fde1676bfa..0fde1676bfa 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmap.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmap.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmapc.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmapc.h index 2ea204309cf..2ea204309cf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttcmapc.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttcmapc.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttkern.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttkern.c index 32c4008b23c..455e7b5e3dc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttkern.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttkern.c @@ -99,7 +99,7 @@ length = FT_NEXT_USHORT( p ); coverage = FT_NEXT_USHORT( p ); - if ( length <= 6 ) + if ( length <= 6 + 8 ) break; p_next += length; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttkern.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttkern.h index df1da9b273e..df1da9b273e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttkern.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttkern.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttload.c index 0a3cd29dbae..8338150abd4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttload.c @@ -5,7 +5,7 @@ /* Load the basic TrueType tables, i.e., tables that can be either in */ /* TTF or OTF fonts (body). */ /* */ -/* Copyright 1996-2010, 2012, 2013 by */ +/* Copyright 1996-2010, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -207,7 +207,10 @@ } /* we ignore invalid tables */ - if ( table.Offset + table.Length > stream->size ) + + /* table.Offset + table.Length > stream->size ? */ + if ( table.Length > stream->size || + table.Offset > stream->size - table.Length ) { FT_TRACE2(( "check_table_dir: table entry %d invalid\n", nn )); continue; @@ -395,7 +398,10 @@ entry->Length = FT_GET_ULONG(); /* ignore invalid tables */ - if ( entry->Offset + entry->Length > stream->size ) + + /* entry->Offset + entry->Length > stream->size ? */ + if ( entry->Length > stream->size || + entry->Offset > stream->size - entry->Length ) continue; else { diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttload.h index 49a1aee1633..49a1aee1633 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttmtx.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttmtx.c index a8cc63a1151..bb319577e26 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttmtx.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttmtx.c @@ -4,7 +4,7 @@ /* */ /* Load the metrics tables common to TTF and OTF fonts (body). */ /* */ -/* Copyright 2006-2009, 2011-2013 by */ +/* Copyright 2006-2009, 2011-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -201,7 +201,7 @@ /* aadvance :: The advance width or advance height, depending on */ /* the `vertical' flag. */ /* */ - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) tt_face_get_metrics( TT_Face face, FT_Bool vertical, FT_UInt gindex, @@ -274,8 +274,6 @@ *abearing = 0; *aadvance = 0; } - - return FT_Err_Ok; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttmtx.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttmtx.h index 8b91a113d85..fb040394c08 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttmtx.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttmtx.h @@ -4,7 +4,7 @@ /* */ /* Load the metrics tables common to TTF and OTF fonts (specification). */ /* */ -/* Copyright 2006 by */ +/* Copyright 2006, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -40,7 +40,7 @@ FT_BEGIN_HEADER FT_Bool vertical ); - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) tt_face_get_metrics( TT_Face face, FT_Bool vertical, FT_UInt gindex, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttpost.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttpost.c index 47a85c0c9f4..99d800549fc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttpost.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttpost.c @@ -5,7 +5,7 @@ /* Postcript name table processing for TrueType and OpenType fonts */ /* (body). */ /* */ -/* Copyright 1996-2003, 2006-2010, 2013 by */ +/* Copyright 1996-2003, 2006-2010, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -64,12 +64,12 @@ #define MAC_NAME( x ) ( (FT_String*)tt_post_default_names[x] ) - /* the 258 default Mac PS glyph names */ + /* the 258 default Mac PS glyph names; see file `tools/glnames.py' */ static const FT_String* const tt_post_default_names[258] = { /* 0 */ - ".notdef", ".null", "CR", "space", "exclam", + ".notdef", ".null", "nonmarkingreturn", "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", "ampersand", /* 10 */ "quotesingle", "parenleft", "parenright", "asterisk", "plus", @@ -120,7 +120,7 @@ "ae", "oslash", "questiondown", "exclamdown", "logicalnot", "radical", "florin", "approxequal", "Delta", "guillemotleft", /* 170 */ - "guillemotright", "ellipsis", "nbspace", "Agrave", "Atilde", + "guillemotright", "ellipsis", "nonbreakingspace", "Agrave", "Atilde", "Otilde", "OE", "oe", "endash", "emdash", /* 180 */ "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", @@ -144,8 +144,8 @@ "multiply", "onesuperior", "twosuperior", "threesuperior", "onehalf", "onequarter", "threequarters", "franc", "Gbreve", "gbreve", /* 250 */ - "Idot", "Scedilla", "scedilla", "Cacute", "cacute", - "Ccaron", "ccaron", "dmacron", + "Idotaccent", "Scedilla", "scedilla", "Cacute", "cacute", + "Ccaron", "ccaron", "dcroat", }; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttpost.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttpost.h index 6f06d75a719..6f06d75a719 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttpost.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttpost.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttsbit.c b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttsbit.c index 8ff7b9d6ad8..c2db96c6d8c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttsbit.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttsbit.c @@ -150,12 +150,25 @@ error = FT_THROW( Unknown_File_Format ); goto Exit; } - if ( flags != 0x0001 || num_strikes >= 0x10000UL ) + + /* Bit 0 must always be `1'. */ + /* Bit 1 controls the overlay of bitmaps with outlines. */ + /* All other bits should be zero. */ + if ( !( flags == 1 || flags == 3 ) || + num_strikes >= 0x10000UL ) { error = FT_THROW( Invalid_File_Format ); goto Exit; } + /* we currently don't support bit 1; however, it is better to */ + /* draw at least something... */ + if ( flags == 3 ) + FT_TRACE1(( "tt_face_load_sbit_strikes:" + " sbix overlay not supported yet\n" + " " + " expect bad rendering results\n" )); + /* * Count the number of strikes available in the table. We are a bit * paranoid there and don't trust the data. @@ -256,7 +269,8 @@ case TT_SBIT_TABLE_TYPE_SBIX: { FT_Stream stream = face->root.stream; - FT_UInt offset, ppem, resolution, upem; + FT_UInt offset, upem; + FT_UShort ppem, resolution; TT_HoriHeader *hori; FT_ULong table_size; @@ -380,9 +394,11 @@ p += 34; decoder->bit_depth = *p; - if ( decoder->strike_index_array > face->sbit_table_size || - decoder->strike_index_array + 8 * decoder->strike_index_count > - face->sbit_table_size ) + /* decoder->strike_index_array + */ + /* 8 * decoder->strike_index_count > face->sbit_table_size ? */ + if ( decoder->strike_index_array > face->sbit_table_size || + decoder->strike_index_count > + ( face->sbit_table_size - decoder->strike_index_array ) / 8 ) error = FT_THROW( Invalid_File_Format ); } @@ -504,13 +520,20 @@ p += 3; } + else + { + /* avoid uninitialized data in case there is no vertical info -- */ + metrics->vertBearingX = 0; + metrics->vertBearingY = 0; + metrics->vertAdvance = 0; + } decoder->metrics_loaded = 1; *pp = p; return FT_Err_Ok; Fail: - FT_TRACE1(( "tt_sbit_decoder_load_metrics: broken table" )); + FT_TRACE1(( "tt_sbit_decoder_load_metrics: broken table\n" )); return FT_THROW( Invalid_Argument ); } @@ -800,12 +823,12 @@ FT_Error error = FT_Err_Ok; FT_UInt num_components, nn; - FT_Char horiBearingX = decoder->metrics->horiBearingX; - FT_Char horiBearingY = decoder->metrics->horiBearingY; - FT_Byte horiAdvance = decoder->metrics->horiAdvance; - FT_Char vertBearingX = decoder->metrics->vertBearingX; - FT_Char vertBearingY = decoder->metrics->vertBearingY; - FT_Byte vertAdvance = decoder->metrics->vertAdvance; + FT_Char horiBearingX = (FT_Char)decoder->metrics->horiBearingX; + FT_Char horiBearingY = (FT_Char)decoder->metrics->horiBearingY; + FT_Byte horiAdvance = (FT_Byte)decoder->metrics->horiAdvance; + FT_Char vertBearingX = (FT_Char)decoder->metrics->vertBearingX; + FT_Char vertBearingY = (FT_Char)decoder->metrics->vertBearingY; + FT_Byte vertAdvance = (FT_Byte)decoder->metrics->vertAdvance; if ( p + 2 > limit ) @@ -1147,7 +1170,8 @@ num_glyphs = FT_NEXT_ULONG( p ); /* overflow check for p + ( num_glyphs + 1 ) * 4 */ - if ( num_glyphs > (FT_ULong)( ( ( p_limit - p ) >> 2 ) - 1 ) ) + if ( p + 4 > p_limit || + num_glyphs > (FT_ULong)( ( ( p_limit - p ) >> 2 ) - 1 ) ) goto NoBitmap; for ( mm = 0; mm < num_glyphs; mm++ ) @@ -1334,6 +1358,7 @@ case FT_MAKE_TAG( 'j', 'p', 'g', ' ' ): case FT_MAKE_TAG( 't', 'i', 'f', 'f' ): + case FT_MAKE_TAG( 'r', 'g', 'b', 'l' ): /* used on iOS 7.1 */ error = FT_THROW( Unknown_File_Format ); break; @@ -1352,10 +1377,11 @@ tt_face_get_metrics( face, FALSE, glyph_index, &abearing, &aadvance ); - metrics->horiBearingX = originOffsetX; - metrics->horiBearingY = -originOffsetY + metrics->height; - metrics->horiAdvance = aadvance * face->root.size->metrics.x_ppem / - face->header.Units_Per_EM; + metrics->horiBearingX = (FT_Short)originOffsetX; + metrics->horiBearingY = (FT_Short)( -originOffsetY + metrics->height ); + metrics->horiAdvance = (FT_Short)( aadvance * + face->root.size->metrics.x_ppem / + face->header.Units_Per_EM ); } return error; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttsbit.h b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttsbit.h index 695d0d8d02e..695d0d8d02e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/sfnt/ttsbit.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/sfnt/ttsbit.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/Jamfile index a8496aa2c2c..a8496aa2c2c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftgrays.c b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftgrays.c index 425911a964f..9d37d64517b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftgrays.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftgrays.c @@ -98,6 +98,9 @@ #define FT_ERR_XCAT( x, y ) x ## y #define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y ) +#define FT_BEGIN_STMNT do { +#define FT_END_STMNT } while ( 0 ) + /* define this to dump debugging information */ /* #define FT_DEBUG_LEVEL_TRACE */ @@ -1088,37 +1091,10 @@ typedef ptrdiff_t FT_PtrDist; /* dx and dy are x and y components of the P0-P3 chord vector. */ - dx = arc[3].x - arc[0].x; - dy = arc[3].y - arc[0].y; - - /* L is an (under)estimate of the Euclidean distance P0-P3. */ - /* */ - /* If dx >= dy, then r = sqrt(dx^2 + dy^2) can be overestimated */ - /* with least maximum error by */ - /* */ - /* r_upperbound = dx + (sqrt(2) - 1) * dy , */ - /* */ - /* where sqrt(2) - 1 can be (over)estimated by 107/256, giving an */ - /* error of no more than 8.4%. */ - /* */ - /* Similarly, some elementary calculus shows that r can be */ - /* underestimated with least maximum error by */ - /* */ - /* r_lowerbound = sqrt(2 + sqrt(2)) / 2 * dx */ - /* + sqrt(2 - sqrt(2)) / 2 * dy . */ - /* */ - /* 236/256 and 97/256 are (under)estimates of the two algebraic */ - /* numbers, giving an error of no more than 8.1%. */ - - dx_ = FT_ABS( dx ); - dy_ = FT_ABS( dy ); - - /* This is the same as */ - /* */ - /* L = ( 236 * FT_MAX( dx_, dy_ ) */ - /* + 97 * FT_MIN( dx_, dy_ ) ) >> 8; */ - L = ( dx_ > dy_ ? 236 * dx_ + 97 * dy_ - : 97 * dx_ + 236 * dy_ ) >> 8; + dx = dx_ = arc[3].x - arc[0].x; + dy = dy_ = arc[3].y - arc[0].y; + + L = FT_HYPOT( dx_, dy_ ); /* Avoid possible arithmetic overflow below by splitting. */ if ( L > 32767 ) @@ -1539,7 +1515,10 @@ typedef ptrdiff_t FT_PtrDist; TPos delta; - if ( !outline || !func_interface ) + if ( !outline ) + return FT_THROW( Invalid_Outline ); + + if ( !func_interface ) return FT_THROW( Invalid_Argument ); shift = func_interface->shift; @@ -2121,12 +2100,26 @@ typedef ptrdiff_t FT_PtrDist; } + static int + gray_raster_set_mode( FT_Raster raster, + unsigned long mode, + void* args ) + { + FT_UNUSED( raster ); + FT_UNUSED( mode ); + FT_UNUSED( args ); + + + return 0; /* nothing to do */ + } + + FT_DEFINE_RASTER_FUNCS(ft_grays_raster, FT_GLYPH_FORMAT_OUTLINE, (FT_Raster_New_Func) gray_raster_new, (FT_Raster_Reset_Func) gray_raster_reset, - (FT_Raster_Set_Mode_Func)0, + (FT_Raster_Set_Mode_Func)gray_raster_set_mode, (FT_Raster_Render_Func) gray_raster_render, (FT_Raster_Done_Func) gray_raster_done ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftgrays.h b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftgrays.h index f20f55f14b6..f20f55f14b6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftgrays.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftgrays.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmerrs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmerrs.h index 413d2f1f701..413d2f1f701 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmerrs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmerrs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmooth.c b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmooth.c index 89088cd0911..4e2dee562b0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmooth.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmooth.c @@ -103,25 +103,24 @@ FT_Render_Mode required_mode ) { FT_Error error; - FT_Outline* outline = NULL; + FT_Outline* outline = &slot->outline; + FT_Bitmap* bitmap = &slot->bitmap; + FT_Memory memory = render->root.memory; FT_BBox cbox; + FT_Pos x_shift = 0; + FT_Pos y_shift = 0; + FT_Pos x_left, y_top; FT_Pos width, height, pitch; #ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING FT_Pos height_org, width_org; #endif - FT_Bitmap* bitmap = &slot->bitmap; - FT_Memory memory = render->root.memory; FT_Int hmul = mode == FT_RENDER_MODE_LCD; FT_Int vmul = mode == FT_RENDER_MODE_LCD_V; - FT_Pos x_shift = 0; - FT_Pos y_shift = 0; - FT_Pos x_left, y_top; FT_Raster_Params params; - FT_Bool have_translated_origin = FALSE; - FT_Bool have_outline_shifted = FALSE; - FT_Bool have_buffer = FALSE; + FT_Bool have_outline_shifted = FALSE; + FT_Bool have_buffer = FALSE; /* check glyph image format */ @@ -138,73 +137,45 @@ goto Exit; } - outline = &slot->outline; - - /* translate the outline to the new origin if needed */ if ( origin ) { - FT_Outline_Translate( outline, origin->x, origin->y ); - have_translated_origin = TRUE; + x_shift = origin->x; + y_shift = origin->y; } /* compute the control box, and grid fit it */ + /* taking into account the origin shift */ FT_Outline_Get_CBox( outline, &cbox ); - cbox.xMin = FT_PIX_FLOOR( cbox.xMin ); - cbox.yMin = FT_PIX_FLOOR( cbox.yMin ); - cbox.xMax = FT_PIX_CEIL( cbox.xMax ); - cbox.yMax = FT_PIX_CEIL( cbox.yMax ); + cbox.xMin = FT_PIX_FLOOR( cbox.xMin + x_shift ); + cbox.yMin = FT_PIX_FLOOR( cbox.yMin + y_shift ); + cbox.xMax = FT_PIX_CEIL( cbox.xMax + x_shift ); + cbox.yMax = FT_PIX_CEIL( cbox.yMax + y_shift ); - if ( cbox.xMin < 0 && cbox.xMax > FT_INT_MAX + cbox.xMin ) - { - FT_ERROR(( "ft_smooth_render_generic: glyph too large:" - " xMin = %d, xMax = %d\n", - cbox.xMin >> 6, cbox.xMax >> 6 )); - error = FT_THROW( Raster_Overflow ); - goto Exit; - } - else - width = ( cbox.xMax - cbox.xMin ) >> 6; + x_shift -= cbox.xMin; + y_shift -= cbox.yMin; - if ( cbox.yMin < 0 && cbox.yMax > FT_INT_MAX + cbox.yMin ) - { - FT_ERROR(( "ft_smooth_render_generic: glyph too large:" - " yMin = %d, yMax = %d\n", - cbox.yMin >> 6, cbox.yMax >> 6 )); - error = FT_THROW( Raster_Overflow ); - goto Exit; - } - else - height = ( cbox.yMax - cbox.yMin ) >> 6; + x_left = cbox.xMin >> 6; + y_top = cbox.yMax >> 6; + + width = (FT_ULong)( cbox.xMax - cbox.xMin ) >> 6; + height = (FT_ULong)( cbox.yMax - cbox.yMin ) >> 6; #ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING width_org = width; height_org = height; #endif - /* release old bitmap buffer */ - if ( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) - { - FT_FREE( bitmap->buffer ); - slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP; - } - - /* allocate new one */ pitch = width; if ( hmul ) { - width = width * 3; - pitch = FT_PAD_CEIL( width, 4 ); + width *= 3; + pitch = FT_PAD_CEIL( width, 4 ); } if ( vmul ) height *= 3; - x_shift = (FT_Int) cbox.xMin; - y_shift = (FT_Int) cbox.yMin; - x_left = (FT_Int)( cbox.xMin >> 6 ); - y_top = (FT_Int)( cbox.yMax >> 6 ); - #ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING if ( slot->library->lcd_filter_func ) @@ -214,23 +185,32 @@ if ( hmul ) { - x_shift -= 64 * ( extra >> 1 ); + x_shift += 64 * ( extra >> 1 ); + x_left -= extra >> 1; width += 3 * extra; pitch = FT_PAD_CEIL( width, 4 ); - x_left -= extra >> 1; } if ( vmul ) { - y_shift -= 64 * ( extra >> 1 ); - height += 3 * extra; + y_shift += 64 * ( extra >> 1 ); y_top += extra >> 1; + height += 3 * extra; } } #endif -#if FT_UINT_MAX > 0xFFFFU + /* + * XXX: on 16bit system, we return an error for huge bitmap + * to prevent an overflow. + */ + if ( x_left > FT_INT_MAX || y_top > FT_INT_MAX || + x_left < FT_INT_MIN || y_top < FT_INT_MIN ) + { + error = FT_THROW( Invalid_Pixel_Size ); + goto Exit; + } /* Required check is (pitch * height < FT_ULONG_MAX), */ /* but we care realistic cases only. Always pitch <= width. */ @@ -242,7 +222,24 @@ goto Exit; } -#endif + /* release old bitmap buffer */ + if ( slot->internal->flags & FT_GLYPH_OWN_BITMAP ) + { + FT_FREE( bitmap->buffer ); + slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP; + } + + /* allocate new one */ + if ( FT_ALLOC( bitmap->buffer, (FT_ULong)pitch * height ) ) + goto Exit; + else + have_buffer = TRUE; + + slot->internal->flags |= FT_GLYPH_OWN_BITMAP; + + slot->format = FT_GLYPH_FORMAT_BITMAP; + slot->bitmap_left = (FT_Int)x_left; + slot->bitmap_top = (FT_Int)y_top; bitmap->pixel_mode = FT_PIXEL_MODE_GRAY; bitmap->num_grays = 256; @@ -251,15 +248,11 @@ bitmap->pitch = pitch; /* translate outline to render it into the bitmap */ - FT_Outline_Translate( outline, -x_shift, -y_shift ); - have_outline_shifted = TRUE; - - if ( FT_ALLOC( bitmap->buffer, (FT_ULong)pitch * height ) ) - goto Exit; - else - have_buffer = TRUE; - - slot->internal->flags |= FT_GLYPH_OWN_BITMAP; + if ( x_shift || y_shift ) + { + FT_Outline_Translate( outline, x_shift, y_shift ); + have_outline_shifted = TRUE; + } /* set up parameters */ params.target = bitmap; @@ -366,20 +359,6 @@ #endif /* !FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ - /* - * XXX: on 16bit system, we return an error for huge bitmap - * to prevent an overflow. - */ - if ( x_left > FT_INT_MAX || y_top > FT_INT_MAX ) - { - error = FT_THROW( Invalid_Pixel_Size ); - goto Exit; - } - - slot->format = FT_GLYPH_FORMAT_BITMAP; - slot->bitmap_left = (FT_Int)x_left; - slot->bitmap_top = (FT_Int)y_top; - /* everything is fine; don't deallocate buffer */ have_buffer = FALSE; @@ -387,9 +366,7 @@ Exit: if ( have_outline_shifted ) - FT_Outline_Translate( outline, x_shift, y_shift ); - if ( have_translated_origin ) - FT_Outline_Translate( outline, -origin->x, -origin->y ); + FT_Outline_Translate( outline, -x_shift, -y_shift ); if ( have_buffer ) { FT_FREE( bitmap->buffer ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmooth.h b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmooth.h index 3708790df17..3708790df17 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftsmooth.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftsmooth.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftspic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftspic.c index 67a2b8310cb..67a2b8310cb 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftspic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftspic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftspic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftspic.h index 334b51c3f15..334b51c3f15 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/ftspic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/ftspic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/module.mk index 47f6c040764..47f6c040764 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/rules.mk index 88d0aa53ac2..88d0aa53ac2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/smooth.c b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/smooth.c index a8ac51f9f8c..a8ac51f9f8c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/smooth/smooth.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/smooth/smooth.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/Jamfile index 475161e07fd..475161e07fd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/afblue.pl b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/afblue.pl index 58aa2a0555d..60fe6966a84 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/afblue.pl +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/afblue.pl @@ -63,8 +63,8 @@ my $enum_element_re = qr/ ^ \s* ( [A-Za-z0-9_]+ ) \s* $ /x; # '#' <preprocessor directive> '\n' my $preprocessor_re = qr/ ^ \# /x; -# '/' '/' <comment> '\n' -my $comment_re = qr| ^ // |x; +# [<ws>] '/' '/' <comment> '\n' +my $comment_re = qr| ^ \s* // |x; # empty line my $whitespace_only_re = qr/ ^ \s* $ /x; @@ -159,6 +159,9 @@ sub convert_ascii_chars # A series of ASCII characters in the printable range. my $s = shift; + # We ignore spaces. + $s =~ s/ //g; + my $count = $s =~ s/\G(.)/'$1', /g; $curr_offset += $count; $curr_elem_size += $count; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/apinames.c b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/apinames.c index c85df721a06..c85df721a06 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/apinames.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/apinames.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/chktrcmp.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/chktrcmp.py index ce6500c7e25..ce6500c7e25 100755 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/chktrcmp.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/chktrcmp.py diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/cordic.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/cordic.py index 6742c90dfef..6742c90dfef 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/cordic.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/cordic.py diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/content.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/content.py index 98025e67e5e..adea6f1d70d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/content.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/content.py @@ -1,57 +1,81 @@ -# Content (c) 2002, 2004, 2006-2009, 2012, 2013 -# David Turner <david@freetype.org> # -# This file contains routines used to parse the content of documentation -# comment blocks and build more structured objects out of them. +# content.py +# +# Parse comment blocks to build content blocks (library file). +# +# Copyright 2002, 2004, 2006-2009, 2012-2014 by +# David Turner. +# +# This file is part of the FreeType project, and may only be used, +# modified, and distributed under the terms of the FreeType project +# license, LICENSE.TXT. By continuing to use, modify, or distribute +# this file you indicate that you have read the license and +# understand and accept it fully. + +# +# This file contains routines to parse documentation comment blocks, +# building more structured objects out of them. # + from sources import * -from utils import * +from utils import * + import string, re -# this regular expression is used to detect code sequences. these -# are simply code fragments embedded in '{' and '}' like in: # -# { -# x = y + z; -# if ( zookoo == 2 ) -# { -# foobar(); -# } -# } +# Regular expressions to detect code sequences. `Code sequences' are simply +# code fragments embedded in '{' and '}', as demonstrated in the following +# example. +# +# { +# x = y + z; +# if ( zookoo == 2 ) +# { +# foobar(); +# } +# } # -# note that indentation of the starting and ending accolades must be -# exactly the same. the code sequence can contain accolades at greater -# indentation +# Note that the indentation of the first opening brace and the last closing +# brace must be exactly the same. The code sequence itself should have a +# larger indentation than the surrounding braces. # re_code_start = re.compile( r"(\s*){\s*$" ) re_code_end = re.compile( r"(\s*)}\s*$" ) -# this regular expression is used to isolate identifiers from -# other text # -re_identifier = re.compile( r'((?:\w|-)*)' ) - - -# we collect macros ending in `_H'; while outputting the object data, we use -# this info together with the object's file location to emit the appropriate -# header file macro and name before the object itself +# A regular expression to isolate identifiers from other text. # -re_header_macro = re.compile( r'^#define\s{1,}(\w{1,}_H)\s{1,}<(.*)>' ) +re_identifier = re.compile( r'((?:\w|-)*)' ) -############################################################################# # -# The DocCode class is used to store source code lines. +# We collect macro names ending in `_H' (group 1), as defined in +# `config/ftheader.h'. While outputting the object data, we use this info +# together with the object's file location (group 2) to emit the appropriate +# header file macro and its associated file name before the object itself. # -# 'self.lines' contains a set of source code lines that will be dumped as -# HTML in a <PRE> tag. +# Example: # -# The object is filled line by line by the parser; it strips the leading -# "margin" space from each input line before storing it in 'self.lines'. +# #define FT_FREETYPE_H <freetype.h> # +re_header_macro = re.compile( r'^#define\s{1,}(\w{1,}_H)\s{1,}<(.*)>' ) + + +################################################################ +## +## DOC CODE CLASS +## +## The `DocCode' class is used to store source code lines. +## +## `self.lines' contains a set of source code lines that will be dumped as +## HTML in a <PRE> tag. +## +## The object is filled line by line by the parser; it strips the leading +## `margin' space from each input line before storing it in `self.lines'. +## class DocCode: def __init__( self, margin, lines ): @@ -77,12 +101,14 @@ class DocCode: -############################################################################# -# -# The DocPara class is used to store "normal" text paragraph. -# -# 'self.words' contains the list of words that make up the paragraph -# +################################################################ +## +## DOC PARA CLASS +## +## `Normal' text paragraphs are stored in the `DocPara' class. +## +## `self.words' contains the list of words that make up the paragraph. +## class DocPara: def __init__( self, lines ): @@ -123,17 +149,18 @@ class DocPara: return result - -############################################################################# -# -# The DocField class is used to store a list containing either DocPara or -# DocCode objects. Each DocField also has an optional "name" which is used -# when the object corresponds to a field or value definition -# +################################################################ +## +## DOC FIELD CLASS +## +## The `DocField' class stores a list containing either `DocPara' or +## `DocCode' objects. Each DocField object also has an optional `name' +## that is used when the object corresponds to a field or value definition. +## class DocField: def __init__( self, name, lines ): - self.name = name # can be None for normal paragraphs/sources + self.name = name # can be `None' for normal paragraphs/sources self.items = [] # list of items mode_none = 0 # start parsing mode @@ -143,14 +170,14 @@ class DocField: margin = -1 # current code sequence indentation cur_lines = [] - # now analyze the markup lines to see if they contain paragraphs, - # code sequences or fields definitions + # analyze the markup lines to check whether they contain paragraphs, + # code sequences, or fields definitions # start = 0 mode = mode_none for l in lines: - # are we parsing a code sequence ? + # are we parsing a code sequence? if mode == mode_code: m = re_code_end.match( l ) if m and len( m.group( 1 ) ) <= margin: @@ -161,10 +188,10 @@ class DocField: cur_lines = [] mode = mode_none else: - # nope, continue the code sequence + # otherwise continue the code sequence cur_lines.append( l[margin:] ) else: - # start of code sequence ? + # start of code sequence? m = re_code_start.match( l ) if m: # save current lines @@ -222,13 +249,29 @@ class DocField: return result - -# this regular expression is used to detect field definitions # -re_field = re.compile( r"\s*(\w*|\w(\w|\.)*\w)\s*::" ) - - - +# A regular expression to detect field definitions. +# +# Examples: +# +# foo :: +# foo.bar :: +# +re_field = re.compile( r""" + \s* + ( + \w* + | + \w (\w | \.)* \w + ) + \s* :: + """, re.VERBOSE ) + + +################################################################ +## +## DOC MARKUP CLASS +## class DocMarkup: def __init__( self, tag, lines ): @@ -242,7 +285,7 @@ class DocMarkup: for l in lines: m = re_field.match( l ) if m: - # we detected the start of a new field definition + # We detected the start of a new field definition. # first, save the current one if cur_lines: @@ -275,7 +318,10 @@ class DocMarkup: print " " * margin + "</" + self.tag + ">" - +################################################################ +## +## DOC CHAPTER CLASS +## class DocChapter: def __init__( self, block ): @@ -291,7 +337,10 @@ class DocChapter: self.order = [] - +################################################################ +## +## DOC SECTION CLASS +## class DocSection: def __init__( self, name = "Other" ): @@ -320,18 +369,21 @@ class DocSection: self.title = title self.abstract = block.get_markup_words( "abstract" ) self.description = block.get_markup_items( "description" ) - self.order = block.get_markup_words( "order" ) + self.order = block.get_markup_words_all( "order" ) return def reorder( self ): self.block_names = sort_order_list( self.block_names, self.order ) - +################################################################ +## +## CONTENT PROCESSOR CLASS +## class ContentProcessor: def __init__( self ): - """initialize a block content processor""" + """Initialize a block content processor.""" self.reset() self.sections = {} # dictionary of documentation sections @@ -342,8 +394,8 @@ class ContentProcessor: self.headers = {} # dictionary of header macros def set_section( self, section_name ): - """set current section during parsing""" - if not self.sections.has_key( section_name ): + """Set current section during parsing.""" + if not section_name in self.sections: section = DocSection( section_name ) self.sections[section_name] = section self.section = section @@ -354,15 +406,14 @@ class ContentProcessor: chapter = DocChapter( block ) self.chapters.append( chapter ) - def reset( self ): - """reset the content processor for a new block""" + """Reset the content processor for a new block.""" self.markups = [] self.markup = None self.markup_lines = [] def add_markup( self ): - """add a new markup section""" + """Add a new markup section.""" if self.markup and self.markup_lines: # get rid of last line of markup if it's empty @@ -378,8 +429,8 @@ class ContentProcessor: self.markup_lines = [] def process_content( self, content ): - """process a block content and return a list of DocMarkup objects - corresponding to it""" + """Process a block content and return a list of DocMarkup objects + corresponding to it.""" markup = None markup_lines = [] first = 1 @@ -437,7 +488,7 @@ class ContentProcessor: # listed there for chap in self.chapters: for sec in chap.order: - if self.sections.has_key( sec ): + if sec in self.sections: section = self.sections[sec] section.chapter = chap section.reorder() @@ -452,6 +503,7 @@ class ContentProcessor: others = [] for sec in self.sections.values(): if not sec.chapter: + sec.reorder() others.append( sec ) # create a new special chapter for all remaining sections @@ -463,7 +515,10 @@ class ContentProcessor: self.chapters.append( chap ) - +################################################################ +## +## DOC BLOCK CLASS +## class DocBlock: def __init__( self, source, follow, processor ): @@ -540,7 +595,7 @@ class DocBlock: return self.source.location() def get_markup( self, tag_name ): - """return the DocMarkup corresponding to a given tag in a block""" + """Return the DocMarkup corresponding to a given tag in a block.""" for m in self.markups: if m.tag == string.lower( tag_name ): return m @@ -553,6 +608,21 @@ class DocBlock: except: return [] + def get_markup_words_all( self, tag_name ): + try: + m = self.get_markup( tag_name ) + words = [] + for item in m.fields[0].items: + # We honour empty lines in an `<Order>' section element by + # adding the sentinel `/empty/'. The formatter should then + # convert it to an appropriate representation in the + # `section_enter' function. + words += item.words + words.append( "/empty/" ) + return words + except: + return [] + def get_markup_text( self, tag_name ): result = self.get_markup_words( tag_name ) return string.join( result ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/docbeauty.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/docbeauty.py index 3ddf4a94a15..3ddf4a94a15 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/docbeauty.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/docbeauty.py diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/docmaker.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/docmaker.py index bf75c5d5f01..4fb1abf2356 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/docmaker.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/docmaker.py @@ -1,16 +1,26 @@ #!/usr/bin/env python # -# DocMaker (c) 2002, 2004, 2008, 2013 David Turner <david@freetype.org> +# docmaker.py # -# This program is a re-write of the original DocMaker tool used -# to generate the API Reference of the FreeType font engine -# by converting in-source comments into structured HTML. +# Convert source code markup to HTML documentation. # -# This new version is capable of outputting XML data, as well -# as accepts more liberal formatting options. +# Copyright 2002, 2004, 2008, 2013, 2014 by +# David Turner. # -# It also uses regular expression matching and substitution -# to speed things significantly. +# This file is part of the FreeType project, and may only be used, +# modified, and distributed under the terms of the FreeType project +# license, LICENSE.TXT. By continuing to use, modify, or distribute +# this file you indicate that you have read the license and +# understand and accept it fully. + +# +# This program is a re-write of the original DocMaker tool used to generate +# the API Reference of the FreeType font rendering engine by converting +# in-source comments into structured HTML. +# +# This new version is capable of outputting XML data as well as accepting +# more liberal formatting options. It also uses regular expression matching +# and substitution to speed up operation significantly. # from sources import * @@ -39,13 +49,13 @@ def usage(): def main( argv ): - """main program loop""" + """Main program loop.""" global output_dir try: - opts, args = getopt.getopt( sys.argv[1:], \ - "ht:o:p:", \ + opts, args = getopt.getopt( sys.argv[1:], + "ht:o:p:", ["help", "title=", "output=", "prefix="] ) except getopt.GetoptError: usage() @@ -56,7 +66,6 @@ def main( argv ): sys.exit( 1 ) # process options - # project_title = "Project" project_prefix = None output_dir = None @@ -90,7 +99,9 @@ def main( argv ): # process sections content_processor.finish() - formatter = HtmlFormatter( content_processor, project_title, project_prefix ) + formatter = HtmlFormatter( content_processor, + project_title, + project_prefix ) formatter.toc_dump() formatter.index_dump() @@ -98,9 +109,7 @@ def main( argv ): # if called from the command line -# if __name__ == '__main__': main( sys.argv ) - # eof diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/formatter.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/formatter.py index f62ce676c15..b1c88be6736 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/formatter.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/formatter.py @@ -1,19 +1,37 @@ -# Formatter (c) 2002, 2004, 2007, 2008 David Turner <david@freetype.org> # +# formatter.py +# +# Convert parsed content blocks to a structured document (library file). +# +# Copyright 2002, 2004, 2007, 2008, 2014 by +# David Turner. +# +# This file is part of the FreeType project, and may only be used, +# modified, and distributed under the terms of the FreeType project +# license, LICENSE.TXT. By continuing to use, modify, or distribute +# this file you indicate that you have read the license and +# understand and accept it fully. + +# +# This is the base Formatter class. Its purpose is to convert a content +# processor's data into specific documents (i.e., table of contents, global +# index, and individual API reference indices). +# +# You need to sub-class it to output anything sensible. For example, the +# file `tohtml.py' contains the definition of the `HtmlFormatter' sub-class +# to output HTML. +# + from sources import * from content import * from utils import * -# This is the base Formatter class. Its purpose is to convert -# a content processor's data into specific documents (i.e., table of -# contents, global index, and individual API reference indices). -# -# You need to sub-class it to output anything sensible. For example, -# the file tohtml.py contains the definition of the HtmlFormatter sub-class -# used to output -- you guessed it -- HTML. -# +################################################################ +## +## FORMATTER CLASS +## class Formatter: def __init__( self, processor ): @@ -36,20 +54,22 @@ class Formatter: self.add_identifier( field.name, block ) self.block_index = self.identifiers.keys() - self.block_index.sort( index_sort ) + self.block_index.sort( key = index_key ) def add_identifier( self, name, block ): - if self.identifiers.has_key( name ): + if name in self.identifiers: # duplicate name! - sys.stderr.write( \ - "WARNING: duplicate definition for '" + name + "' in " + \ - block.location() + ", previous definition in " + \ - self.identifiers[name].location() + "\n" ) + sys.stderr.write( "WARNING: duplicate definition for" + + " '" + name + "' " + + "in " + block.location() + ", " + + "previous definition in " + + self.identifiers[name].location() + + "\n" ) else: self.identifiers[name] = block # - # Formatting the table of contents + # formatting the table of contents # def toc_enter( self ): pass @@ -97,7 +117,7 @@ class Formatter: close_output( output ) # - # Formatting the index + # formatting the index # def index_enter( self ): pass @@ -128,7 +148,7 @@ class Formatter: close_output( output ) # - # Formatting a section + # formatting a section # def section_enter( self, section ): pass @@ -162,7 +182,22 @@ class Formatter: self.section_enter( section ) for name in section.block_names: - block = self.identifiers[name] + skip_entry = 0 + try: + block = self.identifiers[name] + # `block_names' can contain field names also, + # which we filter out + for markup in block.markups: + if markup.tag == 'values': + for field in markup.fields: + if field.name == name: + skip_entry = 1 + except: + skip_entry = 1 # this happens e.g. for `/empty/' entries + + if skip_entry: + continue; + self.block_enter( block ) for markup in block.markups[1:]: # always ignore first markup! diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/sources.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/sources.py index dab83497865..61ecc22c400 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/sources.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/sources.py @@ -1,62 +1,70 @@ -# Sources (c) 2002-2004, 2006-2009, 2012, 2013 -# David Turner <david@freetype.org> # +# sources.py # -# this file contains definitions of classes needed to decompose -# C sources files into a series of multi-line "blocks". There are -# two kinds of blocks: +# Convert source code comments to multi-line blocks (library file). # -# - normal blocks, which contain source code or ordinary comments +# Copyright 2002-2004, 2006-2009, 2012-2014 by +# David Turner. # -# - documentation blocks, which have restricted formatting, and -# whose text always start with a documentation markup tag like -# "<Function>", "<Type>", etc.. +# This file is part of the FreeType project, and may only be used, +# modified, and distributed under the terms of the FreeType project +# license, LICENSE.TXT. By continuing to use, modify, or distribute +# this file you indicate that you have read the license and +# understand and accept it fully. + +# +# This library file contains definitions of classes needed to decompose C +# source code files into a series of multi-line `blocks'. There are two +# kinds of blocks. +# +# - Normal blocks, which contain source code or ordinary comments. # -# the routines used to process the content of documentation blocks -# are not contained here, but in "content.py" +# - Documentation blocks, which have restricted formatting, and whose text +# always start with a documentation markup tag like `<Function>', +# `<Type>', etc. # -# the classes and methods found here only deal with text parsing -# and basic documentation block extraction +# The routines to process the content of documentation blocks are contained +# in file `content.py'; the classes and methods found here only deal with +# text parsing and basic documentation block extraction. # -import fileinput, re, sys, os, string +import fileinput, re, sys, os, string ################################################################ ## -## BLOCK FORMAT PATTERN +## SOURCE BLOCK FORMAT CLASS +## +## A simple class containing compiled regular expressions to detect +## potential documentation format block comments within C source code. ## -## A simple class containing compiled regular expressions used -## to detect potential documentation format block comments within -## C source code +## The `column' pattern must contain a group to `unbox' the content of +## documentation comment blocks. ## -## note that the 'column' pattern must contain a group that will -## be used to "unbox" the content of documentation comment blocks +## Later on, paragraphs are converted to long lines, which simplifies the +## regular expressions that act upon the text. ## class SourceBlockFormat: def __init__( self, id, start, column, end ): - """create a block pattern, used to recognize special documentation blocks""" + """Create a block pattern, used to recognize special documentation + blocks.""" self.id = id self.start = re.compile( start, re.VERBOSE ) self.column = re.compile( column, re.VERBOSE ) self.end = re.compile( end, re.VERBOSE ) - # -# format 1 documentation comment blocks look like the following: +# Format 1 documentation comment blocks. # -# /************************************/ +# /************************************/ (at least 2 asterisks) # /* */ # /* */ # /* */ -# /************************************/ -# -# we define a few regular expressions here to detect them +# /************************************/ (at least 2 asterisks) # - start = r''' \s* # any number of whitespace /\*{2,}/ # followed by '/' and at least two asterisks then '/' @@ -75,16 +83,13 @@ re_source_block_format1 = SourceBlockFormat( 1, start, column, start ) # -# format 2 documentation comment blocks look like the following: +# Format 2 documentation comment blocks. # # /************************************ (at least 2 asterisks) # * +# * (1 asterisk) # * -# * -# * -# **/ (1 or more asterisks at the end) -# -# we define a few regular expressions here to detect them +# */ (1 or more asterisks) # start = r''' \s* # any number of whitespace @@ -93,9 +98,9 @@ start = r''' ''' column = r''' - \s* # any number of whitespace - \*{1}(?!/) # followed by precisely one asterisk not followed by `/' - (.*) # then anything (group1) + \s* # any number of whitespace + \*{1}(?![*/]) # followed by precisely one asterisk not followed by `/' + (.*) # then anything (group1) ''' end = r''' @@ -107,47 +112,56 @@ re_source_block_format2 = SourceBlockFormat( 2, start, column, end ) # -# the list of supported documentation block formats, we could add new ones -# relatively easily +# The list of supported documentation block formats. We could add new ones +# quite easily. # re_source_block_formats = [re_source_block_format1, re_source_block_format2] # -# the following regular expressions corresponds to markup tags -# within the documentation comment blocks. they're equivalent -# despite their different syntax +# The following regular expressions correspond to markup tags within the +# documentation comment blocks. They are equivalent despite their different +# syntax. +# +# A markup tag consists of letters or character `-', to be found in group 1. # -# notice how each markup tag _must_ begin a new line +# Notice that a markup tag _must_ begin a new paragraph. # re_markup_tag1 = re.compile( r'''\s*<((?:\w|-)*)>''' ) # <xxxx> format re_markup_tag2 = re.compile( r'''\s*@((?:\w|-)*):''' ) # @xxxx: format # -# the list of supported markup tags, we could add new ones relatively -# easily +# The list of supported markup tags. We could add new ones quite easily. # re_markup_tags = [re_markup_tag1, re_markup_tag2] + # -# used to detect a cross-reference, after markup tags have been stripped +# A regular expression to detect a cross reference, after markup tags have +# been stripped off. Group 1 is the reference, group 2 the rest of the +# line. +# +# A cross reference consists of letters, digits, or characters `-' and `_'. # re_crossref = re.compile( r'@((?:\w|-)*)(.*)' ) # @foo # -# used to detect italic and bold styles in paragraph text +# Two regular expressions to detect italic and bold markup, respectively. +# Group 1 is the markup, group 2 the rest of the line. +# +# Note that the markup is limited to words consisting of letters, digits, +# the character `_', or an apostrophe (but not as the first character). # -re_italic = re.compile( r"_(\w(\w|')*)_(.*)" ) # _italic_ -re_bold = re.compile( r"\*(\w(\w|')*)\*(.*)" ) # *bold* +re_italic = re.compile( r"_(\w(?:\w|')*)_(.*)" ) # _italic_ +re_bold = re.compile( r"\*(\w(?:\w|')*)\*(.*)" ) # *bold* # -# this regular expression code to identify an URL has been taken from +# This regular expression code to identify an URL has been taken from # # http://mail.python.org/pipermail/tutor/2002-September/017228.html # -# (with slight modifications) +# (with slight modifications). # - urls = r'(?:https?|telnet|gopher|file|wais|ftp)' ltrs = r'\w' gunk = r'/#~:.?+=&%@!\-' @@ -177,17 +191,22 @@ url = r""" re_url = re.compile( url, re.VERBOSE | re.MULTILINE ) # -# used to detect the end of commented source lines +# A regular expression that stops collection of comments for the current +# block. # -re_source_sep = re.compile( r'\s*/\*\s*\*/' ) +re_source_sep = re.compile( r'\s*/\*\s*\*/' ) # /* */ # -# used to perform cross-reference within source output +# A regular expression to find possible C identifiers while outputting +# source code verbatim, covering things like `*foo' or `(bar'. Group 1 is +# the prefix, group 2 the identifier -- since we scan lines from left to +# right, sequentially splitting the source code into prefix and identifier +# is fully sufficient for our purposes. # re_source_crossref = re.compile( r'(\W*)(\w*)' ) # -# a list of reserved source keywords +# A regular expression that matches a list of reserved C source keywords. # re_source_keywords = re.compile( '''\\b ( typedef | struct | @@ -215,24 +234,16 @@ re_source_keywords = re.compile( '''\\b ( typedef | ## ## SOURCE BLOCK CLASS ## -## A SourceProcessor is in charge of reading a C source file -## and decomposing it into a series of different "SourceBlocks". -## each one of these blocks can be made of the following data: -## -## - A documentation comment block that starts with "/**" and -## whose exact format will be discussed later -## -## - normal sources lines, including comments +## There are two important fields in a `SourceBlock' object. ## -## the important fields in a text block are the following ones: +## self.lines +## A list of text lines for the corresponding block. ## -## self.lines : a list of text lines for the corresponding block -## -## self.content : for documentation comment blocks only, this is the -## block content that has been "unboxed" from its -## decoration. This is None for all other blocks -## (i.e. sources or ordinary comments with no starting -## markup tag) +## self.content +## For documentation comment blocks only, this is the block content +## that has been `unboxed' from its decoration. This is `None' for all +## other blocks (i.e., sources or ordinary comments with no starting +## markup tag) ## class SourceBlock: @@ -269,7 +280,7 @@ class SourceBlock: def location( self ): return "(" + self.filename + ":" + repr( self.lineno ) + ")" - # debugging only - not used in normal operations + # debugging only -- not used in normal operations def dump( self ): if self.content: print "{{{content start---" @@ -286,39 +297,38 @@ class SourceBlock: print line - ################################################################ ## ## SOURCE PROCESSOR CLASS ## -## The SourceProcessor is in charge of reading a C source file -## and decomposing it into a series of different "SourceBlock" -## objects. +## The `SourceProcessor' is in charge of reading a C source file and +## decomposing it into a series of different `SourceBlock' objects. ## -## each one of these blocks can be made of the following data: +## A SourceBlock object consists of the following data. ## -## - A documentation comment block that starts with "/**" and -## whose exact format will be discussed later +## - A documentation comment block using one of the layouts above. Its +## exact format will be discussed later. ## -## - normal sources lines, include comments +## - Normal sources lines, including comments. ## ## class SourceProcessor: def __init__( self ): - """initialize a source processor""" + """Initialize a source processor.""" self.blocks = [] self.filename = None self.format = None self.lines = [] def reset( self ): - """reset a block processor, clean all its blocks""" + """Reset a block processor and clean up all its blocks.""" self.blocks = [] self.format = None def parse_file( self, filename ): - """parse a C source file, and add its blocks to the processor's list""" + """Parse a C source file and add its blocks to the processor's + list.""" self.reset() self.filename = filename @@ -337,16 +347,16 @@ class SourceProcessor: self.process_normal_line( line ) else: if self.format.end.match( line ): - # that's a normal block end, add it to 'lines' and - # create a new block + # A normal block end. Add it to `lines' and create a + # new block self.lines.append( line ) self.add_block_lines() elif self.format.column.match( line ): - # that's a normal column line, add it to 'lines' + # A normal column line. Add it to `lines'. self.lines.append( line ) else: - # humm.. this is an unexpected block end, - # create a new block, but don't process the line + # An unexpected block end. Create a new block, but + # don't process the line. self.add_block_lines() # we need to process the line again @@ -356,7 +366,8 @@ class SourceProcessor: self.add_block_lines() def process_normal_line( self, line ): - """process a normal line and check whether it is the start of a new block""" + """Process a normal line and check whether it is the start of a new + block.""" for f in re_source_block_formats: if f.start.match( line ): self.add_block_lines() @@ -366,9 +377,12 @@ class SourceProcessor: self.lines.append( line ) def add_block_lines( self ): - """add the current accumulated lines and create a new block""" + """Add the current accumulated lines and create a new block.""" if self.lines != []: - block = SourceBlock( self, self.filename, self.lineno, self.lines ) + block = SourceBlock( self, + self.filename, + self.lineno, + self.lines ) self.blocks.append( block ) self.format = None @@ -376,7 +390,7 @@ class SourceProcessor: # debugging only, not used in normal operations def dump( self ): - """print all blocks in a processor""" + """Print all blocks in a processor.""" for b in self.blocks: b.dump() diff --git a/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/tohtml.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/tohtml.py new file mode 100644 index 00000000000..9b2f2914cce --- /dev/null +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/tohtml.py @@ -0,0 +1,675 @@ +# +# tohtml.py +# +# A sub-class container of the `Formatter' class to produce HTML. +# +# Copyright 2002, 2003, 2005-2008, 2013, 2014 by +# David Turner. +# +# This file is part of the FreeType project, and may only be used, +# modified, and distributed under the terms of the FreeType project +# license, LICENSE.TXT. By continuing to use, modify, or distribute +# this file you indicate that you have read the license and +# understand and accept it fully. + +# The parent class is contained in file `formatter.py'. + + +from sources import * +from content import * +from formatter import * + +import time + + +# The following strings define the HTML header used by all generated pages. +html_header_1 = """\ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>\ +""" + +html_header_2 = """\ + API Reference</title> +<style type="text/css"> + a:link { color: #0000EF; } + a:visited { color: #51188E; } + a:hover { color: #FF0000; } + + body { font-family: Verdana, Geneva, Arial, Helvetica, serif; + color: #000000; + background: #FFFFFF; + width: 87%; + margin: auto; } + + div.section { width: 75%; + margin: auto; } + div.section hr { margin: 4ex 0 1ex 0; } + div.section h4 { background-color: #EEEEFF; + font-size: medium; + font-style: oblique; + font-weight: bold; + margin: 3ex 0 1.5ex 9%; + padding: 0.3ex 0 0.3ex 1%; } + div.section p { margin: 1.5ex 0 1.5ex 10%; } + div.section pre { margin: 3ex 0 3ex 9%; + background-color: #D6E8FF; + padding: 2ex 0 2ex 1%; } + div.section table.fields { width: 90%; + margin: 1.5ex 0 1.5ex 10%; } + div.section table.toc { width: 95%; + margin: 1.5ex 0 1.5ex 5%; } + div.timestamp { text-align: center; + font-size: 69%; + margin: 1.5ex 0 1.5ex 0; } + + h1 { text-align: center; } + h3 { font-size: medium; + margin: 4ex 0 1.5ex 0; } + + p { text-align: justify; } + + pre.colored { color: blue; } + + span.keyword { font-family: monospace; + text-align: left; + white-space: pre; + color: darkblue; } + + table.fields td.val { font-weight: bold; + text-align: right; + width: 30%; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.fields td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; } + table.fields td.desc p:first-child { margin: 0; } + table.fields td.desc p { margin: 1.5ex 0 0 0; } + table.index { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 1em 0.3ex; } + table.index tr { padding: 0; } + table.index td { padding: 0; } + table.index-toc-link { width: 100%; + border: 0; + border-spacing: 0; + margin: 1ex 0 1ex 0; } + table.index-toc-link td.left { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: left; } + table.index-toc-link td.middle { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: center; } + table.index-toc-link td.right { padding: 0 0.5em 0 0.5em; + font-size: 83%; + text-align: right; } + table.synopsis { margin: 6ex auto 6ex auto; + border: 0; + border-collapse: separate; + border-spacing: 2em 0.6ex; } + table.synopsis tr { padding: 0; } + table.synopsis td { padding: 0; } + table.toc td.link { width: 30%; + text-align: right; + vertical-align: baseline; + padding: 1ex 1em 1ex 0; } + table.toc td.desc { vertical-align: baseline; + padding: 1ex 0 1ex 1em; + text-align: left; } + table.toc td.desc p:first-child { margin: 0; + text-align: left; } + table.toc td.desc p { margin: 1.5ex 0 0 0; + text-align: left; } + +</style> +</head> +<body> +""" + +html_header_3l = """ +<table class="index-toc-link"><tr><td class="left">[<a href="\ +""" + +html_header_3r = """ +<table class="index-toc-link"><tr><td class="right">[<a href="\ +""" + +html_header_4 = """\ +">Index</a>]</td><td class="right">[<a href="\ +""" + +html_header_5t = """\ +">TOC</a>]</td></tr></table> +<h1>\ +""" + +html_header_5i = """\ +">Index</a>]</td></tr></table> +<h1>\ +""" + +html_header_6 = """\ + API Reference</h1> +""" + + +# The HTML footer used by all generated pages. +html_footer = """\ +</body> +</html>\ +""" + +# The header and footer used for each section. +section_title_header = "<h1>" +section_title_footer = "</h1>" + +# The header and footer used for code segments. +code_header = '<pre class="colored">' +code_footer = '</pre>' + +# Paragraph header and footer. +para_header = "<p>" +para_footer = "</p>" + +# Block header and footer. +block_header = '<div class="section">' +block_footer_start = """\ +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="\ +""" +block_footer_middle = """\ +">Index</a>]</td>\ +<td class="middle">[<a href="#">Top</a>]</td>\ +<td class="right">[<a href="\ +""" +block_footer_end = """\ +">TOC</a>]</td></tr></table></div> +""" + +# Description header/footer. +description_header = "" +description_footer = "" + +# Marker header/inter/footer combination. +marker_header = "<h4>" +marker_inter = "</h4>" +marker_footer = "" + +# Header location header/footer. +header_location_header = "<p>" +header_location_footer = "</p>" + +# Source code extracts header/footer. +source_header = "<pre>" +source_footer = "</pre>" + +# Chapter header/inter/footer. +chapter_header = """\ +<div class="section"> +<h2>\ +""" +chapter_inter = '</h2>' +chapter_footer = '</div>' + +# Index footer. +index_footer_start = """\ +<hr> +<table class="index-toc-link"><tr><td class="right">[<a href="\ +""" +index_footer_end = """\ +">TOC</a>]</td></tr></table> +""" + +# TOC footer. +toc_footer_start = """\ +<hr> +<table class="index-toc-link"><tr><td class="left">[<a href="\ +""" +toc_footer_end = """\ +">Index</a>]</td></tr></table> +""" + + +# Source language keyword coloration and styling. +keyword_prefix = '<span class="keyword">' +keyword_suffix = '</span>' + +section_synopsis_header = '<h2>Synopsis</h2>' +section_synopsis_footer = '' + + +# Translate a single line of source to HTML. This converts `<', `>', and +# `&' into `<',`>', and `&'. +# +def html_quote( line ): + result = string.replace( line, "&", "&" ) + result = string.replace( result, "<", "<" ) + result = string.replace( result, ">", ">" ) + return result + + +################################################################ +## +## HTML FORMATTER CLASS +## +class HtmlFormatter( Formatter ): + + def __init__( self, processor, project_title, file_prefix ): + Formatter.__init__( self, processor ) + + global html_header_1 + global html_header_2 + global html_header_3l, html_header_3r + global html_header_4 + global html_header_5t, html_header_5i + global html_header_6 + global html_footer + + if file_prefix: + file_prefix = file_prefix + "-" + else: + file_prefix = "" + + self.headers = processor.headers + self.project_title = project_title + self.file_prefix = file_prefix + self.html_header = ( + html_header_1 + project_title + + html_header_2 + + html_header_3l + file_prefix + "index.html" + + html_header_4 + file_prefix + "toc.html" + + html_header_5t + project_title + + html_header_6 ) + self.html_index_header = ( + html_header_1 + project_title + + html_header_2 + + html_header_3r + file_prefix + "toc.html" + + html_header_5t + project_title + + html_header_6 ) + self.html_toc_header = ( + html_header_1 + project_title + + html_header_2 + + html_header_3l + file_prefix + "index.html" + + html_header_5i + project_title + + html_header_6 ) + self.html_footer = ( + '<div class="timestamp">generated on ' + + time.asctime( time.localtime( time.time() ) ) + + "</div>" + html_footer ) + + self.columns = 3 + + def make_section_url( self, section ): + return self.file_prefix + section.name + ".html" + + def make_block_url( self, block, name = None ): + if name == None: + name = block.name + return self.make_section_url( block.section ) + "#" + name + + def make_html_word( self, word ): + """Analyze a simple word to detect cross-references and markup.""" + # handle cross-references + m = re_crossref.match( word ) + if m: + try: + name = m.group( 1 ) + rest = m.group( 2 ) + block = self.identifiers[name] + url = self.make_block_url( block ) + return '<a href="' + url + '">' + name + '</a>' + rest + except: + # we detected a cross-reference to an unknown item + sys.stderr.write( "WARNING: undefined cross reference" + + " '" + name + "'.\n" ) + return '?' + name + '?' + rest + + # handle markup for italic and bold + m = re_italic.match( word ) + if m: + name = m.group( 1 ) + rest = m.group( 2 ) + return '<i>' + name + '</i>' + rest + + m = re_bold.match( word ) + if m: + name = m.group( 1 ) + rest = m.group( 2 ) + return '<b>' + name + '</b>' + rest + + return html_quote( word ) + + def make_html_para( self, words ): + """Convert words of a paragraph into tagged HTML text. Also handle + cross references.""" + line = "" + if words: + line = self.make_html_word( words[0] ) + for word in words[1:]: + line = line + " " + self.make_html_word( word ) + # handle hyperlinks + line = re_url.sub( r'<a href="\1">\1</a>', line ) + # convert `...' quotations into real left and right single quotes + line = re.sub( r"(^|\W)`(.*?)'(\W|$)", + r'\1‘\2’\3', + line ) + # convert tilde into non-breakable space + line = string.replace( line, "~", " " ) + + return para_header + line + para_footer + + def make_html_code( self, lines ): + """Convert a code sequence to HTML.""" + line = code_header + '\n' + for l in lines: + line = line + html_quote( l ) + '\n' + + return line + code_footer + + def make_html_items( self, items ): + """Convert a field's content into HTML.""" + lines = [] + for item in items: + if item.lines: + lines.append( self.make_html_code( item.lines ) ) + else: + lines.append( self.make_html_para( item.words ) ) + + return string.join( lines, '\n' ) + + def print_html_items( self, items ): + print self.make_html_items( items ) + + def print_html_field( self, field ): + if field.name: + print( '<table><tr valign="top"><td><b>' + + field.name + + "</b></td><td>" ) + + print self.make_html_items( field.items ) + + if field.name: + print "</td></tr></table>" + + def html_source_quote( self, line, block_name = None ): + result = "" + while line: + m = re_source_crossref.match( line ) + if m: + name = m.group( 2 ) + prefix = html_quote( m.group( 1 ) ) + length = len( m.group( 0 ) ) + + if name == block_name: + # this is the current block name, if any + result = result + prefix + '<b>' + name + '</b>' + elif re_source_keywords.match( name ): + # this is a C keyword + result = ( result + prefix + + keyword_prefix + name + keyword_suffix ) + elif name in self.identifiers: + # this is a known identifier + block = self.identifiers[name] + id = block.name + + # link to a field ID if possible + for markup in block.markups: + if markup.tag == 'values': + for field in markup.fields: + if field.name: + id = name + + result = ( result + prefix + + '<a href="' + + self.make_block_url( block, id ) + + '">' + name + '</a>' ) + else: + result = result + html_quote( line[:length] ) + + line = line[length:] + else: + result = result + html_quote( line ) + line = [] + + return result + + def print_html_field_list( self, fields ): + print '<table class="fields">' + for field in fields: + print ( '<tr><td class="val" id="' + field.name + '">' + + field.name + + '</td><td class="desc">' ) + self.print_html_items( field.items ) + print "</td></tr>" + print "</table>" + + def print_html_markup( self, markup ): + table_fields = [] + for field in markup.fields: + if field.name: + # We begin a new series of field or value definitions. We + # record them in the `table_fields' list before outputting + # all of them as a single table. + table_fields.append( field ) + else: + if table_fields: + self.print_html_field_list( table_fields ) + table_fields = [] + + self.print_html_items( field.items ) + + if table_fields: + self.print_html_field_list( table_fields ) + + # + # formatting the index + # + def index_enter( self ): + print self.html_index_header + self.index_items = {} + + def index_name_enter( self, name ): + block = self.identifiers[name] + url = self.make_block_url( block ) + self.index_items[name] = url + + def index_exit( self ): + # `block_index' already contains the sorted list of index names + count = len( self.block_index ) + rows = ( count + self.columns - 1 ) // self.columns + + print '<table class="index">' + for r in range( rows ): + line = "<tr>" + for c in range( self.columns ): + i = r + c * rows + if i < count: + bname = self.block_index[r + c * rows] + url = self.index_items[bname] + line = ( line + '<td><a href="' + url + '">' + + bname + '</a></td>' ) + else: + line = line + '<td></td>' + line = line + "</tr>" + print line + + print "</table>" + + print( index_footer_start + + self.file_prefix + "toc.html" + + index_footer_end ) + + print self.html_footer + + self.index_items = {} + + def index_dump( self, index_filename = None ): + if index_filename == None: + index_filename = self.file_prefix + "index.html" + + Formatter.index_dump( self, index_filename ) + + # + # formatting the table of contents + # + def toc_enter( self ): + print self.html_toc_header + print "<h1>Table of Contents</h1>" + + def toc_chapter_enter( self, chapter ): + print chapter_header + string.join( chapter.title ) + chapter_inter + print '<table class="toc">' + + def toc_section_enter( self, section ): + print ( '<tr><td class="link">' + + '<a href="' + self.make_section_url( section ) + '">' + + section.title + '</a></td><td class="desc">' ) + print self.make_html_para( section.abstract ) + + def toc_section_exit( self, section ): + print "</td></tr>" + + def toc_chapter_exit( self, chapter ): + print "</table>" + print chapter_footer + + def toc_index( self, index_filename ): + print( chapter_header + + '<a href="' + index_filename + '">Global Index</a>' + + chapter_inter + chapter_footer ) + + def toc_exit( self ): + print( toc_footer_start + + self.file_prefix + "index.html" + + toc_footer_end ) + + print self.html_footer + + def toc_dump( self, toc_filename = None, index_filename = None ): + if toc_filename == None: + toc_filename = self.file_prefix + "toc.html" + + if index_filename == None: + index_filename = self.file_prefix + "index.html" + + Formatter.toc_dump( self, toc_filename, index_filename ) + + # + # formatting sections + # + def section_enter( self, section ): + print self.html_header + + print section_title_header + section.title + section_title_footer + + maxwidth = 0 + for b in section.blocks.values(): + if len( b.name ) > maxwidth: + maxwidth = len( b.name ) + + width = 70 # XXX magic number + if maxwidth > 0: + # print section synopsis + print section_synopsis_header + print '<table class="synopsis">' + + columns = width // maxwidth + if columns < 1: + columns = 1 + + count = len( section.block_names ) + # don't handle last entry if it is empty + if section.block_names[-1] == "/empty/": + count -= 1 + rows = ( count + columns - 1 ) // columns + + for r in range( rows ): + line = "<tr>" + for c in range( columns ): + i = r + c * rows + line = line + '<td>' + if i < count: + name = section.block_names[i] + if name == "/empty/": + # it can happen that a complete row is empty, and + # without a proper `filler' the browser might + # collapse the row to a much smaller height (or + # even omit it completely) + line = line + " " + else: + line = ( line + '<a href="#' + name + '">' + + name + '</a>' ) + + line = line + '</td>' + line = line + "</tr>" + print line + + print "</table>" + print section_synopsis_footer + + print description_header + print self.make_html_items( section.description ) + print description_footer + + def block_enter( self, block ): + print block_header + + # place html anchor if needed + if block.name: + print( '<h3 id="' + block.name + '">' + block.name + '</h3>' ) + + # dump the block C source lines now + if block.code: + header = '' + for f in self.headers.keys(): + if block.source.filename.find( f ) >= 0: + header = self.headers[f] + ' (' + f + ')' + break; + +# if not header: +# sys.stderr.write( +# "WARNING: No header macro for" +# + " '" + block.source.filename + "'.\n" ) + + if header: + print ( header_location_header + + 'Defined in ' + header + '.' + + header_location_footer ) + + print source_header + for l in block.code: + print self.html_source_quote( l, block.name ) + print source_footer + + def markup_enter( self, markup, block ): + if markup.tag == "description": + print description_header + else: + print marker_header + markup.tag + marker_inter + + self.print_html_markup( markup ) + + def markup_exit( self, markup, block ): + if markup.tag == "description": + print description_footer + else: + print marker_footer + + def block_exit( self, block ): + print( block_footer_start + self.file_prefix + "index.html" + + block_footer_middle + self.file_prefix + "toc.html" + + block_footer_end ) + + def section_exit( self, section ): + print html_footer + + def section_dump_all( self ): + for section in self.sections: + self.section_dump( section, + self.file_prefix + section.name + '.html' ) + +# eof diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/utils.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/utils.py index 1d96658c7d5..b35823ab74a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/docmaker/utils.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/docmaker/utils.py @@ -1,48 +1,42 @@ -# Utils (c) 2002, 2004, 2007, 2008 David Turner <david@freetype.org> # - -import string, sys, os, glob - -# current output directory +# utils.py # -output_dir = None - - -# This function is used to sort the index. It is a simple lexicographical -# sort, except that it places capital letters before lowercase ones. +# Auxiliary functions for the `docmaker' tool (library file). # -def index_sort( s1, s2 ): - if not s1: - return -1 - - if not s2: - return 1 - - l1 = len( s1 ) - l2 = len( s2 ) - m1 = string.lower( s1 ) - m2 = string.lower( s2 ) +# Copyright 2002, 2004, 2007, 2008, 2014 by +# David Turner. +# +# This file is part of the FreeType project, and may only be used, +# modified, and distributed under the terms of the FreeType project +# license, LICENSE.TXT. By continuing to use, modify, or distribute +# this file you indicate that you have read the license and +# understand and accept it fully. - for i in range( l1 ): - if i >= l2 or m1[i] > m2[i]: - return 1 - if m1[i] < m2[i]: - return -1 +import string, sys, os, glob, itertools - if s1[i] < s2[i]: - return -1 - if s1[i] > s2[i]: - return 1 +# current output directory +# +output_dir = None - if l2 > l1: - return -1 - return 0 +# A function that generates a sorting key. We want lexicographical order +# (primary key) except that capital letters are sorted before lowercase +# ones (secondary key). +# +# The primary key is implemented by lowercasing the input. The secondary +# key is simply the original data appended, character by character. For +# example, the sort key for `FT_x' is `fFtT__xx', while the sort key for +# `ft_X' is `fftt__xX'. Since ASCII codes of uppercase letters are +# numerically smaller than the codes of lowercase letters, `fFtT__xx' gets +# sorted before `fftt__xX'. +# +def index_key( s ): + return string.join( itertools.chain( *zip( s.lower(), s ) ) ) -# Sort input_list, placing the elements of order_list in front. +# Sort `input_list', placing the elements of `order_list' in front. # def sort_order_list( input_list, order_list ): new_list = order_list[:] @@ -52,9 +46,9 @@ def sort_order_list( input_list, order_list ): return new_list -# Open the standard output to a given project documentation file. Use -# "output_dir" to determine the filename location if necessary and save the -# old stdout in a tuple that is returned by this function. +# Divert standard output to a given project documentation file. Use +# `output_dir' to determine the filename location if necessary and save the +# old stdout handle in a tuple that is returned by this function. # def open_output( filename ): global output_dir @@ -69,7 +63,7 @@ def open_output( filename ): return ( new_file, old_stdout ) -# Close the output that was returned by "close_output". +# Close the output that was returned by `open_output'. # def close_output( output ): output[0].close() @@ -83,15 +77,16 @@ def check_output(): if output_dir: if output_dir != "": if not os.path.isdir( output_dir ): - sys.stderr.write( "argument" + " '" + output_dir + "' " + \ - "is not a valid directory" ) + sys.stderr.write( "argument" + + " '" + output_dir + "' " + + "is not a valid directory" ) sys.exit( 2 ) else: output_dir = None def file_exists( pathname ): - """checks that a given file exists""" + """Check that a given file exists.""" result = 1 try: file = open( pathname, "r" ) @@ -104,12 +99,12 @@ def file_exists( pathname ): def make_file_list( args = None ): - """builds a list of input files from command-line arguments""" + """Build a list of input files from command-line arguments.""" file_list = [] # sys.stderr.write( repr( sys.argv[1 :] ) + '\n' ) if not args: - args = sys.argv[1 :] + args = sys.argv[1:] for pathname in args: if string.find( pathname, '*' ) >= 0: diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/Makefile b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/Makefile index 2e619299cdf..2e619299cdf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/Makefile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/Makefile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/README b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/README index 71bf05323da..71bf05323da 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/README +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/README diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/ftrandom.c b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/ftrandom.c index 7c97957119e..7c97957119e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/ftrandom/ftrandom.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/ftrandom/ftrandom.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/glnames.py b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/glnames.py index 8810bf57f1f..8810bf57f1f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/glnames.py +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/glnames.py diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_afm.c b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_afm.c index 24cd0c4f0e1..24cd0c4f0e1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_afm.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_afm.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_bbox.c b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_bbox.c index 64b82c384b6..64b82c384b6 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_bbox.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_bbox.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_trig.c b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_trig.c index 49d927e36e9..49d927e36e9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/tools/test_trig.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/tools/test_trig.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/Jamfile index a8cccfe1372..a8cccfe1372 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/module.mk index baee81a7730..baee81a7730 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/rules.mk index d4b69f578be..d4b69f578be 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/truetype.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/truetype.c index 576912b219d..576912b219d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/truetype.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/truetype.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttdriver.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttdriver.c index 36d23a282e8..64e433db025 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttdriver.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttdriver.c @@ -4,7 +4,7 @@ /* */ /* TrueType font driver implementation (body). */ /* */ -/* Copyright 1996-2013 by */ +/* Copyright 1996-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -267,7 +267,7 @@ /* use the scaled metrics, even when tt_size_reset fails */ FT_Select_Metrics( size->face, strike_index ); - tt_size_reset( ttsize ); + tt_size_reset( ttsize ); /* ignore return value */ } else { @@ -370,7 +370,7 @@ return FT_THROW( Invalid_Size_Handle ); if ( !face ) - return FT_THROW( Invalid_Argument ); + return FT_THROW( Invalid_Face_Handle ); #ifdef FT_CONFIG_OPTION_INCREMENTAL if ( glyph_index >= (FT_UInt)face->num_glyphs && diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttdriver.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttdriver.h index aae00f2617f..aae00f2617f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttdriver.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttdriver.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/tterrors.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/tterrors.h index 78d138fab2e..78d138fab2e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/tterrors.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/tterrors.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgload.c index 5f676a2ef01..c5841c301d2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgload.c @@ -4,7 +4,7 @@ /* */ /* TrueType Glyph Loader (body). */ /* */ -/* Copyright 1996-2013 */ +/* Copyright 1996-2014 */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -99,13 +99,13 @@ else if ( face->os2.version != 0xFFFFU ) { - *tsb = face->os2.sTypoAscender - yMax; + *tsb = (FT_Short)( face->os2.sTypoAscender - yMax ); *ah = face->os2.sTypoAscender - face->os2.sTypoDescender; } else { - *tsb = face->horizontal.Ascender - yMax; + *tsb = (FT_Short)( face->horizontal.Ascender - yMax ); *ah = face->horizontal.Ascender - face->horizontal.Descender; } @@ -801,10 +801,8 @@ FT_Outline current_outline = gloader->current.outline; - error = TT_Set_CodeRange( loader->exec, tt_coderange_glyph, - loader->exec->glyphIns, n_ins ); - if ( error ) - return error; + TT_Set_CodeRange( loader->exec, tt_coderange_glyph, + loader->exec->glyphIns, n_ins ); loader->exec->is_composite = is_composite; loader->exec->pts = *zone; @@ -1789,8 +1787,12 @@ /* (1): exists from the beginning */ /* (2): components that have been loaded so far */ /* (3): the newly loaded component */ - TT_Process_Composite_Component( loader, subglyph, start_point, - num_base_points ); + error = TT_Process_Composite_Component( loader, + subglyph, + start_point, + num_base_points ); + if ( error ) + goto Exit; } loader->stream = old_stream; @@ -1799,16 +1801,17 @@ /* process the glyph */ loader->ins_pos = ins_pos; if ( IS_HINTED( loader->load_flags ) && - #ifdef TT_USE_BYTECODE_INTERPRETER - subglyph->flags & WE_HAVE_INSTR && - #endif - num_points > start_point ) - TT_Process_Composite_Glyph( loader, start_point, start_contour ); - + { + error = TT_Process_Composite_Glyph( loader, + start_point, + start_contour ); + if ( error ) + goto Exit; + } } } else @@ -2083,6 +2086,8 @@ FT_Int32 load_flags, FT_Bool glyf_table_only ) { + FT_Error error; + TT_Face face; FT_Stream stream; #ifdef TT_USE_BYTECODE_INTERPRETER @@ -2120,14 +2125,16 @@ FT_Bool reexecute = FALSE; - if ( !size->cvt_ready ) + if ( size->bytecode_ready < 0 || size->cvt_ready < 0 ) { - FT_Error error = tt_size_ready_bytecode( size, pedantic ); - - + error = tt_size_ready_bytecode( size, pedantic ); if ( error ) return error; } + else if ( size->bytecode_ready ) + return size->bytecode_ready; + else if ( size->cvt_ready ) + return size->cvt_ready; /* query new execution context */ exec = size->debug ? size->context @@ -2191,7 +2198,9 @@ FT_RENDER_MODE_MONO ); } - TT_Load_Context( exec, face, size ); + error = TT_Load_Context( exec, face, size ); + if ( error ) + return error; #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING @@ -2243,7 +2252,9 @@ for ( i = 0; i < size->cvt_size; i++ ) size->cvt[i] = FT_MulFix( face->cvt[i], size->ttmetrics.scale ); - tt_size_run_prep( size, pedantic ); + error = tt_size_run_prep( size, pedantic ); + if ( error ) + return error; } /* see whether the cvt program has disabled hinting */ @@ -2274,8 +2285,7 @@ #endif { - FT_Error error = face->goto_table( face, TTAG_glyf, stream, 0 ); - + error = face->goto_table( face, TTAG_glyf, stream, 0 ); if ( FT_ERR_EQ( error, Table_Missing ) ) loader->glyf_offset = 0; @@ -2366,15 +2376,18 @@ (void)tt_loader_init( &loader, size, glyph, load_flags, TRUE ); (void)load_truetype_glyph( &loader, glyph_index, 0, TRUE ); glyph->linearHoriAdvance = loader.linear; - glyph->linearVertAdvance = loader.top_bearing + loader.bbox.yMax - - loader.vadvance; + glyph->linearVertAdvance = loader.vadvance; - /* sanity check: if `horiAdvance' in the sbit metric */ - /* structure isn't set, use `linearHoriAdvance' */ + /* sanity checks: if `xxxAdvance' in the sbit metric */ + /* structure isn't set, use `linearXXXAdvance' */ if ( !glyph->metrics.horiAdvance && glyph->linearHoriAdvance ) glyph->metrics.horiAdvance = FT_MulFix( glyph->linearHoriAdvance, size->root.metrics.x_scale ); + if ( !glyph->metrics.vertAdvance && glyph->linearVertAdvance ) + glyph->metrics.vertAdvance = + FT_MulFix( glyph->linearVertAdvance, + size->root.metrics.y_scale ); } return FT_Err_Ok; @@ -2454,7 +2467,7 @@ #endif /* TT_USE_BYTECODE_INTERPRETER */ - compute_glyph_metrics( &loader, glyph_index ); + error = compute_glyph_metrics( &loader, glyph_index ); } /* Set the `high precision' bit flag. */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgload.h index 3f1699e6867..3f1699e6867 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgxvar.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgxvar.c index 7899d3671dc..1b35539fe13 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgxvar.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgxvar.c @@ -4,7 +4,7 @@ /* */ /* TrueType GX Font Variation loader */ /* */ -/* Copyright 2004-2013 by */ +/* Copyright 2004-2014 by */ /* David Turner, Robert Wilhelm, Werner Lemberg, and George Williams. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -938,13 +938,13 @@ FT_FREE( face->cvt ); face->cvt = NULL; - tt_face_load_cvt( face, face->root.stream ); + error = tt_face_load_cvt( face, face->root.stream ); break; case mcvt_modify: /* The original cvt table is in memory. All we need to do is */ /* apply the `cvar' table (if any). */ - tt_face_vary_cvt( face, face->root.stream ); + error = tt_face_vary_cvt( face, face->root.stream ); break; case mcvt_retain: diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgxvar.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgxvar.h index 82dfc4431f2..82dfc4431f2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttgxvar.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttgxvar.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttinterp.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttinterp.c index 56e8fa7e22c..6bdffbca527 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttinterp.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttinterp.c @@ -172,6 +172,9 @@ #define CUR_Func_round( d, c ) \ CUR.func_round( EXEC_ARG_ d, c ) +#define CUR_Func_cur_ppem() \ + CUR.func_cur_ppem( EXEC_ARG ) + #define CUR_Func_read_cvt( index ) \ CUR.func_read_cvt( EXEC_ARG_ index ) @@ -184,12 +187,6 @@ #define CURRENT_Ratio() \ Current_Ratio( EXEC_ARG ) -#define CURRENT_Ppem() \ - Current_Ppem( EXEC_ARG ) - -#define CUR_Ppem() \ - Cur_PPEM( EXEC_ARG ) - #define INS_SxVTL( a, b, c, d ) \ Ins_SxVTL( EXEC_ARG_ a, b, c, d ) @@ -282,10 +279,7 @@ /* <InOut> */ /* exec :: The target execution context. */ /* */ - /* <Return> */ - /* FreeType error code. 0 means success. */ - /* */ - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) TT_Goto_CodeRange( TT_ExecContext exec, FT_Int range, FT_Long IP ) @@ -309,8 +303,6 @@ exec->codeSize = coderange->size; exec->IP = IP; exec->curRange = range; - - return FT_Err_Ok; } @@ -332,10 +324,7 @@ /* <InOut> */ /* exec :: The target execution context. */ /* */ - /* <Return> */ - /* FreeType error code. 0 means success. */ - /* */ - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) TT_Set_CodeRange( TT_ExecContext exec, FT_Int range, void* base, @@ -345,8 +334,6 @@ exec->codeRangeTable[range - 1].base = (FT_Byte*)base; exec->codeRangeTable[range - 1].size = length; - - return FT_Err_Ok; } @@ -364,13 +351,7 @@ /* <InOut> */ /* exec :: The target execution context. */ /* */ - /* <Return> */ - /* FreeType error code. 0 means success. */ - /* */ - /* <Note> */ - /* Does not set the Error variable. */ - /* */ - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) TT_Clear_CodeRange( TT_ExecContext exec, FT_Int range ) { @@ -378,8 +359,6 @@ exec->codeRangeTable[range - 1].base = NULL; exec->codeRangeTable[range - 1].size = 0; - - return FT_Err_Ok; } @@ -403,13 +382,10 @@ /* */ /* memory :: A handle to the parent memory object. */ /* */ - /* <Return> */ - /* FreeType error code. 0 means success. */ - /* */ /* <Note> */ /* Only the glyph loader and debugger should call this function. */ /* */ - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) TT_Done_Context( TT_ExecContext exec ) { FT_Memory memory = exec->memory; @@ -436,8 +412,6 @@ exec->face = NULL; FT_FREE( exec ); - - return FT_Err_Ok; } @@ -664,13 +638,10 @@ /* <InOut> */ /* size :: A handle to the target size object. */ /* */ - /* <Return> */ - /* FreeType error code. 0 means success. */ - /* */ /* <Note> */ /* Only the glyph loader and debugger should call this function. */ /* */ - FT_LOCAL_DEF( FT_Error ) + FT_LOCAL_DEF( void ) TT_Save_Context( TT_ExecContext exec, TT_Size size ) { @@ -688,8 +659,6 @@ for ( i = 0; i < TT_MAX_CODE_RANGES; i++ ) size->codeRangeTable[i] = exec->codeRangeTable[i]; - - return FT_Err_Ok; } @@ -721,12 +690,7 @@ TT_Run_Context( TT_ExecContext exec, FT_Bool debug ) { - FT_Error error; - - - if ( ( error = TT_Goto_CodeRange( exec, tt_coderange_glyph, 0 ) ) - != FT_Err_Ok ) - return error; + TT_Goto_CodeRange( exec, tt_coderange_glyph, 0 ); exec->zp0 = exec->pts; exec->zp1 = exec->pts; @@ -796,8 +760,13 @@ FT_EXPORT_DEF( TT_ExecContext ) TT_New_Context( TT_Driver driver ) { - FT_Memory memory = driver->root.root.memory; + FT_Memory memory; + + + if ( !driver ) + goto Fail; + memory = driver->root.root.memory; if ( !driver->context ) { @@ -1446,7 +1415,7 @@ TT_MulFix14_arm( FT_Int32 a, FT_Int b ) { - register FT_Int32 t, t2; + FT_Int32 t, t2; #if defined( __CC_ARM ) || defined( __ARMCC__ ) @@ -1706,9 +1675,16 @@ } - static FT_Long + FT_CALLBACK_DEF( FT_Long ) Current_Ppem( EXEC_OP ) { + return CUR.tt_metrics.ppem; + } + + + FT_CALLBACK_DEF( FT_Long ) + Current_Ppem_Stretched( EXEC_OP ) + { return FT_MulFix( CUR.tt_metrics.ppem, CURRENT_Ratio() ); } @@ -2047,7 +2023,7 @@ if ( distance >= 0 ) { val = distance + compensation; - if ( distance && val < 0 ) + if ( val < 0 ) val = 0; } else @@ -2087,10 +2063,8 @@ if ( distance >= 0 ) { - val = distance + compensation + 32; - if ( distance && val > 0 ) - val &= ~63; - else + val = FT_PIX_ROUND( distance + compensation ); + if ( val < 0 ) val = 0; } else @@ -2132,14 +2106,14 @@ if ( distance >= 0 ) { val = FT_PIX_FLOOR( distance + compensation ) + 32; - if ( distance && val < 0 ) - val = 0; + if ( val < 0 ) + val = 32; } else { val = -( FT_PIX_FLOOR( compensation - distance ) + 32 ); if ( val > 0 ) - val = 0; + val = -32; } return val; @@ -2173,15 +2147,13 @@ if ( distance >= 0 ) { - val = distance + compensation; - if ( distance && val > 0 ) - val &= ~63; - else + val = FT_PIX_FLOOR( distance + compensation ); + if ( val < 0 ) val = 0; } else { - val = -( ( compensation - distance ) & -64 ); + val = -FT_PIX_FLOOR( compensation - distance ); if ( val > 0 ) val = 0; } @@ -2217,10 +2189,8 @@ if ( distance >= 0 ) { - val = distance + compensation + 63; - if ( distance && val > 0 ) - val &= ~63; - else + val = FT_PIX_CEIL( distance + compensation ); + if ( val < 0 ) val = 0; } else @@ -2261,10 +2231,8 @@ if ( distance >= 0 ) { - val = distance + compensation + 16; - if ( distance && val > 0 ) - val &= ~31; - else + val = FT_PAD_ROUND( distance + compensation, 32 ); + if ( val < 0 ) val = 0; } else @@ -2311,17 +2279,17 @@ { val = ( distance - CUR.phase + CUR.threshold + compensation ) & -CUR.period; - if ( distance && val < 0 ) - val = 0; val += CUR.phase; + if ( val < 0 ) + val = CUR.phase; } else { val = -( ( CUR.threshold - CUR.phase - distance + compensation ) & -CUR.period ); - if ( val > 0 ) - val = 0; val -= CUR.phase; + if ( val > 0 ) + val = -CUR.phase; } return val; @@ -2359,17 +2327,17 @@ { val = ( ( distance - CUR.phase + CUR.threshold + compensation ) / CUR.period ) * CUR.period; - if ( distance && val < 0 ) - val = 0; val += CUR.phase; + if ( val < 0 ) + val = CUR.phase; } else { val = -( ( ( CUR.threshold - CUR.phase - distance + compensation ) / CUR.period ) * CUR.period ); - if ( val > 0 ) - val = 0; val -= CUR.phase; + if ( val > 0 ) + val = -CUR.phase; } return val; @@ -3077,19 +3045,22 @@ CUR.GS.auto_flip = FALSE; -#define DO_SDB \ - CUR.GS.delta_base = (FT_Short)args[0]; +#define DO_SDB \ + CUR.GS.delta_base = (FT_UShort)args[0]; -#define DO_SDS \ - CUR.GS.delta_shift = (FT_Short)args[0]; +#define DO_SDS \ + if ( (FT_ULong)args[0] > 6UL ) \ + CUR.error = FT_THROW( Bad_Argument ); \ + else \ + CUR.GS.delta_shift = (FT_UShort)args[0]; #define DO_MD /* nothing */ #define DO_MPPEM \ - args[0] = CURRENT_Ppem(); + args[0] = CUR_Func_cur_ppem(); /* Note: The pointSize should be irrelevant in a given font program; */ @@ -3102,7 +3073,7 @@ #else #define DO_MPS \ - args[0] = CURRENT_Ppem(); + args[0] = CUR_Func_cur_ppem(); #endif /* 0 */ @@ -7487,9 +7458,9 @@ static void Ins_DELTAP( INS_ARG ) { - FT_ULong k, nump; + FT_ULong nump, k; FT_UShort A; - FT_ULong C; + FT_ULong C, P; FT_Long B; #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING FT_UShort B1, B2; @@ -7523,6 +7494,7 @@ } #endif + P = (FT_ULong)CUR_Func_cur_ppem(); nump = (FT_ULong)args[0]; /* some points theoretically may occur more than once, thus UShort isn't enough */ @@ -7567,12 +7539,12 @@ C += CUR.GS.delta_base; - if ( CURRENT_Ppem() == (FT_Long)C ) + if ( P == C ) { B = ( (FT_ULong)B & 0xF ) - 8; if ( B >= 0 ) B++; - B = B * 64 / ( 1L << CUR.GS.delta_shift ); + B *= 1L << ( 6 - CUR.GS.delta_shift ); #ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING @@ -7581,42 +7553,33 @@ /* * Allow delta move if * - * - not using ignore_x_mode rendering - * - glyph is specifically set to allow it - * - glyph is composite and freedom vector is not subpixel - * vector + * - not using ignore_x_mode rendering, + * - glyph is specifically set to allow it, or + * - glyph is composite and freedom vector is not in subpixel + * direction. */ if ( !CUR.ignore_x_mode || ( CUR.sph_tweak_flags & SPH_TWEAK_ALWAYS_DO_DELTAP ) || ( CUR.is_composite && CUR.GS.freeVector.y != 0 ) ) CUR_Func_move( &CUR.zp0, A, B ); - /* Otherwise apply subpixel hinting and */ - /* compatibility mode rules */ - else if ( CUR.ignore_x_mode ) + /* Otherwise, apply subpixel hinting and compatibility mode */ + /* rules, always skipping deltas in subpixel direction. */ + else if ( CUR.ignore_x_mode && CUR.GS.freeVector.y != 0 ) { - if ( CUR.GS.freeVector.y != 0 ) - B1 = CUR.zp0.cur[A].y; - else - B1 = CUR.zp0.cur[A].x; + /* save the y value of the point now; compare after move */ + B1 = (FT_UShort)CUR.zp0.cur[A].y; -#if 0 - /* Standard Subpixel Hinting: Allow y move. */ - /* This messes up dejavu and may not be needed... */ - if ( !CUR.face->sph_compatibility_mode && - CUR.GS.freeVector.y != 0 ) + /* Standard subpixel hinting: Allow y move for y-touched */ + /* points. This messes up DejaVu ... */ + if ( !CUR.face->sph_compatibility_mode && + ( CUR.zp0.tags[A] & FT_CURVE_TAG_TOUCH_Y ) ) CUR_Func_move( &CUR.zp0, A, B ); - else -#endif /* 0 */ - /* Compatibility Mode: Allow x or y move if point touched in */ - /* Y direction. */ - if ( CUR.face->sph_compatibility_mode && - !( CUR.sph_tweak_flags & SPH_TWEAK_ALWAYS_SKIP_DELTAP ) ) + /* compatibility mode */ + else if ( CUR.face->sph_compatibility_mode && + !( CUR.sph_tweak_flags & SPH_TWEAK_ALWAYS_SKIP_DELTAP ) ) { - /* save the y value of the point now; compare after move */ - B1 = CUR.zp0.cur[A].y; - if ( CUR.sph_tweak_flags & SPH_TWEAK_ROUND_NONPIXEL_Y_MOVES ) B = FT_PIX_ROUND( B1 + B ) - B1; @@ -7627,7 +7590,7 @@ CUR_Func_move( &CUR.zp0, A, B ); } - B2 = CUR.zp0.cur[A].y; + B2 = (FT_UShort)CUR.zp0.cur[A].y; /* Reverse this move if it results in a disallowed move */ if ( CUR.GS.freeVector.y != 0 && @@ -7667,7 +7630,7 @@ Ins_DELTAC( INS_ARG ) { FT_ULong nump, k; - FT_ULong A, C; + FT_ULong A, C, P; FT_Long B; @@ -7691,6 +7654,7 @@ } #endif + P = (FT_ULong)CUR_Func_cur_ppem(); nump = (FT_ULong)args[0]; for ( k = 1; k <= nump; k++ ) @@ -7736,12 +7700,12 @@ C += CUR.GS.delta_base; - if ( CURRENT_Ppem() == (FT_Long)C ) + if ( P == C ) { B = ( (FT_ULong)B & 0xF ) - 8; if ( B >= 0 ) B++; - B = B * 64 / ( 1L << CUR.GS.delta_shift ); + B *= 1L << ( 6 - CUR.GS.delta_shift ); CUR_Func_move_cvt( A, B ); } @@ -8262,6 +8226,9 @@ #ifdef TT_CONFIG_OPTION_STATIC_RASTER + if ( !exc ) + return FT_THROW( Invalid_Argument ); + cur = *exc; #endif @@ -8269,11 +8236,12 @@ CUR.iup_called = FALSE; #endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */ - /* set CVT functions */ + /* set PPEM and CVT functions */ CUR.tt_metrics.ratio = 0; if ( CUR.metrics.x_ppem != CUR.metrics.y_ppem ) { /* non-square pixels, use the stretched routines */ + CUR.func_cur_ppem = Current_Ppem_Stretched; CUR.func_read_cvt = Read_CVT_Stretched; CUR.func_write_cvt = Write_CVT_Stretched; CUR.func_move_cvt = Move_CVT_Stretched; @@ -8281,6 +8249,7 @@ else { /* square pixels, use normal routines */ + CUR.func_cur_ppem = Current_Ppem; CUR.func_read_cvt = Read_CVT; CUR.func_write_cvt = Write_CVT; CUR.func_move_cvt = Move_CVT; @@ -9035,10 +9004,13 @@ /* If any errors have occurred, function tables may be broken. */ /* Force a re-execution of `prep' and `fpgm' tables if no */ /* bytecode debugger is run. */ - if ( CUR.error && !CUR.instruction_trap ) + if ( CUR.error + && !CUR.instruction_trap + && CUR.curRange == tt_coderange_glyph ) { FT_TRACE1(( " The interpreter returned error 0x%x\n", CUR.error )); - exc->size->cvt_ready = FALSE; + exc->size->bytecode_ready = -1; + exc->size->cvt_ready = -1; } return CUR.error; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttinterp.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttinterp.h index 1d8825d3b00..333decc6a6d 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttinterp.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttinterp.h @@ -4,7 +4,7 @@ /* */ /* TrueType bytecode interpreter (specification). */ /* */ -/* Copyright 1996-2007, 2010, 2012-2013 by */ +/* Copyright 1996-2007, 2010, 2012-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -81,6 +81,10 @@ FT_BEGIN_HEADER (*TT_Project_Func)( EXEC_OP_ FT_Pos dx, FT_Pos dy ); + /* getting current ppem. Take care of non-square pixels if necessary */ + typedef FT_Long + (*TT_Cur_Ppem_Func)( EXEC_OP ); + /* reading a cvt value. Take care of non-square pixels if necessary */ typedef FT_F26Dot6 (*TT_Get_CVT_Func)( EXEC_OP_ FT_ULong idx ); @@ -228,11 +232,6 @@ FT_BEGIN_HEADER FT_F26Dot6 phase; /* `SuperRounding' */ FT_F26Dot6 threshold; -#if 0 - /* this seems to be unused */ - FT_Int cur_ppem; /* ppem along the current proj vector */ -#endif - FT_Bool instruction_trap; /* If `True', the interpreter will */ /* exit after each instruction */ @@ -254,6 +253,8 @@ FT_BEGIN_HEADER TT_Move_Func func_move; /* current point move function */ TT_Move_Func func_move_orig; /* move original position function */ + TT_Cur_Ppem_Func func_cur_ppem; /* get current proj. ppem value */ + TT_Get_CVT_Func func_read_cvt; /* read a cvt entry */ TT_Set_CVT_Func func_write_cvt; /* write a cvt entry (in pixels) */ TT_Set_CVT_Func func_move_cvt; /* incr a cvt entry (in pixels) */ @@ -295,18 +296,18 @@ FT_BEGIN_HEADER #ifdef TT_USE_BYTECODE_INTERPRETER - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) TT_Goto_CodeRange( TT_ExecContext exec, FT_Int range, FT_Long IP ); - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) TT_Set_CodeRange( TT_ExecContext exec, FT_Int range, void* base, FT_Long length ); - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) TT_Clear_CodeRange( TT_ExecContext exec, FT_Int range ); @@ -344,7 +345,7 @@ FT_BEGIN_HEADER #ifdef TT_USE_BYTECODE_INTERPRETER - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) TT_Done_Context( TT_ExecContext exec ); FT_LOCAL( FT_Error ) @@ -352,7 +353,7 @@ FT_BEGIN_HEADER TT_Face face, TT_Size size ); - FT_LOCAL( FT_Error ) + FT_LOCAL( void ) TT_Save_Context( TT_ExecContext exec, TT_Size ins ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttobjs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttobjs.c index 4adba58f7bb..a73529d8487 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttobjs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttobjs.c @@ -760,7 +760,9 @@ if ( !exec ) return FT_THROW( Could_Not_Find_Context ); - TT_Load_Context( exec, face, size ); + error = TT_Load_Context( exec, face, size ); + if ( error ) + return error; exec->callTop = 0; exec->top = 0; @@ -801,18 +803,16 @@ if ( face->font_program_size > 0 ) { - error = TT_Goto_CodeRange( exec, tt_coderange_font, 0 ); + TT_Goto_CodeRange( exec, tt_coderange_font, 0 ); - if ( !error ) - { - FT_TRACE4(( "Executing `fpgm' table.\n" )); - - error = face->interpreter( exec ); - } + FT_TRACE4(( "Executing `fpgm' table.\n" )); + error = face->interpreter( exec ); } else error = FT_Err_Ok; + size->bytecode_ready = error; + if ( !error ) TT_Save_Context( exec, size ); @@ -854,7 +854,9 @@ if ( !exec ) return FT_THROW( Could_Not_Find_Context ); - TT_Load_Context( exec, face, size ); + error = TT_Load_Context( exec, face, size ); + if ( error ) + return error; exec->callTop = 0; exec->top = 0; @@ -872,9 +874,9 @@ if ( face->cvt_program_size > 0 ) { - error = TT_Goto_CodeRange( exec, tt_coderange_cvt, 0 ); + TT_Goto_CodeRange( exec, tt_coderange_cvt, 0 ); - if ( !error && !size->debug ) + if ( !size->debug ) { FT_TRACE4(( "Executing `prep' table.\n" )); @@ -884,6 +886,8 @@ else error = FT_Err_Ok; + size->cvt_ready = error; + /* UNDOCUMENTED! The MS rasterizer doesn't allow the following */ /* graphics state variables to be modified by the CVT program. */ @@ -912,10 +916,6 @@ return error; } -#endif /* TT_USE_BYTECODE_INTERPRETER */ - - -#ifdef TT_USE_BYTECODE_INTERPRETER static void tt_size_done_bytecode( FT_Size ftsize ) @@ -953,8 +953,8 @@ size->max_func = 0; size->max_ins = 0; - size->bytecode_ready = 0; - size->cvt_ready = 0; + size->bytecode_ready = -1; + size->cvt_ready = -1; } @@ -968,14 +968,13 @@ TT_Size size = (TT_Size)ftsize; TT_Face face = (TT_Face)ftsize->face; FT_Memory memory = face->root.memory; - FT_Int i; FT_UShort n_twilight; TT_MaxProfile* maxp = &face->max_profile; - size->bytecode_ready = 1; - size->cvt_ready = 0; + size->bytecode_ready = -1; + size->cvt_ready = -1; size->max_function_defs = maxp->maxFunctionDefs; size->max_instruction_defs = maxp->maxInstructionDefs; @@ -997,9 +996,11 @@ metrics->rotated = FALSE; metrics->stretched = FALSE; - /* set default compensation (all 0) */ - for ( i = 0; i < 4; i++ ) - metrics->compensations[i] = 0; + /* set default engine compensation */ + metrics->compensations[0] = 0; /* gray */ + metrics->compensations[1] = 0; /* black */ + metrics->compensations[2] = 0; /* white */ + metrics->compensations[3] = 0; /* reserved */ } /* allocate function defs, instruction defs, cvt, and storage area */ @@ -1052,15 +1053,14 @@ FT_Error error = FT_Err_Ok; - if ( !size->bytecode_ready ) - { + if ( size->bytecode_ready < 0 ) error = tt_size_init_bytecode( (FT_Size)size, pedantic ); - if ( error ) - goto Exit; - } + + if ( error || size->bytecode_ready ) + goto Exit; /* rescale CVT when needed */ - if ( !size->cvt_ready ) + if ( size->cvt_ready < 0 ) { FT_UInt i; TT_Face face = (TT_Face)size->root.face; @@ -1087,8 +1087,6 @@ size->GS = tt_default_graphics_state; error = tt_size_run_prep( size, pedantic ); - if ( !error ) - size->cvt_ready = 1; } Exit: @@ -1119,8 +1117,8 @@ FT_Error error = FT_Err_Ok; #ifdef TT_USE_BYTECODE_INTERPRETER - size->bytecode_ready = 0; - size->cvt_ready = 0; + size->bytecode_ready = -1; + size->cvt_ready = -1; #endif size->ttmetrics.valid = FALSE; @@ -1148,7 +1146,7 @@ #ifdef TT_USE_BYTECODE_INTERPRETER - if ( size->bytecode_ready ) + if ( size->bytecode_ready >= 0 ) tt_size_done_bytecode( ttsize ); #endif @@ -1229,7 +1227,7 @@ } #ifdef TT_USE_BYTECODE_INTERPRETER - size->cvt_ready = 0; + size->cvt_ready = -1; #endif /* TT_USE_BYTECODE_INTERPRETER */ if ( !error ) diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttobjs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttobjs.h index a11dd3752a3..859164f86be 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttobjs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttobjs.h @@ -4,7 +4,7 @@ /* */ /* Objects manager (specification). */ /* */ -/* Copyright 1996-2009, 2011-2013 by */ +/* Copyright 1996-2009, 2011-2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -95,8 +95,8 @@ FT_BEGIN_HEADER FT_F26Dot6 control_value_cutin; FT_F26Dot6 single_width_cutin; FT_F26Dot6 single_width_value; - FT_Short delta_base; - FT_Short delta_shift; + FT_UShort delta_base; + FT_UShort delta_shift; FT_Byte instruct_control; /* According to Greg Hitchcock from Microsoft, the `scan_control' */ @@ -333,8 +333,10 @@ FT_BEGIN_HEADER FT_Bool debug; TT_ExecContext context; - FT_Bool bytecode_ready; - FT_Bool cvt_ready; + /* if negative, `fpgm' (resp. `prep'), wasn't executed yet; */ + /* otherwise it is the returned error code */ + FT_Error bytecode_ready; + FT_Error cvt_ready; #endif /* TT_USE_BYTECODE_INTERPRETER */ diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpic.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpic.c index edefae72c5c..edefae72c5c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpic.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpic.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpic.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpic.h index cfb4ee62812..cfb4ee62812 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpic.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpic.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpload.c index 9723a515b9f..99919254252 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpload.c @@ -508,9 +508,9 @@ record_size = FT_NEXT_ULONG( p ); /* The maximum number of bytes in an hdmx device record is the */ - /* maximum number of glyphs + 2; this is 0xFFFF + 2; this is */ - /* the reason why `record_size' is a long (which we read as */ - /* unsigned long for convenience). In practice, two bytes */ + /* maximum number of glyphs + 2; this is 0xFFFF + 2, thus */ + /* explaining why `record_size' is a long (which we read as */ + /* unsigned long for convenience). In practice, two bytes are */ /* sufficient to hold the size value. */ /* */ /* There are at least two fonts, HANNOM-A and HANNOM-B version */ @@ -522,8 +522,10 @@ record_size &= 0xFFFFU; /* The limit for `num_records' is a heuristic value. */ - - if ( version != 0 || num_records > 255 || record_size > 0x10001L ) + if ( version != 0 || + num_records > 255 || + record_size > 0x10001L || + record_size < 4 ) { error = FT_THROW( Invalid_File_Format ); goto Fail; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpload.h index f61ac079ce0..f61ac079ce0 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttpload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttpload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttsubpix.c b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttsubpix.c index 28470ad655a..ca604518cfe 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttsubpix.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttsubpix.c @@ -282,7 +282,7 @@ const SPH_TweakRule COMPATIBILITY_MODE_Rules [COMPATIBILITY_MODE_RULES_SIZE] = { - { "-", 0, "", 0 }, + { "Verdana Clones", 0, "", 0 }, }; @@ -956,7 +956,7 @@ if ( loader->exec->rasterizer_version != TT_INTERPRETER_VERSION_35 ) { loader->exec->rasterizer_version = TT_INTERPRETER_VERSION_35; - loader->exec->size->cvt_ready = FALSE; + loader->exec->size->cvt_ready = -1; tt_size_ready_bytecode( loader->exec->size, @@ -971,7 +971,7 @@ SPH_OPTION_SET_RASTERIZER_VERSION ) { loader->exec->rasterizer_version = SPH_OPTION_SET_RASTERIZER_VERSION; - loader->exec->size->cvt_ready = FALSE; + loader->exec->size->cvt_ready = -1; tt_size_ready_bytecode( loader->exec->size, diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttsubpix.h b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttsubpix.h index 8a54fc7cc77..8a54fc7cc77 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/truetype/ttsubpix.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/truetype/ttsubpix.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/Jamfile index 8e366baae51..8e366baae51 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/module.mk index ade0210d76c..ade0210d76c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/rules.mk index 15087b03044..15087b03044 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1afm.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1afm.c index de9c1997c46..de9c1997c46 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1afm.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1afm.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1afm.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1afm.h index 8eb1764de70..8eb1764de70 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1afm.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1afm.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1driver.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1driver.c index 697288d66dc..2602bdb6ffc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1driver.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1driver.c @@ -4,7 +4,7 @@ /* */ /* Type 1 driver interface (body). */ /* */ -/* Copyright 1996-2004, 2006, 2007, 2009, 2011, 2013 by */ +/* Copyright 1996-2004, 2006, 2007, 2009, 2011, 2013, 2014 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -557,9 +557,6 @@ if ( value && value_len >= retval ) *((FT_Long *)value) = type1->font_info.italic_angle; break; - - default: - break; } return retval; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1driver.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1driver.h index 639cd4a7ad9..639cd4a7ad9 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1driver.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1driver.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1errors.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1errors.h index 8740530eef7..8740530eef7 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1errors.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1errors.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1gload.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1gload.c index af102fd85e3..af102fd85e3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1gload.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1gload.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1gload.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1gload.h index 0bdea3a8d5b..0bdea3a8d5b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1gload.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1gload.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1load.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1load.c index fd06432b5de..22b3f6b31dd 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1load.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1load.c @@ -1211,7 +1211,7 @@ char* notdef = (char *)".notdef"; - T1_Add_Table( char_table, n, notdef, 8 ); + (void)T1_Add_Table( char_table, n, notdef, 8 ); } /* Now we need to read records of the form */ @@ -1596,6 +1596,11 @@ } T1_Skip_PS_Token( parser ); + if ( parser->root.cursor >= limit ) + { + error = FT_THROW( Invalid_File_Format ); + goto Fail; + } if ( parser->root.error ) return; @@ -1604,7 +1609,7 @@ FT_PtrDist len; - if ( cur + 1 >= limit ) + if ( cur + 2 >= limit ) { error = FT_THROW( Invalid_File_Format ); goto Fail; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1load.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1load.h index 546fc33530b..546fc33530b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1load.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1load.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1objs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1objs.c index e11770feefc..e11770feefc 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1objs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1objs.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1objs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1objs.h index 54ccbb996a1..54ccbb996a1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1objs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1objs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1parse.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1parse.c index ccf9f4cc560..ccf9f4cc560 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1parse.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1parse.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1parse.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1parse.h index fb1c8a88308..fb1c8a88308 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1parse.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1parse.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1tokens.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1tokens.h index e37276b9083..e37276b9083 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/t1tokens.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/t1tokens.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/type1.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/type1.c index ccc12be1038..ccc12be1038 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type1/type1.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type1/type1.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/Jamfile index 00371d54f32..00371d54f32 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/module.mk index b3f10a8d3c8..b3f10a8d3c8 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/rules.mk index eac1081eb1f..eac1081eb1f 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42drivr.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42drivr.c index 3ad1bde79f2..3ad1bde79f2 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42drivr.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42drivr.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42drivr.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42drivr.h index 9a1e97e30e3..9a1e97e30e3 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42drivr.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42drivr.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42error.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42error.h index 217ae8bd529..217ae8bd529 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42error.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42error.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42objs.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42objs.c index 798ebdbc5a4..915e81fe748 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42objs.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42objs.c @@ -47,6 +47,12 @@ if ( FT_ALLOC( face->ttf_data, 12 ) ) goto Exit; + /* while parsing the font we always update `face->ttf_size' so that */ + /* even in case of buggy data (which might lead to premature end of */ + /* scanning without causing an error) the call to `FT_Open_Face' in */ + /* `T42_Face_Init' passes the correct size */ + face->ttf_size = 12; + error = t42_parser_init( parser, face->root.stream, memory, @@ -286,7 +292,9 @@ FT_Open_Args args; - args.flags = FT_OPEN_MEMORY; + args.flags = FT_OPEN_MEMORY | FT_OPEN_DRIVER; + args.driver = FT_Get_Module( FT_FACE_LIBRARY( face ), + "truetype" ); args.memory_base = face->ttf_data; args.memory_size = face->ttf_size; diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42objs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42objs.h index 02d13259bed..02d13259bed 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42objs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42objs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42parse.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42parse.c index 9b668889b02..fd3d669f63e 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42parse.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42parse.c @@ -366,7 +366,7 @@ char* notdef = (char *)".notdef"; - T1_Add_Table( char_table, n, notdef, 8 ); + (void)T1_Add_Table( char_table, n, notdef, 8 ); } /* Now we need to read records of the form */ @@ -524,7 +524,7 @@ FT_Byte* limit = parser->root.limit; FT_Error error; FT_Int num_tables = 0; - FT_ULong count, ttf_size = 0; + FT_ULong count; FT_Long n, string_size, old_string_size, real_size; FT_Byte* string_buf = NULL; @@ -617,7 +617,7 @@ if ( limit - parser->root.cursor < string_size ) { - FT_ERROR(( "t42_parse_sfnts: too many binary data\n" )); + FT_ERROR(( "t42_parse_sfnts: too much binary data\n" )); error = FT_THROW( Invalid_File_Format ); goto Fail; } @@ -657,18 +657,18 @@ } else { - num_tables = 16 * face->ttf_data[4] + face->ttf_data[5]; - status = BEFORE_TABLE_DIR; - ttf_size = 12 + 16 * num_tables; + num_tables = 16 * face->ttf_data[4] + face->ttf_data[5]; + status = BEFORE_TABLE_DIR; + face->ttf_size = 12 + 16 * num_tables; - if ( FT_REALLOC( face->ttf_data, 12, ttf_size ) ) + if ( FT_REALLOC( face->ttf_data, 12, face->ttf_size ) ) goto Fail; } /* fall through */ case BEFORE_TABLE_DIR: /* the offset table is read; read the table directory */ - if ( count < ttf_size ) + if ( count < face->ttf_size ) { face->ttf_data[count++] = string_buf[n]; continue; @@ -687,24 +687,23 @@ len = FT_PEEK_ULONG( p ); /* Pad to a 4-byte boundary length */ - ttf_size += ( len + 3 ) & ~3; + face->ttf_size += ( len + 3 ) & ~3; } - status = OTHER_TABLES; - face->ttf_size = ttf_size; + status = OTHER_TABLES; /* there are no more than 256 tables, so no size check here */ if ( FT_REALLOC( face->ttf_data, 12 + 16 * num_tables, - ttf_size + 1 ) ) + face->ttf_size + 1 ) ) goto Fail; } /* fall through */ case OTHER_TABLES: /* all other tables are just copied */ - if ( count >= ttf_size ) + if ( count >= face->ttf_size ) { - FT_ERROR(( "t42_parse_sfnts: too many binary data\n" )); + FT_ERROR(( "t42_parse_sfnts: too much binary data\n" )); error = FT_THROW( Invalid_File_Format ); goto Fail; } @@ -850,6 +849,12 @@ break; T1_Skip_PS_Token( parser ); + if ( parser->root.cursor >= limit ) + { + FT_ERROR(( "t42_parse_charstrings: out of bounds\n" )); + error = FT_THROW( Invalid_File_Format ); + goto Fail; + } if ( parser->root.error ) return; @@ -858,7 +863,7 @@ FT_PtrDist len; - if ( cur + 1 >= limit ) + if ( cur + 2 >= limit ) { FT_ERROR(( "t42_parse_charstrings: out of bounds\n" )); error = FT_THROW( Invalid_File_Format ); diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42parse.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42parse.h index f77ec4af4f4..f77ec4af4f4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42parse.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42parse.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42types.h b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42types.h index c7c2db490df..c7c2db490df 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/t42types.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/t42types.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/type42.c b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/type42.c index d13df56b10c..d13df56b10c 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/type42/type42.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/type42/type42.c diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/Jamfile b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/Jamfile index 71cf5678e8b..71cf5678e8b 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/Jamfile +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/Jamfile diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/fnterrs.h b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/fnterrs.h index 463ba77ee24..463ba77ee24 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/fnterrs.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/fnterrs.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/module.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/module.mk index b44d7f0570a..b44d7f0570a 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/module.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/module.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/rules.mk b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/rules.mk index 71a7df2d8ab..71a7df2d8ab 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/rules.mk +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/rules.mk diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/winfnt.c b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/winfnt.c index e9c1a9b5fda..f90b084dbdf 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/winfnt.c +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/winfnt.c @@ -591,11 +591,14 @@ static FT_Error - fnt_cmap_init( FNT_CMap cmap ) + fnt_cmap_init( FNT_CMap cmap, + FT_Pointer pointer ) { FNT_Face face = (FNT_Face)FT_CMAP_FACE( cmap ); FNT_Font font = face->font; + FT_UNUSED( pointer ); + cmap->first = (FT_UInt32) font->header.first_char; cmap->count = (FT_UInt32)( font->header.last_char - cmap->first + 1 ); @@ -971,7 +974,7 @@ if ( !face ) { - error = FT_THROW( Invalid_Argument ); + error = FT_THROW( Invalid_Face_Handle ); goto Exit; } diff --git a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/winfnt.h b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/winfnt.h index b7a80736d83..b7a80736d83 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/src/winfonts/winfnt.h +++ b/Build/source/libs/freetype2/freetype-2.5.4/src/winfonts/winfnt.h diff --git a/Build/source/libs/freetype2/freetype-2.5.3/version.sed b/Build/source/libs/freetype2/freetype-2.5.4/version.sed index c281ff506b4..c281ff506b4 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/version.sed +++ b/Build/source/libs/freetype2/freetype-2.5.4/version.sed diff --git a/Build/source/libs/freetype2/freetype-2.5.3/vms_make.com b/Build/source/libs/freetype2/freetype-2.5.4/vms_make.com index 8d8fdf771c1..8d8fdf771c1 100644 --- a/Build/source/libs/freetype2/freetype-2.5.3/vms_make.com +++ b/Build/source/libs/freetype2/freetype-2.5.4/vms_make.com diff --git a/Build/source/libs/freetype2/version.ac b/Build/source/libs/freetype2/version.ac index cd7d5ea4178..01d81f0894d 100644 --- a/Build/source/libs/freetype2/version.ac +++ b/Build/source/libs/freetype2/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current freetype version -m4_define([freetype_version], [2.5.3]) +m4_define([freetype_version], [2.5.4]) diff --git a/Build/source/libs/luajit/texluajit.pc.in b/Build/source/libs/luajit/texluajit.pc.in index 17b9f8035ea..dd3fe4bbd0a 100644 --- a/Build/source/libs/luajit/texluajit.pc.in +++ b/Build/source/libs/luajit/texluajit.pc.in @@ -3,8 +3,8 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: LuaJIT for LuaTeX -Description: LuaJIT, modified for use with LuaTeX +Name: LuaJIT for LuaJITTeX +Description: LuaJIT, modified for use with LuaJITTeX Version: @LUAJITVERSION@ Libs: -L${libdir} -ltexluajit Libs.private: @LIBS@ diff --git a/Build/source/m4/ChangeLog b/Build/source/m4/ChangeLog index 1c8a9e2450a..bf616b32a8d 100644 --- a/Build/source/m4/ChangeLog +++ b/Build/source/m4/ChangeLog @@ -1,3 +1,7 @@ +2014-12-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + * kpse-options.m4: Set platform name to ${host_alias-$host}. + 2014-12-05 Peter Breitenlohner <peb@mppmu.mpg.de> * kpse-luajit-flags.m4: LuaJIT is now a Libtool library. diff --git a/Build/source/m4/kpse-options.m4 b/Build/source/m4/kpse-options.m4 index a96edab08c3..32e5a0eccd4 100644 --- a/Build/source/m4/kpse-options.m4 +++ b/Build/source/m4/kpse-options.m4 @@ -1,12 +1,10 @@ # Public macros for the TeX Live (TL) tree. -# Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org> +# Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org> # # This file is free software; the copyright holder # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 0 - # KPSE_OPTIONS # ------------ # Provide configure options used by the higher level TL directories @@ -18,11 +16,11 @@ AC_ARG_ENABLE([multiplatform], [put executables into bin/PLATFORM and libraries into lib/PLATFORM]))[]dnl if test "x$enable_multiplatform" = xyes; then if test "x$bindir" = 'x${exec_prefix}/bin'; then - bindir="$bindir/$host" + bindir="$bindir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--bindir=$bindir'" fi if test "x$libdir" = 'x${exec_prefix}/lib'; then - libdir="$libdir/$host" + libdir="$libdir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--libdir=$libdir'" fi fi diff --git a/Build/source/texk/configure b/Build/source/texk/configure index 7ba4bc1a9ac..f7c609b1769 100755 --- a/Build/source/texk/configure +++ b/Build/source/texk/configure @@ -3295,11 +3295,11 @@ if test "${enable_multiplatform+set}" = set; then : fi if test "x$enable_multiplatform" = xyes; then if test "x$bindir" = 'x${exec_prefix}/bin'; then - bindir="$bindir/$host" + bindir="$bindir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--bindir=$bindir'" fi if test "x$libdir" = 'x${exec_prefix}/lib'; then - libdir="$libdir/$host" + libdir="$libdir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--libdir=$libdir'" fi fi diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog index 1bf8449a1b3..8e8bc495d17 100644 --- a/Build/source/texk/kpathsea/ChangeLog +++ b/Build/source/texk/kpathsea/ChangeLog @@ -1,3 +1,7 @@ +2014-12-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + * Makefile.am [kpathsea.h]: Improved output for silent rules. + 2014-12-05 Karl Berry <karl@tug.org> * kpsewhich.c (help_formats): new fn for new option --help-formats. diff --git a/Build/source/texk/kpathsea/Makefile.am b/Build/source/texk/kpathsea/Makefile.am index 03c0cfab060..17ab473710a 100644 --- a/Build/source/texk/kpathsea/Makefile.am +++ b/Build/source/texk/kpathsea/Makefile.am @@ -220,15 +220,13 @@ stamp-kpathsea: Makefile paths.h echo '/* collecting all public kpathsea headers. */'; \ for f in config.h paths.h $(direct_headers); do \ echo "#include <kpathsea/$$f>"; \ - done ) >kpathsea.tmp - @if cmp -s kpathsea.h kpathsea.tmp 2>/dev/null; then \ + done ) >kpathsea.tmp && \ + if cmp -s kpathsea.h kpathsea.tmp 2>/dev/null; then \ echo "kpathsea.h is unchanged"; \ else \ - echo "cp kpathsea.tmp kpathsea.h"; \ + echo "generated kpathsea.h"; \ cp kpathsea.tmp kpathsea.h; \ - fi - rm -f kpathsea.tmp - date >$@ + fi && rm -f kpathsea.tmp && date >$@ EXTRA_DIST += bsnl.awk cnf-to-paths.awk diff --git a/Build/source/texk/kpathsea/Makefile.in b/Build/source/texk/kpathsea/Makefile.in index 69e6fd8582c..159bf11e7bd 100644 --- a/Build/source/texk/kpathsea/Makefile.in +++ b/Build/source/texk/kpathsea/Makefile.in @@ -110,8 +110,8 @@ DIST_COMMON = $(top_srcdir)/../../am/bin_links.am \ $(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(srcdir)/c-auto.in \ - $(srcdir)/kpathsea.pc.in putenv.c strtol.c strstr.c \ - strcasecmp.c $(dist_noinst_SCRIPTS) $(dist_web2c_SCRIPTS) \ + $(srcdir)/kpathsea.pc.in strstr.c strcasecmp.c strtol.c \ + putenv.c $(dist_noinst_SCRIPTS) $(dist_web2c_SCRIPTS) \ $(top_srcdir)/../../build-aux/depcomp $(dist_noinst_DATA) \ $(dist_web2c_DATA) $(kpseinclude_HEADERS) $(noinst_HEADERS) \ $(top_srcdir)/../../build-aux/test-driver AUTHORS ChangeLog \ @@ -2254,15 +2254,13 @@ stamp-kpathsea: Makefile paths.h echo '/* collecting all public kpathsea headers. */'; \ for f in config.h paths.h $(direct_headers); do \ echo "#include <kpathsea/$$f>"; \ - done ) >kpathsea.tmp - @if cmp -s kpathsea.h kpathsea.tmp 2>/dev/null; then \ + done ) >kpathsea.tmp && \ + if cmp -s kpathsea.h kpathsea.tmp 2>/dev/null; then \ echo "kpathsea.h is unchanged"; \ else \ - echo "cp kpathsea.tmp kpathsea.h"; \ + echo "generated kpathsea.h"; \ cp kpathsea.tmp kpathsea.h; \ - fi - rm -f kpathsea.tmp - date >$@ + fi && rm -f kpathsea.tmp && date >$@ install-exec-local: installdirs-am @WIN32_FALSE@ @for f in $(dist_noinst_SCRIPTS); do \ diff --git a/Build/source/utils/configure b/Build/source/utils/configure index cabc21dc9ea..9787423f6d2 100755 --- a/Build/source/utils/configure +++ b/Build/source/utils/configure @@ -3274,11 +3274,11 @@ if test "${enable_multiplatform+set}" = set; then : fi if test "x$enable_multiplatform" = xyes; then if test "x$bindir" = 'x${exec_prefix}/bin'; then - bindir="$bindir/$host" + bindir="$bindir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--bindir=$bindir'" fi if test "x$libdir" = 'x${exec_prefix}/lib'; then - libdir="$libdir/$host" + libdir="$libdir/${host_alias-$host}" ac_configure_args="$ac_configure_args '--libdir=$libdir'" fi fi |