From 07ee296d5f58669a20bd3fc0a6ae7af42319b1d6 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Tue, 1 Dec 2015 22:13:30 -0400 Subject: [PATCH] Update FreeType to 2.6.2. --- CMakeLists.txt | 4 +- libs/freetype-2.5.0.1/CMakeLists.txt | 63 - libs/freetype-2.5.0.1/builds/symbian/bld.inf | 66 - .../freetype-2.5.0.1/builds/unix/freetype2.in | 12 - libs/freetype-2.5.0.1/builds/unix/ft2unix.h | 61 - .../builds/unix/mkinstalldirs | 161 - .../builds/win32/vc2005/freetype.sln | 31 - .../builds/win32/vc2005/freetype.vcproj | 646 - .../builds/win32/vc2008/freetype.sln | 31 - .../builds/win32/vc2008/freetype.vcproj | 2180 -- .../builds/win32/vc2010/freetype.sln | 32 - .../builds/win32/vc2010/freetype.vcxproj | 832 - .../win32/vc2010/freetype.vcxproj.filters | 155 - .../builds/win32/vc2010/index.html | 37 - .../builds/win32/visualc/freetype.dsp | 400 - .../builds/win32/visualc/freetype.dsw | 29 - .../builds/win32/visualc/freetype.sln | 31 - .../builds/win32/visualc/freetype.vcproj | 2179 -- .../builds/win32/visualce/freetype.dsp | 400 - .../builds/win32/visualce/freetype.dsw | 29 - .../builds/win32/visualce/freetype.vcproj | 13885 ------- .../builds/wince/vc2008-ce/freetype.vcproj | 13495 ------- libs/freetype-2.5.0.1/docs/DEBUG | 202 - libs/freetype-2.5.0.1/docs/INSTALL.CROSS | 135 - .../docs/reference/ft2-auto_hinter.html | 317 - .../docs/reference/ft2-base_interface.html | 3626 -- .../docs/reference/ft2-basic_types.html | 1210 - .../docs/reference/ft2-bdf_fonts.html | 260 - .../docs/reference/ft2-bitmap_handling.html | 302 - .../docs/reference/ft2-bzip2.html | 94 - .../docs/reference/ft2-cff_driver.html | 138 - .../docs/reference/ft2-cid_fonts.html | 204 - .../docs/reference/ft2-computations.html | 832 - .../docs/reference/ft2-font_formats.html | 84 - .../docs/reference/ft2-gasp_table.html | 142 - .../docs/reference/ft2-glyph_management.html | 673 - .../docs/reference/ft2-glyph_stroker.html | 940 - .../docs/reference/ft2-glyph_variants.html | 269 - .../docs/reference/ft2-gx_validation.html | 356 - .../docs/reference/ft2-gzip.html | 94 - .../reference/ft2-header_file_macros.html | 902 - .../docs/reference/ft2-index.html | 303 - .../docs/reference/ft2-lcd_filtering.html | 206 - .../docs/reference/ft2-list_processing.html | 486 - .../docs/reference/ft2-lzw.html | 94 - .../docs/reference/ft2-mac_specific.html | 368 - .../docs/reference/ft2-module_management.html | 819 - .../docs/reference/ft2-multiple_masters.html | 511 - .../docs/reference/ft2-ot_validation.html | 208 - .../reference/ft2-outline_processing.html | 1147 - .../docs/reference/ft2-pfr_fonts.html | 206 - .../docs/reference/ft2-quick_advance.html | 186 - .../docs/reference/ft2-raster.html | 606 - .../docs/reference/ft2-sfnt_names.html | 232 - .../docs/reference/ft2-sizes_management.html | 164 - .../docs/reference/ft2-system_interface.html | 415 - .../docs/reference/ft2-toc.html | 235 - .../docs/reference/ft2-truetype_engine.html | 132 - .../docs/reference/ft2-truetype_tables.html | 1232 - .../docs/reference/ft2-tt_driver.html | 120 - .../docs/reference/ft2-type1_tables.html | 689 - .../docs/reference/ft2-user_allocation.html | 47 - .../docs/reference/ft2-version.html | 219 - .../docs/reference/ft2-winfnt_fonts.html | 278 - .../include/freetype/ftcffdrv.h | 151 - .../include/freetype/ftttdrv.h | 150 - libs/freetype-2.5.0.1/src/autofit/afglobal.c | 304 - libs/freetype-2.5.0.1/src/autofit/afglobal.h | 109 - libs/freetype-2.5.0.1/src/autofit/afloader.c | 561 - libs/freetype-2.5.0.1/src/autofit/afmodule.c | 264 - libs/freetype-2.5.0.1/src/autofit/aftypes.h | 378 - libs/freetype-2.5.0.1/src/base/Jamfile | 60 - libs/freetype-2.5.0.1/src/base/ftcalc.c | 974 - libs/freetype-2.5.0.1/src/gzip/rules.mk | 75 - .../src/tools/docmaker/sources.py | 347 - .../src/tools/docmaker/tohtml.py | 593 - libs/freetype-2.6.2/CMakeLists.txt | 436 + libs/freetype-2.6.2/ChangeLog | 3606 ++ .../ChangeLog.20 | 5226 +-- .../ChangeLog.21 | 18878 +++++----- .../ChangeLog.22 | 5674 +-- .../ChangeLog.23 | 15896 ++++---- .../ChangeLog => freetype-2.6.2/ChangeLog.24} | 13304 ++++--- libs/freetype-2.6.2/ChangeLog.25 | 5161 +++ .../Jamfile | 413 +- .../Jamrules | 142 +- .../Makefile | 68 +- .../README | 167 +- .../README.git | 96 +- .../autogen.sh | 331 +- .../builds/amiga/README | 220 +- .../builds/amiga/include}/config/ftconfig.h | 110 +- .../builds/amiga/include}/config/ftmodule.h | 320 +- .../builds/amiga/makefile | 598 +- .../builds/amiga/makefile.os4 | 606 +- .../builds/amiga/smakefile | 606 +- .../builds/amiga/src/base/ftdebug.c | 594 +- .../builds/amiga/src/base/ftsystem.c | 1060 +- .../builds/ansi/ansi-def.mk | 148 +- .../builds/ansi/ansi.mk | 42 +- .../builds/atari/ATARI.H | 40 +- .../builds/atari/FNames.SIC | 74 +- .../builds/atari/FREETYPE.PRJ | 64 +- .../builds/atari/README.TXT | 102 +- .../builds/atari/deflinejoiner.awk | 362 +- .../builds/atari/gen-purec-patch.sh | 80 +- .../builds/beos/beos-def.mk | 152 +- .../builds/beos/beos.mk | 38 +- .../builds/beos/detect.mk | 82 +- .../builds/cmake/FindHarfBuzz.cmake | 72 + libs/freetype-2.6.2/builds/cmake/iOS.cmake | 275 + libs/freetype-2.6.2/builds/cmake/testbuild.sh | 157 + .../builds/compiler/ansi-cc.mk | 160 +- .../builds/compiler/bcc-dev.mk | 172 +- .../builds/compiler/bcc.mk | 172 +- .../builds/compiler/emx.mk | 154 +- .../builds/compiler/gcc-dev.mk | 190 +- .../builds/compiler/gcc.mk | 154 +- .../builds/compiler/intelc.mk | 170 +- .../builds/compiler/unix-lcc.mk | 166 +- .../builds/compiler/visualage.mk | 152 +- .../builds/compiler/visualc.mk | 164 +- .../builds/compiler/watcom.mk | 162 +- .../builds/compiler/win-lcc.mk | 162 +- .../builds/detect.mk | 308 +- .../builds/dos/detect.mk | 284 +- .../builds/dos/dos-def.mk | 90 +- .../builds/dos/dos-emx.mk | 42 +- .../builds/dos/dos-gcc.mk | 42 +- .../builds/dos/dos-wat.mk | 40 +- .../builds/exports.mk | 152 +- .../builds/freetype.mk | 700 +- .../builds/link_dos.mk | 84 +- .../builds/link_std.mk | 84 +- .../builds/mac/FreeType.m68k_cfm.make.txt | 424 +- .../builds/mac/FreeType.m68k_far.make.txt | 422 +- .../builds/mac/FreeType.ppc_carbon.make.txt | 430 +- .../builds/mac/FreeType.ppc_classic.make.txt | 432 +- .../builds/mac/README | 804 +- .../builds/mac/ascii2mpw.py | 48 +- .../builds/mac/freetype-Info.plist | 36 + .../builds/mac/ftlib.prj.xml | 2388 +- .../builds/mac/ftmac.c | 3077 +- .../builds/modules.mk | 158 +- .../builds/newline | 0 .../builds/os2/detect.mk | 146 +- .../builds/os2/os2-def.mk | 88 +- .../builds/os2/os2-dev.mk | 60 +- .../builds/os2/os2-gcc.mk | 52 +- libs/freetype-2.6.2/builds/symbian/bld.inf | 66 + .../builds/symbian/freetype.mmp | 295 +- .../builds/toplevel.mk | 534 +- .../builds/unix/aclocal.m4 | 17647 ++++----- .../builds/unix/config.guess | 3002 +- .../builds/unix/config.sub | 3601 +- .../builds/unix/configure | 31418 ++++++++-------- .../builds/unix/configure.ac | 1796 +- .../builds/unix/configure.raw | 1796 +- .../builds/unix/detect.mk | 186 +- .../builds/unix/freetype-config.in | 319 +- libs/freetype-2.6.2/builds/unix/freetype2.in | 14 + .../builds/unix/freetype2.m4 | 388 +- .../builds/unix/ft-munmap.m4 | 64 +- .../builds/unix/ftconfig.in | 1123 +- .../builds/unix/ftsystem.c | 839 +- .../builds/unix/install-sh | 1028 +- .../builds/unix/install.mk | 188 +- .../builds/unix/ltmain.sh | 20802 +++++----- libs/freetype-2.6.2/builds/unix/pkg.m4 | 199 + .../builds/unix/unix-cc.in | 228 +- .../builds/unix/unix-def.in | 285 +- .../builds/unix/unix-dev.mk | 52 +- .../builds/unix/unix-lcc.mk | 48 +- .../builds/unix/unix.mk | 124 +- .../builds/unix/unixddef.mk | 90 +- .../builds/vms/ftconfig.h | 784 +- .../builds/vms/ftsystem.c | 656 +- .../builds/wince/ftdebug.c | 510 +- .../builds/wince/vc2005-ce/freetype.sln | 316 +- .../builds/wince/vc2005-ce/freetype.vcproj | 7676 ++-- .../builds/wince/vc2005-ce/index.html | 94 +- .../builds/wince/vc2008-ce/freetype.sln | 316 +- .../builds/wince/vc2008-ce/freetype.vcproj | 13495 +++++++ .../builds/wince/vc2008-ce/index.html | 94 +- .../builds/windows}/detect.mk | 367 +- .../builds/windows}/ftdebug.c | 474 +- .../builds/windows/vc2005/freetype.sln | 31 + .../builds/windows/vc2005/freetype.vcproj | 646 + .../builds/windows}/vc2005/index.html | 74 +- .../builds/windows/vc2008/freetype.sln | 31 + .../builds/windows/vc2008/freetype.vcproj | 2180 ++ .../builds/windows}/vc2008/index.html | 74 +- .../builds/windows/vc2010/freetype.sln | 50 + .../builds/windows/vc2010/freetype.user.props | 68 + .../builds/windows/vc2010/freetype.vcxproj | 1718 + .../windows/vc2010/freetype.vcxproj.filters | 155 + .../builds/windows/vc2010/index.html | 52 + .../builds/windows/visualc/freetype.dsp | 400 + .../builds/windows/visualc/freetype.dsw | 29 + .../builds/windows/visualc/freetype.sln | 31 + .../builds/windows/visualc/freetype.vcproj | 2179 ++ .../builds/windows}/visualc/index.html | 74 +- .../builds/windows/visualce/freetype.dsp | 400 + .../builds/windows/visualce/freetype.dsw | 29 + .../builds/windows/visualce/freetype.vcproj | 13885 +++++++ .../builds/windows}/visualce/index.html | 94 +- .../builds/windows}/w32-bcc.mk | 56 +- .../builds/windows}/w32-bccd.mk | 52 +- .../builds/windows}/w32-dev.mk | 64 +- .../builds/windows}/w32-gcc.mk | 62 +- .../builds/windows}/w32-icc.mk | 56 +- .../builds/windows}/w32-intl.mk | 56 +- .../builds/windows}/w32-lcc.mk | 48 +- .../builds/windows}/w32-mingw32.mk | 66 +- .../builds/windows}/w32-vcc.mk | 56 +- .../builds/windows}/w32-wat.mk | 56 +- .../builds/windows}/win32-def.mk | 94 +- .../configure | 270 +- .../devel/ft2build.h | 81 +- .../devel/ftoption.h | 1737 +- .../docs/CHANGES | 8321 ++-- libs/freetype-2.6.2/docs/CMAKE | 2 + .../docs/CUSTOMIZE | 307 +- libs/freetype-2.6.2/docs/DEBUG | 204 + .../docs/FTL.TXT | 338 +- .../docs/GPLv2.TXT | 680 +- .../docs/INSTALL | 171 +- .../docs/INSTALL.ANY | 312 +- libs/freetype-2.6.2/docs/INSTALL.CROSS | 177 + .../docs/INSTALL.GNU | 320 +- .../docs/INSTALL.MAC | 64 +- .../docs/INSTALL.UNIX | 211 +- .../docs/INSTALL.VMS | 124 +- .../docs/LICENSE.TXT | 74 +- .../docs/MAKEPP | 10 +- .../docs/PROBLEMS | 180 +- .../docs/TODO | 80 +- .../docs/VERSION.DLL | 241 +- .../docs/formats.txt | 352 +- libs/freetype-2.6.2/docs/freetype-config.1 | 108 + .../docs/raster.txt | 1270 +- .../docs/reference/README | 10 +- .../docs/reference/ft2-auto_hinter.html | 417 + .../docs/reference/ft2-base_interface.html | 3027 ++ .../docs/reference/ft2-basic_types.html | 866 + .../docs/reference/ft2-bdf_fonts.html | 280 + .../docs/reference/ft2-bitmap_handling.html | 323 + .../docs/reference/ft2-bzip2.html | 149 + .../docs/reference/ft2-cache_subsystem.html | 2180 +- .../docs/reference/ft2-cff_driver.html | 226 + .../docs/reference/ft2-cid_fonts.html | 240 + .../docs/reference/ft2-computations.html | 700 + .../docs/reference/ft2-error_code_values.html | 339 + .../reference/ft2-error_enumerations.html | 144 + .../docs/reference/ft2-font_formats.html | 147 + .../docs/reference/ft2-gasp_table.html | 187 + .../docs/reference/ft2-glyph_management.html | 594 + .../docs/reference/ft2-glyph_stroker.html | 819 + .../docs/reference/ft2-glyph_variants.html | 292 + .../docs/reference/ft2-gx_validation.html | 362 + .../docs/reference/ft2-gzip.html | 199 + .../reference/ft2-header_file_macros.html | 718 + .../docs/reference/ft2-header_inclusion.html | 117 + .../docs/reference/ft2-incremental.html | 788 +- .../docs/reference/ft2-index.html | 383 + .../docs/reference/ft2-lcd_filtering.html | 250 + .../docs/reference/ft2-list_processing.html | 446 + .../docs/reference/ft2-lzw.html | 149 + .../docs/reference/ft2-mac_specific.html | 374 + .../docs/reference/ft2-module_management.html | 779 + .../docs/reference/ft2-multiple_masters.html | 482 + .../docs/reference/ft2-ot_validation.html | 247 + .../reference/ft2-outline_processing.html | 964 + .../docs/reference/ft2-pfr_fonts.html | 242 + .../docs/reference/ft2-quick_advance.html | 224 + .../docs/reference/ft2-raster.html | 532 + .../docs/reference/ft2-sfnt_names.html | 256 + .../docs/reference/ft2-sizes_management.html | 202 + .../docs/reference/ft2-system_interface.html | 405 + .../docs/reference/ft2-toc.html | 281 + .../docs/reference/ft2-truetype_engine.html | 176 + .../docs/reference/ft2-truetype_tables.html | 1173 + .../docs/reference/ft2-tt_driver.html | 227 + .../docs/reference/ft2-type1_tables.html | 858 + .../docs/reference/ft2-user_allocation.html | 110 + .../docs/reference/ft2-version.html | 252 + .../docs/reference/ft2-winfnt_fonts.html | 310 + .../docs/release | 418 +- .../include/freetype/config/ftconfig.h | 1065 +- .../include/freetype/config/ftheader.h | 1666 +- .../include/freetype/config/ftmodule.h | 64 +- .../include/freetype/config/ftoption.h | 1737 +- .../include/freetype/config/ftstdlib.h | 348 +- .../include/freetype/freetype.h | 8296 ++-- .../include/freetype/ftadvanc.h | 369 +- .../include/freetype/ftautoh.h | 860 +- .../include/freetype/ftbbox.h | 203 +- .../include/freetype/ftbdf.h | 419 +- .../include/freetype/ftbitmap.h | 467 +- .../include/freetype/ftbzip2.h | 204 +- .../include/freetype/ftcache.h | 2114 +- .../include/freetype/ftcffdrv.h | 262 + .../include/freetype/ftchapters.h | 255 +- .../include/freetype/ftcid.h | 334 +- .../include/freetype/fterrdef.h | 525 +- .../include/freetype/fterrors.h | 414 +- .../include/freetype/ftfntfmt.h} | 175 +- .../include/freetype/ftgasp.h | 257 +- .../include/freetype/ftglyph.h | 1225 +- .../include/freetype/ftgxval.h | 715 +- .../include/freetype/ftgzip.h | 250 +- .../include/freetype/ftimage.h | 2536 +- .../include/freetype/ftincrem.h | 707 +- .../include/freetype/ftlcdfil.h | 544 +- .../include/freetype/ftlist.h | 553 +- .../include/freetype/ftlzw.h | 198 +- .../include/freetype/ftmac.h | 548 +- .../include/freetype/ftmm.h | 762 +- .../include/freetype/ftmodapi.h | 1313 +- .../include/freetype/ftmoderr.h | 388 +- .../include/freetype/ftotval.h | 407 +- .../include/freetype/ftoutln.h | 1134 +- .../include/freetype/ftpfr.h | 344 +- .../include/freetype/ftrender.h | 470 +- .../include/freetype/ftsizes.h | 318 +- .../include/freetype/ftsnames.h | 400 +- .../include/freetype/ftstroke.h | 1536 +- .../include/freetype/ftsynth.h | 165 +- .../include/freetype/ftsystem.h | 702 +- .../include/freetype/fttrigon.h | 700 +- .../freetype-2.6.2/include/freetype/ftttdrv.h | 310 + .../include/freetype/fttypes.h | 1200 +- .../include/freetype/ftwinfnt.h | 549 +- .../include/freetype/internal/autohint.h | 488 +- .../include/freetype/internal/ftcalc.h | 585 +- .../include/freetype/internal/ftdebug.h | 510 +- .../include/freetype/internal/ftdriver.h | 818 +- .../include/freetype/internal/ftgloadr.h | 340 +- .../include/freetype/internal/ftmemory.h | 764 +- .../include/freetype/internal/ftobjs.h | 3143 +- .../include/freetype/internal/ftpic.h | 142 +- .../include/freetype/internal/ftrfork.h | 524 +- .../include/freetype/internal/ftserv.h | 1526 +- .../include/freetype/internal/ftstream.h | 1072 +- .../include/freetype/internal/fttrace.h | 306 +- .../include/freetype/internal/ftvalid.h | 320 +- .../include/freetype/internal/internal.h | 126 +- .../include/freetype/internal/psaux.h | 1754 +- .../include/freetype/internal/pshints.h | 1444 +- .../freetype/internal/services/svbdf.h | 164 +- .../freetype/internal/services/svcid.h | 179 +- .../freetype/internal/services/svfntfmt.h} | 110 +- .../freetype/internal/services/svgldict.h | 176 +- .../freetype/internal/services/svgxval.h | 144 +- .../freetype/internal/services/svkern.h | 102 +- .../include/freetype/internal/services/svmm.h | 226 +- .../freetype/internal/services/svotval.h | 110 +- .../freetype/internal/services/svpfr.h | 132 +- .../freetype/internal/services/svpostnm.h | 162 +- .../freetype/internal/services/svprop.h | 162 +- .../freetype/internal/services/svpscmap.h | 354 +- .../freetype/internal/services/svpsinfo.h | 222 +- .../freetype/internal/services/svsfnt.h | 206 +- .../freetype/internal/services/svttcmap.h | 213 +- .../freetype/internal/services/svtteng.h | 106 +- .../freetype/internal/services/svttglyf.h | 137 +- .../freetype/internal/services/svwinfnt.h | 100 +- .../include/freetype/internal/sfnt.h | 1455 +- .../include/freetype/internal/t1types.h | 510 +- .../include/freetype/internal/tttypes.h | 2969 +- .../include/freetype/t1tables.h | 1423 +- .../include/freetype/ttnameid.h | 2474 +- .../include/freetype/tttables.h | 1606 +- .../include/freetype/tttags.h | 220 +- .../include/freetype/ttunpat.h | 119 +- .../include/ft2build.h | 81 +- .../modules.cfg | 510 +- .../objs/README | 4 +- .../src/Jamfile | 44 +- .../src/autofit/Jamfile | 92 +- .../src/autofit/afangles.c | 630 +- .../src/autofit/afangles.h | 14 +- libs/freetype-2.6.2/src/autofit/afblue.c | 263 + libs/freetype-2.6.2/src/autofit/afblue.cin | 39 + libs/freetype-2.6.2/src/autofit/afblue.dat | 447 + libs/freetype-2.6.2/src/autofit/afblue.h | 233 + libs/freetype-2.6.2/src/autofit/afblue.hin | 142 + .../src/autofit/afcjk.c | 4604 +-- .../src/autofit/afcjk.h | 283 +- libs/freetype-2.6.2/src/autofit/afcover.h | 105 + .../src/autofit/afdummy.c | 137 +- .../src/autofit/afdummy.h | 82 +- .../src/autofit/aferrors.h | 82 +- libs/freetype-2.6.2/src/autofit/afglobal.c | 510 + libs/freetype-2.6.2/src/autofit/afglobal.h | 172 + .../src/autofit/afhints.c | 2930 +- .../src/autofit/afhints.h | 945 +- .../src/autofit/afindic.c | 314 +- .../src/autofit/afindic.h | 81 +- .../src/autofit/aflatin.c | 5507 +-- .../src/autofit/aflatin.h | 392 +- .../src/autofit/aflatin2.c | 4824 +-- .../src/autofit/aflatin2.h | 80 +- libs/freetype-2.6.2/src/autofit/afloader.c | 676 + .../src/autofit/afloader.h | 176 +- libs/freetype-2.6.2/src/autofit/afmodule.c | 486 + .../src/autofit/afmodule.h | 116 +- .../src/autofit/afpic.c | 289 +- .../src/autofit/afpic.h | 201 +- libs/freetype-2.6.2/src/autofit/afranges.c | 585 + libs/freetype-2.6.2/src/autofit/afranges.h | 47 + libs/freetype-2.6.2/src/autofit/afscript.h | 169 + libs/freetype-2.6.2/src/autofit/afstyles.h | 203 + libs/freetype-2.6.2/src/autofit/aftypes.h | 650 + .../src/autofit/afwarp.c | 748 +- .../src/autofit/afwarp.h | 128 +- libs/freetype-2.6.2/src/autofit/afwrtsys.h | 52 + .../src/autofit/autofit.c | 87 +- libs/freetype-2.6.2/src/autofit/hbshim.c | 546 + libs/freetype-2.6.2/src/autofit/hbshim.h | 56 + .../src/autofit/module.mk | 46 +- .../src/autofit/rules.mk | 168 +- libs/freetype-2.6.2/src/base/Jamfile | 87 + .../src/base/basepic.c | 216 +- .../src/base/basepic.h | 181 +- .../src/base/ftadvanc.c | 330 +- .../src/base/ftapi.c | 242 +- .../src/base/ftbase.c | 82 +- .../src/base/ftbase.h | 143 +- .../src/base/ftbbox.c | 1158 +- .../src/base/ftbdf.c | 179 +- .../src/base/ftbitmap.c | 1567 +- libs/freetype-2.6.2/src/base/ftcalc.c | 1003 + .../src/base/ftcid.c | 235 +- .../src/base/ftdbgmem.c | 1990 +- .../src/base/ftdebug.c | 532 +- .../src/base/ftfntfmt.c} | 95 +- .../src/base/ftfstype.c | 124 +- .../src/base/ftgasp.c | 122 +- .../src/base/ftgloadr.c | 811 +- .../src/base/ftglyph.c | 1258 +- .../src/base/ftgxval.c | 284 +- .../src/base/ftinit.c | 568 +- .../src/base/ftlcdfil.c | 775 +- .../src/base/ftmac.c | 2141 +- .../src/base/ftmm.c | 438 +- .../src/base/ftobjs.c | 9826 ++--- .../src/base/ftotval.c | 182 +- .../src/base/ftoutln.c | 2186 +- .../src/base/ftpatent.c | 573 +- .../src/base/ftpfr.c | 299 +- .../src/base/ftpic.c | 110 +- .../src/base/ftrfork.c | 1729 +- .../src/base/ftsnames.c | 188 +- .../src/base/ftstream.c | 1725 +- .../src/base/ftstroke.c | 4886 +-- .../src/base/ftsynth.c | 316 +- .../src/base/ftsystem.c | 640 +- .../src/base/fttrigon.c | 1017 +- .../src/base/fttype1.c | 247 +- .../src/base/ftutil.c | 877 +- .../src/base/ftwinfnt.c | 104 +- .../src/base/md5.c | 591 +- .../src/base/md5.h | 90 +- .../src/base/rules.mk | 204 +- .../src/bdf/Jamfile | 60 +- .../src/bdf/README | 296 +- .../src/bdf/bdf.c | 68 +- .../src/bdf/bdf.h | 594 +- .../src/bdf/bdfdrivr.c | 1776 +- .../src/bdf/bdfdrivr.h | 160 +- .../src/bdf/bdferror.h | 90 +- .../src/bdf/bdflib.c | 5334 +-- .../src/bdf/module.mk | 68 +- .../src/bdf/rules.mk | 165 +- .../src/bzip2/Jamfile | 37 +- .../src/bzip2/ftbzip2.c | 1036 +- .../src/bzip2/rules.mk | 127 +- .../src/cache/Jamfile | 80 +- .../src/cache/ftcache.c | 62 +- .../src/cache/ftcbasic.c | 1199 +- .../src/cache/ftccache.c | 1242 +- .../src/cache/ftccache.h | 704 +- .../src/cache/ftccback.h | 182 +- .../src/cache/ftccmap.c | 667 +- .../src/cache/ftcerror.h | 82 +- .../src/cache/ftcglyph.c | 438 +- .../src/cache/ftcglyph.h | 658 +- .../src/cache/ftcimage.c | 327 +- .../src/cache/ftcimage.h | 214 +- .../src/cache/ftcmanag.c | 1396 +- .../src/cache/ftcmanag.h | 350 +- .../src/cache/ftcmru.c | 714 +- .../src/cache/ftcmru.h | 492 +- .../src/cache/ftcsbits.c | 842 +- .../src/cache/ftcsbits.h | 206 +- .../src/cache/rules.mk | 165 +- .../src/cff/Jamfile | 74 +- .../src/cff/cf2arrst.c | 482 +- .../src/cff/cf2arrst.h | 200 +- .../src/cff/cf2blues.c | 1157 +- .../src/cff/cf2blues.h | 370 +- .../src/cff/cf2error.c | 104 +- .../src/cff/cf2error.h | 238 +- .../src/cff/cf2fixed.h | 190 +- .../src/cff/cf2font.c | 915 +- .../src/cff/cf2font.h | 235 +- .../src/cff/cf2ft.c | 1345 +- .../src/cff/cf2ft.h | 294 +- .../src/cff/cf2glue.h | 288 +- .../src/cff/cf2hints.c | 3582 +- .../src/cff/cf2hints.h | 576 +- .../src/cff/cf2intrp.c | 3109 +- .../src/cff/cf2intrp.h | 166 +- .../src/cff/cf2read.c | 224 +- .../src/cff/cf2read.h | 136 +- .../src/cff/cf2stack.c | 410 +- .../src/cff/cf2stack.h | 212 +- .../src/cff/cf2types.h | 156 +- .../src/cff/cff.c | 82 +- .../src/cff/cffcmap.c | 426 +- .../src/cff/cffcmap.h | 134 +- .../src/cff/cffdrivr.c | 1697 +- .../src/cff/cffdrivr.h | 76 +- .../src/cff/cfferrs.h | 84 +- .../src/cff/cffgload.c | 6154 +-- .../src/cff/cffgload.h | 485 +- .../src/cff/cffload.c | 3399 +- .../src/cff/cffload.h | 166 +- .../src/cff/cffobjs.c | 2154 +- .../src/cff/cffobjs.h | 368 +- .../src/cff/cffparse.c | 2370 +- .../src/cff/cffparse.h | 212 +- .../src/cff/cffpic.c | 276 +- .../src/cff/cffpic.h | 216 +- .../src/cff/cfftoken.h | 194 +- .../src/cff/cfftypes.h | 568 +- .../src/cff/module.mk | 46 +- .../src/cff/rules.mk | 175 +- .../src/cid/Jamfile | 63 +- .../src/cid/ciderrs.h | 82 +- .../src/cid/cidgload.c | 899 +- .../src/cid/cidgload.h | 102 +- .../src/cid/cidload.c | 1530 +- .../src/cid/cidload.h | 106 +- .../src/cid/cidobjs.c | 983 +- .../src/cid/cidobjs.h | 308 +- .../src/cid/cidparse.c | 459 +- .../src/cid/cidparse.h | 246 +- .../src/cid/cidriver.c | 474 +- .../src/cid/cidriver.h | 86 +- .../src/cid/cidtoken.h | 224 +- .../src/cid/module.mk | 46 +- .../src/cid/rules.mk | 143 +- .../src/cid/type1cid.c | 58 +- .../src/gxvalid/Jamfile | 85 +- .../src/gxvalid/README | 1064 +- .../src/gxvalid/gxvalid.c | 93 +- .../src/gxvalid/gxvalid.h | 215 +- .../src/gxvalid/gxvbsln.c | 667 +- .../src/gxvalid/gxvcommn.c | 3495 +- .../src/gxvalid/gxvcommn.h | 1164 +- .../src/gxvalid/gxverror.h | 102 +- .../src/gxvalid/gxvfeat.c | 678 +- .../src/gxvalid/gxvfeat.h | 345 +- .../src/gxvalid/gxvfgen.c | 965 +- .../src/gxvalid/gxvjust.c | 1436 +- .../src/gxvalid/gxvkern.c | 1840 +- .../src/gxvalid/gxvlcar.c | 447 +- .../src/gxvalid/gxvmod.c | 570 +- .../src/gxvalid/gxvmod.h | 101 +- .../src/gxvalid/gxvmort.c | 597 +- .../src/gxvalid/gxvmort.h | 187 +- .../src/gxvalid/gxvmort0.c | 303 +- .../src/gxvalid/gxvmort1.c | 519 +- .../src/gxvalid/gxvmort2.c | 623 +- .../src/gxvalid/gxvmort4.c | 251 +- .../src/gxvalid/gxvmort5.c | 467 +- .../src/gxvalid/gxvmorx.c | 398 +- .../src/gxvalid/gxvmorx.h | 135 +- .../src/gxvalid/gxvmorx0.c | 223 +- .../src/gxvalid/gxvmorx1.c | 555 +- .../src/gxvalid/gxvmorx2.c | 658 +- .../src/gxvalid/gxvmorx4.c | 111 +- .../src/gxvalid/gxvmorx5.c | 451 +- .../src/gxvalid/gxvopbd.c | 435 +- .../src/gxvalid/gxvprop.c | 659 +- .../src/gxvalid/gxvtrak.c | 574 +- .../src/gxvalid/module.mk | 46 +- .../src/gxvalid/rules.mk | 192 +- .../src/gzip/Jamfile | 32 +- .../src/gzip/adler32.c | 96 +- .../src/gzip/ftgzip.c | 1506 +- .../src/gzip/infblock.c | 774 +- .../src/gzip/infblock.h | 72 +- .../src/gzip/infcodes.c | 500 +- .../src/gzip/infcodes.h | 62 +- .../src/gzip/inffixed.h | 302 +- .../src/gzip/inflate.c | 546 +- .../src/gzip/inftrees.c | 936 +- .../src/gzip/inftrees.h | 126 +- .../src/gzip/infutil.c | 172 +- .../src/gzip/infutil.h | 196 +- libs/freetype-2.6.2/src/gzip/rules.mk | 83 + .../src/gzip/zconf.h | 568 +- .../src/gzip/zlib.h | 1660 +- .../src/gzip/zutil.c | 362 +- .../src/gzip/zutil.h | 430 +- .../src/lzw/Jamfile | 32 +- .../src/lzw/ftlzw.c | 833 +- .../src/lzw/ftzopen.c | 831 +- .../src/lzw/ftzopen.h | 343 +- .../src/lzw/rules.mk | 142 +- .../src/otvalid/Jamfile | 66 +- .../src/otvalid/module.mk | 46 +- .../src/otvalid/otvalid.c | 62 +- .../src/otvalid/otvalid.h | 156 +- .../src/otvalid/otvbase.c | 636 +- .../src/otvalid/otvcommn.c | 2172 +- .../src/otvalid/otvcommn.h | 874 +- .../src/otvalid/otverror.h | 84 +- .../src/otvalid/otvgdef.c | 448 +- .../src/otvalid/otvgpos.c | 2038 +- .../src/otvalid/otvgpos.h | 72 +- .../src/otvalid/otvgsub.c | 1172 +- .../src/otvalid/otvjstf.c | 517 +- .../src/otvalid/otvmath.c | 906 +- .../src/otvalid/otvmod.c | 564 +- .../src/otvalid/otvmod.h | 86 +- .../src/otvalid/rules.mk | 159 +- .../src/pcf/Jamfile | 61 +- .../src/pcf/README | 192 +- .../src/pcf/module.mk | 68 +- .../src/pcf/pcf.c | 72 +- .../src/pcf/pcf.h | 475 +- .../src/pcf/pcfdrivr.c | 1445 +- .../src/pcf/pcfdrivr.h | 96 +- .../src/pcf/pcferror.h | 82 +- .../src/pcf/pcfread.c | 2674 +- .../src/pcf/pcfread.h | 90 +- .../src/pcf/pcfutil.c | 208 +- .../src/pcf/pcfutil.h | 110 +- .../src/pcf/rules.mk | 161 +- .../src/pfr/Jamfile | 64 +- .../src/pfr/module.mk | 46 +- .../src/pfr/pfr.c | 58 +- .../src/pfr/pfrcmap.c | 341 +- .../src/pfr/pfrcmap.h | 92 +- .../src/pfr/pfrdrivr.c | 423 +- .../src/pfr/pfrdrivr.h | 86 +- .../src/pfr/pfrerror.h | 82 +- .../src/pfr/pfrgload.c | 1691 +- .../src/pfr/pfrgload.h | 98 +- .../src/pfr/pfrload.c | 1981 +- .../src/pfr/pfrload.h | 241 +- .../src/pfr/pfrobjs.c | 1195 +- .../src/pfr/pfrobjs.h | 192 +- .../src/pfr/pfrsbit.c | 1446 +- .../src/pfr/pfrsbit.h | 72 +- .../src/pfr/pfrtypes.h | 724 +- .../src/pfr/rules.mk | 149 +- .../src/psaux/Jamfile | 66 +- .../src/psaux/afmparse.c | 1941 +- .../src/psaux/afmparse.h | 177 +- .../src/psaux/module.mk | 46 +- .../src/psaux/psaux.c | 68 +- .../src/psaux/psauxerr.h | 84 +- .../src/psaux/psauxmod.c | 278 +- .../src/psaux/psauxmod.h | 84 +- .../src/psaux/psconv.c | 1205 +- .../src/psaux/psconv.h | 142 +- .../src/psaux/psobjs.c | 3539 +- .../src/psaux/psobjs.h | 424 +- .../src/psaux/rules.mk | 149 +- .../src/psaux/t1cmap.c | 696 +- .../src/psaux/t1cmap.h | 210 +- .../src/psaux/t1decode.c | 3244 +- .../src/psaux/t1decode.h | 128 +- .../src/pshinter/Jamfile | 63 +- .../src/pshinter/module.mk | 46 +- .../src/pshinter/pshalgo.c | 4500 ++- .../src/pshinter/pshalgo.h | 487 +- .../src/pshinter/pshglob.c | 1592 +- .../src/pshinter/pshglob.h | 392 +- .../src/pshinter/pshinter.c | 58 +- .../src/pshinter/pshmod.c | 238 +- .../src/pshinter/pshmod.h | 78 +- .../src/pshinter/pshnterr.h | 82 +- .../src/pshinter/pshpic.c | 152 +- .../src/pshinter/pshpic.h | 126 +- .../src/pshinter/pshrec.c | 2445 +- .../src/pshinter/pshrec.h | 348 +- .../src/pshinter/rules.mk | 149 +- .../src/psnames/Jamfile | 60 +- .../src/psnames/module.mk | 46 +- .../src/psnames/psmodule.c | 1218 +- .../src/psnames/psmodule.h | 76 +- .../src/psnames/psnamerr.h | 84 +- .../src/psnames/psnames.c | 52 +- .../src/psnames/pspic.c | 194 +- .../src/psnames/pspic.h | 134 +- .../src/psnames/pstables.h | 8340 ++-- .../src/psnames/rules.mk | 145 +- .../src/raster/Jamfile | 61 +- .../src/raster/ftmisc.h | 284 +- .../src/raster/ftraster.c | 6840 ++-- .../src/raster/ftraster.h | 92 +- .../src/raster/ftrend1.c | 560 +- .../src/raster/ftrend1.h | 82 +- .../src/raster/module.mk | 46 +- .../src/raster/raster.c | 54 +- .../src/raster/rasterrs.h | 84 +- .../src/raster/rastpic.c | 192 +- .../src/raster/rastpic.h | 132 +- .../src/raster/rules.mk | 143 +- .../src/sfnt/Jamfile | 69 +- .../src/sfnt/module.mk | 46 +- .../src/sfnt/pngshim.c | 714 +- .../src/sfnt/pngshim.h | 98 +- .../src/sfnt/rules.mk | 159 +- .../src/sfnt/sfdriver.c | 1060 +- .../src/sfnt/sfdriver.h | 76 +- .../src/sfnt/sferrors.h | 80 +- .../src/sfnt/sfnt.c | 86 +- .../src/sfnt/sfntpic.c | 286 +- .../src/sfnt/sfntpic.h | 226 +- .../src/sfnt/sfobjs.c | 2818 +- .../src/sfnt/sfobjs.h | 113 +- .../src/sfnt/ttbdf.c | 500 +- .../src/sfnt/ttbdf.h | 92 +- .../src/sfnt/ttcmap.c | 7294 ++-- .../src/sfnt/ttcmap.h | 316 +- .../src/sfnt/ttcmapc.h | 112 +- .../src/sfnt/ttkern.c | 612 +- .../src/sfnt/ttkern.h | 104 +- .../src/sfnt/ttload.c | 2632 +- .../src/sfnt/ttload.h | 224 +- .../src/sfnt/ttmtx.c | 559 +- .../src/sfnt/ttmtx.h | 110 +- .../src/sfnt/ttpost.c | 1126 +- .../src/sfnt/ttpost.h | 92 +- .../src/sfnt/ttsbit.c | 2744 +- .../src/sfnt/ttsbit.h | 126 +- .../src/smooth/Jamfile | 61 +- .../src/smooth/ftgrays.c | 4397 +-- .../src/smooth/ftgrays.h | 116 +- .../src/smooth/ftsmerrs.h | 84 +- .../src/smooth/ftsmooth.c | 1045 +- .../src/smooth/ftsmooth.h | 98 +- .../src/smooth/ftspic.c | 236 +- .../src/smooth/ftspic.h | 149 +- .../src/smooth/module.mk | 54 +- .../src/smooth/rules.mk | 144 +- .../src/smooth/smooth.c | 54 +- .../src/tools/Jamfile | 10 +- libs/freetype-2.6.2/src/tools/afblue.pl | 548 + .../src/tools/apinames.c | 932 +- .../src/tools/chktrcmp.py | 228 +- .../src/tools/cordic.py | 66 +- .../src/tools/docmaker/content.py | 1239 +- .../src/tools/docmaker/docbeauty.py | 226 +- .../src/tools/docmaker/docmaker.py | 221 +- .../src/tools/docmaker/formatter.py | 416 +- .../src/tools/docmaker/sources.py | 410 + .../src/tools/docmaker/tohtml.py | 725 + .../src/tools/docmaker/utils.py | 259 +- libs/freetype-2.6.2/src/tools/ftfuzzer/README | 77 + .../src/tools/ftfuzzer/ftfuzzer.cc | 310 + .../src/tools/ftfuzzer/ftmutator.cc | 314 + .../src/tools/ftfuzzer/runinput.cc | 58 + .../src/tools/ftrandom/Makefile | 70 +- .../src/tools/ftrandom/README | 96 +- .../src/tools/ftrandom/ftrandom.c | 1346 +- .../src/tools/glnames.py | 10974 +++--- libs/freetype-2.6.2/src/tools/no-copyright | 61 + .../src/tools/test_afm.c | 314 +- .../src/tools/test_bbox.c | 376 +- .../src/tools/test_trig.c | 516 +- .../freetype-2.6.2/src/tools/update-copyright | 14 + .../src/tools/update-copyright-year | 135 + .../src/truetype/Jamfile | 66 +- .../src/truetype/module.mk | 46 +- .../src/truetype/rules.mk | 151 +- .../src/truetype/truetype.c | 76 +- .../src/truetype/ttdriver.c | 1140 +- .../src/truetype/ttdriver.h | 76 +- .../src/truetype/tterrors.h | 82 +- .../src/truetype/ttgload.c | 4941 +-- .../src/truetype/ttgload.h | 123 +- .../src/truetype/ttgxvar.c | 3688 +- .../src/truetype/ttgxvar.h | 366 +- .../src/truetype/ttinterp.c | 17214 ++++----- .../src/truetype/ttinterp.h | 785 +- .../src/truetype/ttobjs.c | 2698 +- .../src/truetype/ttobjs.h | 867 +- .../src/truetype/ttpic.c | 202 +- .../src/truetype/ttpic.h | 164 +- .../src/truetype/ttpload.c | 1214 +- .../src/truetype/ttpload.h | 150 +- .../src/truetype/ttsubpix.c | 2022 +- .../src/truetype/ttsubpix.h | 220 +- .../src/type1/Jamfile | 64 +- .../src/type1/module.mk | 46 +- .../src/type1/rules.mk | 149 +- .../src/type1/t1afm.c | 800 +- .../src/type1/t1afm.h | 108 +- .../src/type1/t1driver.c | 1452 +- .../src/type1/t1driver.h | 84 +- .../src/type1/t1errors.h | 82 +- .../src/type1/t1gload.c | 1038 +- .../src/type1/t1gload.h | 106 +- .../src/type1/t1load.c | 4605 +-- .../src/type1/t1load.h | 204 +- .../src/type1/t1objs.c | 1229 +- .../src/type1/t1objs.h | 320 +- .../src/type1/t1parse.c | 1022 +- .../src/type1/t1parse.h | 264 +- .../src/type1/t1tokens.h | 286 +- .../src/type1/type1.c | 66 +- .../src/type42/Jamfile | 61 +- .../src/type42/module.mk | 46 +- .../src/type42/rules.mk | 143 +- .../src/type42/t42drivr.c | 489 +- .../src/type42/t42drivr.h | 85 +- .../src/type42/t42error.h | 82 +- .../src/type42/t42objs.c | 1378 +- .../src/type42/t42objs.h | 248 +- .../src/type42/t42parse.c | 2475 +- .../src/type42/t42parse.h | 181 +- .../src/type42/t42types.h | 113 +- .../src/type42/type42.c | 50 +- .../src/winfonts/Jamfile | 32 +- .../src/winfonts/fnterrs.h | 84 +- .../src/winfonts/module.mk | 46 +- .../src/winfonts/rules.mk | 133 +- .../src/winfonts/winfnt.c | 2348 +- .../src/winfonts/winfnt.h | 342 +- .../version.sed | 10 +- .../vms_make.com | 2572 +- 839 files changed, 372004 insertions(+), 346785 deletions(-) delete mode 100644 libs/freetype-2.5.0.1/CMakeLists.txt delete mode 100644 libs/freetype-2.5.0.1/builds/symbian/bld.inf delete mode 100644 libs/freetype-2.5.0.1/builds/unix/freetype2.in delete mode 100644 libs/freetype-2.5.0.1/builds/unix/ft2unix.h delete mode 100644 libs/freetype-2.5.0.1/builds/unix/mkinstalldirs delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.sln delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.vcproj delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.sln delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.vcproj delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.sln delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj.filters delete mode 100644 libs/freetype-2.5.0.1/builds/win32/vc2010/index.html delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsp delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsw delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualc/freetype.sln delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualc/freetype.vcproj delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsp delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsw delete mode 100644 libs/freetype-2.5.0.1/builds/win32/visualce/freetype.vcproj delete mode 100644 libs/freetype-2.5.0.1/builds/wince/vc2008-ce/freetype.vcproj delete mode 100644 libs/freetype-2.5.0.1/docs/DEBUG delete mode 100644 libs/freetype-2.5.0.1/docs/INSTALL.CROSS delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-auto_hinter.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-base_interface.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-basic_types.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-bdf_fonts.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-bitmap_handling.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-bzip2.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-cff_driver.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-cid_fonts.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-computations.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-font_formats.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-gasp_table.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-glyph_management.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-glyph_stroker.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-glyph_variants.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-gx_validation.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-gzip.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-header_file_macros.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-index.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-lcd_filtering.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-list_processing.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-lzw.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-mac_specific.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-module_management.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-multiple_masters.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-ot_validation.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-outline_processing.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-pfr_fonts.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-quick_advance.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-raster.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-sfnt_names.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-sizes_management.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-system_interface.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-toc.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-truetype_engine.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-truetype_tables.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-tt_driver.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-type1_tables.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-user_allocation.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-version.html delete mode 100644 libs/freetype-2.5.0.1/docs/reference/ft2-winfnt_fonts.html delete mode 100644 libs/freetype-2.5.0.1/include/freetype/ftcffdrv.h delete mode 100644 libs/freetype-2.5.0.1/include/freetype/ftttdrv.h delete mode 100644 libs/freetype-2.5.0.1/src/autofit/afglobal.c delete mode 100644 libs/freetype-2.5.0.1/src/autofit/afglobal.h delete mode 100644 libs/freetype-2.5.0.1/src/autofit/afloader.c delete mode 100644 libs/freetype-2.5.0.1/src/autofit/afmodule.c delete mode 100644 libs/freetype-2.5.0.1/src/autofit/aftypes.h delete mode 100644 libs/freetype-2.5.0.1/src/base/Jamfile delete mode 100644 libs/freetype-2.5.0.1/src/base/ftcalc.c delete mode 100644 libs/freetype-2.5.0.1/src/gzip/rules.mk delete mode 100644 libs/freetype-2.5.0.1/src/tools/docmaker/sources.py delete mode 100644 libs/freetype-2.5.0.1/src/tools/docmaker/tohtml.py create mode 100644 libs/freetype-2.6.2/CMakeLists.txt create mode 100644 libs/freetype-2.6.2/ChangeLog rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/ChangeLog.20 (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/ChangeLog.21 (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/ChangeLog.22 (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/ChangeLog.23 (97%) rename libs/{freetype-2.5.0.1/ChangeLog => freetype-2.6.2/ChangeLog.24} (89%) create mode 100644 libs/freetype-2.6.2/ChangeLog.25 rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/Jamfile (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/Jamrules (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/Makefile (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/README (77%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/README.git (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/autogen.sh (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/amiga/README (91%) rename libs/{freetype-2.5.0.1/builds/amiga/include/freetype => freetype-2.6.2/builds/amiga/include}/config/ftconfig.h (94%) rename libs/{freetype-2.5.0.1/builds/amiga/include/freetype => freetype-2.6.2/builds/amiga/include}/config/ftmodule.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/amiga/makefile (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/amiga/makefile.os4 (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/amiga/smakefile (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/amiga/src/base/ftdebug.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/amiga/src/base/ftsystem.c (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/ansi/ansi-def.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/ansi/ansi.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/atari/ATARI.H (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/atari/FNames.SIC (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/atari/FREETYPE.PRJ (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/atari/README.TXT (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/atari/deflinejoiner.awk (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/atari/gen-purec-patch.sh (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/beos/beos-def.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/beos/beos.mk (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/beos/detect.mk (90%) create mode 100644 libs/freetype-2.6.2/builds/cmake/FindHarfBuzz.cmake create mode 100644 libs/freetype-2.6.2/builds/cmake/iOS.cmake create mode 100644 libs/freetype-2.6.2/builds/cmake/testbuild.sh rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/ansi-cc.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/bcc-dev.mk (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/bcc.mk (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/emx.mk (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/gcc-dev.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/gcc.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/intelc.mk (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/unix-lcc.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/visualage.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/visualc.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/watcom.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/compiler/win-lcc.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/detect.mk (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/dos/detect.mk (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/dos/dos-def.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/dos/dos-emx.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/dos/dos-gcc.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/dos/dos-wat.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/exports.mk (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/freetype.mk (81%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/link_dos.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/link_std.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/FreeType.m68k_cfm.make.txt (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/FreeType.m68k_far.make.txt (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/FreeType.ppc_carbon.make.txt (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/FreeType.ppc_classic.make.txt (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/README (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/ascii2mpw.py (97%) create mode 100644 libs/freetype-2.6.2/builds/mac/freetype-Info.plist rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/ftlib.prj.xml (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/mac/ftmac.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/modules.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/newline (100%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/os2/detect.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/os2/os2-def.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/os2/os2-dev.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/os2/os2-gcc.mk (92%) create mode 100644 libs/freetype-2.6.2/builds/symbian/bld.inf rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/symbian/freetype.mmp (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/toplevel.mk (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/aclocal.m4 (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/config.guess (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/config.sub (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/configure (81%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/configure.ac (60%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/configure.raw (60%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/detect.mk (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/freetype-config.in (88%) create mode 100644 libs/freetype-2.6.2/builds/unix/freetype2.in rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/freetype2.m4 (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/ft-munmap.m4 (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/ftconfig.in (76%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/ftsystem.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/install-sh (58%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/install.mk (74%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/ltmain.sh (65%) create mode 100644 libs/freetype-2.6.2/builds/unix/pkg.m4 rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/unix-cc.in (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/unix-def.in (56%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/unix-dev.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/unix-lcc.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/unix.mk (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/unix/unixddef.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/vms/ftconfig.h (60%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/vms/ftsystem.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/wince/ftdebug.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/wince/vc2005-ce/freetype.sln (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/wince/vc2005-ce/freetype.vcproj (53%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/wince/vc2005-ce/index.html (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/wince/vc2008-ce/freetype.sln (73%) create mode 100644 libs/freetype-2.6.2/builds/wince/vc2008-ce/freetype.vcproj rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/builds/wince/vc2008-ce/index.html (72%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/detect.mk (92%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/ftdebug.c (95%) create mode 100644 libs/freetype-2.6.2/builds/windows/vc2005/freetype.sln create mode 100644 libs/freetype-2.6.2/builds/windows/vc2005/freetype.vcproj rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/vc2005/index.html (69%) create mode 100644 libs/freetype-2.6.2/builds/windows/vc2008/freetype.sln create mode 100644 libs/freetype-2.6.2/builds/windows/vc2008/freetype.vcproj rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/vc2008/index.html (69%) create mode 100644 libs/freetype-2.6.2/builds/windows/vc2010/freetype.sln create mode 100644 libs/freetype-2.6.2/builds/windows/vc2010/freetype.user.props create mode 100644 libs/freetype-2.6.2/builds/windows/vc2010/freetype.vcxproj create mode 100644 libs/freetype-2.6.2/builds/windows/vc2010/freetype.vcxproj.filters create mode 100644 libs/freetype-2.6.2/builds/windows/vc2010/index.html create mode 100644 libs/freetype-2.6.2/builds/windows/visualc/freetype.dsp create mode 100644 libs/freetype-2.6.2/builds/windows/visualc/freetype.dsw create mode 100644 libs/freetype-2.6.2/builds/windows/visualc/freetype.sln create mode 100644 libs/freetype-2.6.2/builds/windows/visualc/freetype.vcproj rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/visualc/index.html (70%) create mode 100644 libs/freetype-2.6.2/builds/windows/visualce/freetype.dsp create mode 100644 libs/freetype-2.6.2/builds/windows/visualce/freetype.dsw create mode 100644 libs/freetype-2.6.2/builds/windows/visualce/freetype.vcproj rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/visualce/index.html (73%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-bcc.mk (86%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-bccd.mk (83%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-dev.mk (86%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-gcc.mk (87%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-icc.mk (87%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-intl.mk (86%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-lcc.mk (85%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-mingw32.mk (87%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-vcc.mk (85%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/w32-wat.mk (86%) rename libs/{freetype-2.5.0.1/builds/win32 => freetype-2.6.2/builds/windows}/win32-def.mk (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/configure (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/devel/ft2build.h (58%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/devel/ftoption.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/CHANGES (88%) create mode 100644 libs/freetype-2.6.2/docs/CMAKE rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/CUSTOMIZE (86%) create mode 100644 libs/freetype-2.6.2/docs/DEBUG rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/FTL.TXT (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/GPLv2.TXT (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/INSTALL (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/INSTALL.ANY (70%) create mode 100644 libs/freetype-2.6.2/docs/INSTALL.CROSS rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/INSTALL.GNU (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/INSTALL.MAC (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/INSTALL.UNIX (81%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/INSTALL.VMS (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/LICENSE.TXT (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/MAKEPP (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/PROBLEMS (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/TODO (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/VERSION.DLL (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/formats.txt (95%) create mode 100644 libs/freetype-2.6.2/docs/freetype-config.1 rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/raster.txt (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/reference/README (97%) create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-auto_hinter.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-base_interface.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-basic_types.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-bdf_fonts.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-bitmap_handling.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-bzip2.html rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/reference/ft2-cache_subsystem.html (50%) create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-cff_driver.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-cid_fonts.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-computations.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-error_code_values.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-error_enumerations.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-font_formats.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-gasp_table.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-glyph_management.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-glyph_stroker.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-glyph_variants.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-gx_validation.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-gzip.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-header_file_macros.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-header_inclusion.html rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/reference/ft2-incremental.html (50%) create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-index.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-lcd_filtering.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-list_processing.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-lzw.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-mac_specific.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-module_management.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-multiple_masters.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-ot_validation.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-outline_processing.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-pfr_fonts.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-quick_advance.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-raster.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-sfnt_names.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-sizes_management.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-system_interface.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-toc.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-truetype_engine.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-truetype_tables.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-tt_driver.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-type1_tables.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-user_allocation.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-version.html create mode 100644 libs/freetype-2.6.2/docs/reference/ft2-winfnt_fonts.html rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/docs/release (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/config/ftconfig.h (77%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/config/ftheader.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/config/ftmodule.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/config/ftoption.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/config/ftstdlib.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/freetype.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftadvanc.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftautoh.h (66%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftbbox.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftbdf.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftbitmap.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftbzip2.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftcache.h (97%) create mode 100644 libs/freetype-2.6.2/include/freetype/ftcffdrv.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftchapters.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftcid.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/fterrdef.h (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/fterrors.h (61%) rename libs/{freetype-2.5.0.1/include/freetype/ftxf86.h => freetype-2.6.2/include/freetype/ftfntfmt.h} (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftgasp.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftglyph.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftgxval.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftgzip.h (74%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftimage.h (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftincrem.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftlcdfil.h (60%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftlist.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftlzw.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftmac.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftmm.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftmodapi.h (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftmoderr.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftotval.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftoutln.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftpfr.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftrender.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftsizes.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftsnames.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftstroke.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftsynth.h (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftsystem.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/fttrigon.h (93%) create mode 100644 libs/freetype-2.6.2/include/freetype/ftttdrv.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/fttypes.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ftwinfnt.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/autohint.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftcalc.h (53%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftdebug.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftdriver.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftgloadr.h (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftmemory.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftobjs.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftpic.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftrfork.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftserv.h (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftstream.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/fttrace.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/ftvalid.h (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/internal.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/psaux.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/pshints.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svbdf.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svcid.h (96%) rename libs/{freetype-2.5.0.1/include/freetype/internal/services/svxf86nm.h => freetype-2.6.2/include/freetype/internal/services/svfntfmt.h} (64%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svgldict.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svgxval.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svkern.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svmm.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svotval.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svpfr.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svpostnm.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svprop.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svpscmap.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svpsinfo.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svsfnt.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svttcmap.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svtteng.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svttglyf.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/services/svwinfnt.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/sfnt.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/t1types.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/internal/tttypes.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/t1tables.h (75%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ttnameid.h (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/tttables.h (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/tttags.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/freetype/ttunpat.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/include/ft2build.h (70%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/modules.cfg (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/objs/README (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/Jamfile (63%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/Jamfile (65%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afangles.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afangles.h (95%) create mode 100644 libs/freetype-2.6.2/src/autofit/afblue.c create mode 100644 libs/freetype-2.6.2/src/autofit/afblue.cin create mode 100644 libs/freetype-2.6.2/src/autofit/afblue.dat create mode 100644 libs/freetype-2.6.2/src/autofit/afblue.h create mode 100644 libs/freetype-2.6.2/src/autofit/afblue.hin rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afcjk.c (74%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afcjk.h (59%) create mode 100644 libs/freetype-2.6.2/src/autofit/afcover.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afdummy.c (57%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afdummy.h (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/aferrors.h (94%) create mode 100644 libs/freetype-2.6.2/src/autofit/afglobal.c create mode 100644 libs/freetype-2.6.2/src/autofit/afglobal.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afhints.c (60%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afhints.h (77%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afindic.c (65%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afindic.h (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/aflatin.c (69%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/aflatin.h (71%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/aflatin2.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/aflatin2.h (79%) create mode 100644 libs/freetype-2.6.2/src/autofit/afloader.c rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afloader.h (78%) create mode 100644 libs/freetype-2.6.2/src/autofit/afmodule.c rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afmodule.h (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afpic.c (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afpic.h (64%) create mode 100644 libs/freetype-2.6.2/src/autofit/afranges.c create mode 100644 libs/freetype-2.6.2/src/autofit/afranges.h create mode 100644 libs/freetype-2.6.2/src/autofit/afscript.h create mode 100644 libs/freetype-2.6.2/src/autofit/afstyles.h create mode 100644 libs/freetype-2.6.2/src/autofit/aftypes.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afwarp.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/afwarp.h (92%) create mode 100644 libs/freetype-2.6.2/src/autofit/afwrtsys.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/autofit.c (92%) create mode 100644 libs/freetype-2.6.2/src/autofit/hbshim.c create mode 100644 libs/freetype-2.6.2/src/autofit/hbshim.h rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/module.mk (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/autofit/rules.mk (75%) create mode 100644 libs/freetype-2.6.2/src/base/Jamfile rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/basepic.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/basepic.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftadvanc.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftapi.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftbase.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftbase.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftbbox.c (62%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftbdf.c (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftbitmap.c (71%) create mode 100644 libs/freetype-2.6.2/src/base/ftcalc.c rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftcid.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftdbgmem.c (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftdebug.c (94%) rename libs/{freetype-2.5.0.1/src/base/ftxf86.c => freetype-2.6.2/src/base/ftfntfmt.c} (67%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftfstype.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftgasp.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftgloadr.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftglyph.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftgxval.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftinit.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftlcdfil.c (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftmac.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftmm.c (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftobjs.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftotval.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftoutln.c (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftpatent.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftpfr.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftpic.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftrfork.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftsnames.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftstream.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftstroke.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftsynth.c (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftsystem.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/fttrigon.c (76%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/fttype1.c (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftutil.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/ftwinfnt.c (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/md5.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/md5.h (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/base/rules.mk (81%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/Jamfile (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/README (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/bdf.c (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/bdf.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/bdfdrivr.c (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/bdfdrivr.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/bdferror.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/bdflib.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/module.mk (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bdf/rules.mk (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bzip2/Jamfile (76%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bzip2/ftbzip2.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/bzip2/rules.mk (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/Jamfile (66%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcache.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcbasic.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftccache.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftccache.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftccback.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftccmap.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcerror.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcglyph.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcglyph.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcimage.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcimage.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcmanag.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcmanag.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcmru.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcmru.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcsbits.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/ftcsbits.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cache/rules.mk (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/Jamfile (58%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2arrst.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2arrst.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2blues.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2blues.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2error.c (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2error.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2fixed.h (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2font.c (69%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2font.h (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2ft.c (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2ft.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2glue.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2hints.c (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2hints.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2intrp.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2intrp.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2read.c (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2read.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2stack.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2stack.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cf2types.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cff.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffcmap.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffcmap.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffdrivr.c (74%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffdrivr.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cfferrs.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffgload.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffgload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffload.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffobjs.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffobjs.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffparse.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffparse.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffpic.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cffpic.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cfftoken.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/cfftypes.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cff/rules.mk (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/Jamfile (78%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/ciderrs.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidgload.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidgload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidload.c (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidload.h (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidobjs.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidobjs.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidparse.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidparse.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidriver.c (69%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidriver.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/cidtoken.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/rules.mk (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/cid/type1cid.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/Jamfile (51%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/README (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvalid.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvalid.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvbsln.c (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvcommn.c (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvcommn.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxverror.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvfeat.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvfeat.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvfgen.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvjust.c (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvkern.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvlcar.c (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmod.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmod.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort.h (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort0.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort1.c (80%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort2.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort4.c (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmort5.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx.h (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx0.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx1.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx2.c (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx4.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvmorx5.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvopbd.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvprop.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/gxvtrak.c (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/module.mk (78%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gxvalid/rules.mk (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/Jamfile (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/adler32.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/ftgzip.c (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/infblock.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/infblock.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/infcodes.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/infcodes.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/inffixed.h (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/inflate.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/inftrees.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/inftrees.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/infutil.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/infutil.h (97%) create mode 100644 libs/freetype-2.6.2/src/gzip/rules.mk rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/zconf.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/zlib.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/zutil.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/gzip/zutil.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/lzw/Jamfile (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/lzw/ftlzw.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/lzw/ftzopen.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/lzw/ftzopen.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/lzw/rules.mk (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/Jamfile (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvalid.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvalid.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvbase.c (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvcommn.c (81%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvcommn.h (74%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otverror.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvgdef.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvgpos.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvgpos.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvgsub.c (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvjstf.c (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvmath.c (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvmod.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/otvmod.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/otvalid/rules.mk (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/Jamfile (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/README (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/module.mk (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcf.c (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcf.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcfdrivr.c (78%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcfdrivr.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcferror.h (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcfread.c (81%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcfread.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcfutil.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/pcfutil.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pcf/rules.mk (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/Jamfile (75%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfr.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrcmap.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrcmap.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrdrivr.c (68%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrdrivr.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrerror.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrgload.c (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrgload.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrload.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrload.h (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrobjs.c (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrobjs.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrsbit.c (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrsbit.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/pfrtypes.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pfr/rules.mk (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/Jamfile (78%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/afmparse.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/afmparse.h (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psaux.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psauxerr.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psauxmod.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psauxmod.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psconv.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psconv.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psobjs.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/psobjs.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/rules.mk (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/t1cmap.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/t1cmap.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/t1decode.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psaux/t1decode.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/Jamfile (79%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshalgo.c (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshalgo.h (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshglob.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshglob.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshinter.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshmod.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshmod.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshnterr.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshpic.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshpic.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshrec.c (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/pshrec.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/pshinter/rules.mk (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/Jamfile (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/psmodule.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/psmodule.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/psnamerr.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/psnames.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/pspic.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/pspic.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/pstables.h (98%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/psnames/rules.mk (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/Jamfile (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/ftmisc.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/ftraster.c (80%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/ftraster.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/ftrend1.c (66%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/ftrend1.h (75%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/raster.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/rasterrs.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/rastpic.c (82%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/rastpic.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/raster/rules.mk (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/Jamfile (66%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/pngshim.c (76%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/pngshim.h (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/rules.mk (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfdriver.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfdriver.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sferrors.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfnt.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfntpic.c (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfntpic.h (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfobjs.c (68%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/sfobjs.h (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttbdf.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttbdf.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttcmap.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttcmap.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttcmapc.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttkern.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttkern.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttload.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttmtx.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttmtx.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttpost.c (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttpost.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttsbit.c (55%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/sfnt/ttsbit.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/Jamfile (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftgrays.c (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftgrays.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftsmerrs.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftsmooth.c (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftsmooth.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftspic.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/ftspic.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/module.mk (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/rules.mk (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/smooth/smooth.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/Jamfile (94%) create mode 100644 libs/freetype-2.6.2/src/tools/afblue.pl rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/apinames.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/chktrcmp.py (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/cordic.py (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/docmaker/content.py (74%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/docmaker/docbeauty.py (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/docmaker/docmaker.py (65%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/docmaker/formatter.py (65%) create mode 100644 libs/freetype-2.6.2/src/tools/docmaker/sources.py create mode 100644 libs/freetype-2.6.2/src/tools/docmaker/tohtml.py rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/docmaker/utils.py (50%) create mode 100644 libs/freetype-2.6.2/src/tools/ftfuzzer/README create mode 100644 libs/freetype-2.6.2/src/tools/ftfuzzer/ftfuzzer.cc create mode 100644 libs/freetype-2.6.2/src/tools/ftfuzzer/ftmutator.cc create mode 100644 libs/freetype-2.6.2/src/tools/ftfuzzer/runinput.cc rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/ftrandom/Makefile (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/ftrandom/README (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/ftrandom/ftrandom.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/glnames.py (94%) create mode 100644 libs/freetype-2.6.2/src/tools/no-copyright rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/test_afm.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/test_bbox.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/tools/test_trig.c (86%) create mode 100644 libs/freetype-2.6.2/src/tools/update-copyright create mode 100644 libs/freetype-2.6.2/src/tools/update-copyright-year rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/Jamfile (72%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/rules.mk (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/truetype.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttdriver.c (89%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttdriver.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/tterrors.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttgload.c (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttgload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttgxvar.c (63%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttgxvar.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttinterp.c (62%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttinterp.h (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttobjs.c (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttobjs.h (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttpic.c (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttpic.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttpload.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttpload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttsubpix.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/truetype/ttsubpix.h (73%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/Jamfile (76%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/rules.mk (87%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1afm.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1afm.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1driver.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1driver.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1errors.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1gload.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1gload.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1load.c (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1load.h (95%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1objs.c (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1objs.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1parse.c (88%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1parse.h (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/t1tokens.h (96%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type1/type1.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/Jamfile (83%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/rules.mk (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42drivr.c (75%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42drivr.h (90%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42error.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42objs.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42objs.h (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42parse.c (84%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42parse.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/t42types.h (91%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/type42/type42.c (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/winfonts/Jamfile (93%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/winfonts/fnterrs.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/winfonts/module.mk (92%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/winfonts/rules.mk (85%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/winfonts/winfnt.c (86%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/src/winfonts/winfnt.h (94%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/version.sed (97%) rename libs/{freetype-2.5.0.1 => freetype-2.6.2}/vms_make.com (95%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 46709e33..5131292b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,7 +136,7 @@ set(MEGA_LIBOGG_VER "1.3.2") set(MEGA_LIBVORBIS_VER "1.3.5") set(MEGA_LIBTHEORA_VER "1.1") set(MEGA_MPG123_VER "1.15.3") -set(MEGA_FREETYPE_VER "2.5.0.1") +set(MEGA_FREETYPE_VER "2.6.2") set(MEGA_SDL2_VER "2.0.3-6ccf11a01cb5") set(MEGA_OPENAL_VER "1.17.0") set(MEGA_MODPLUG_VER "0.8.8.4") @@ -196,7 +196,7 @@ message(STATUS "-----------------------------------------------------") message(STATUS "Configuring: freetype ${MEGA_FREETYPE_VER}") message(STATUS "-----------------------------------------------------") add_subdirectory("libs/freetype-${MEGA_FREETYPE_VER}" ${CMAKE_BINARY_DIR}/freetype) -set(MEGA_FREETYPE freetype-static) +set(MEGA_FREETYPE freetype) message(STATUS "-----------------------------------------------------") message(STATUS "Configuring: SDL2 ${MEGA_SDL2_VER}") diff --git a/libs/freetype-2.5.0.1/CMakeLists.txt b/libs/freetype-2.5.0.1/CMakeLists.txt deleted file mode 100644 index 9418be55..00000000 --- a/libs/freetype-2.5.0.1/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -project(freetype) - -option(FREETYPE_BUILD_SHARED "Build shared library" OFF) -option(FREETYPE_BUILD_STATIC "Build static library" ON) - -set(FREETYPE_SRC - src/autofit/autofit.c - src/base/ftbase.c - src/base/ftbbox.c - src/base/ftbitmap.c - src/base/ftfstype.c - src/base/ftgasp.c - src/base/ftglyph.c - src/base/ftgxval.c - src/base/ftinit.c - src/base/ftlcdfil.c - src/base/ftmm.c - src/base/ftotval.c - src/base/ftpatent.c - src/base/ftpfr.c - src/base/ftstroke.c - src/base/ftsynth.c - src/base/ftsystem.c - src/base/fttype1.c - src/base/ftwinfnt.c - src/base/ftxf86.c - src/bdf/bdf.c - src/cache/ftcache.c - src/cff/cff.c - src/cid/type1cid.c - src/gzip/ftgzip.c - src/lzw/ftlzw.c - src/pcf/pcf.c - src/pfr/pfr.c - src/psaux/psaux.c - src/pshinter/pshinter.c - src/psnames/psmodule.c - src/raster/raster.c - src/sfnt/sfnt.c - src/smooth/smooth.c - src/truetype/truetype.c - src/type1/type1.c - src/type42/type42.c - src/winfonts/winfnt.c -) - -add_definitions(-D_CRT_SECURE_NO_WARNINGS -DFT2_BUILD_LIBRARY) - -if(WIN32) - list(APPEND FREETYPE_SRC builds/win32/ftdebug.c) -endif() - -if (FREETYPE_BUILD_STATIC) - add_library(freetype-static STATIC ${FREETYPE_SRC}) - target_include_directories(freetype-static PUBLIC include) -endif() - -if (FREETYPE_BUILD_SHARED) - add_library(freetype SHARED ${FREETYPE_SRC}) - target_include_directories(freetype PUBLIC include) -endif() diff --git a/libs/freetype-2.5.0.1/builds/symbian/bld.inf b/libs/freetype-2.5.0.1/builds/symbian/bld.inf deleted file mode 100644 index 84c974cf..00000000 --- a/libs/freetype-2.5.0.1/builds/symbian/bld.inf +++ /dev/null @@ -1,66 +0,0 @@ -// -// FreeType 2 project for the symbian platform -// - -// Copyright 2008, 2009 by -// David Turner, Robert Wilhelm, and Werner Lemberg. -// -// 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. - -PRJ_PLATFORMS -DEFAULT - -PRJ_MMPFILES -freetype.mmp - -PRJ_EXPORTS -../../include/ft2build.h -../../include/freetype/config/ftconfig.h freetype/config/ftconfig.h -../../include/freetype/config/ftheader.h freetype/config/ftheader.h -../../include/freetype/config/ftmodule.h freetype/config/ftmodule.h -../../include/freetype/config/ftoption.h freetype/config/ftoption.h -../../include/freetype/config/ftstdlib.h freetype/config/ftstdlib.h -../../include/freetype/freetype.h freetype/freetype.h -../../include/freetype/ftbbox.h freetype/ftbbox.h -../../include/freetype/ftbdf.h freetype/ftbdf.h -../../include/freetype/ftbitmap.h freetype/ftbitmap.h -../../include/freetype/ftcache.h freetype/ftcache.h -../../include/freetype/ftcid.h freetype/ftcid.h -../../include/freetype/fterrdef.h freetype/fterrdef.h -../../include/freetype/fterrors.h freetype/fterrors.h -../../include/freetype/ftgasp.h freetype/ftgasp.h -../../include/freetype/ftglyph.h freetype/ftglyph.h -../../include/freetype/ftgxval.h freetype/ftgxval.h -../../include/freetype/ftgzip.h freetype/ftgzip.h -../../include/freetype/ftbzip2.h freetype/ftbzip2.h -../../include/freetype/ftimage.h freetype/ftimage.h -../../include/freetype/ftincrem.h freetype/ftincrem.h -../../include/freetype/ftlcdfil.h freetype/ftlcdfil.h -../../include/freetype/ftlist.h freetype/ftlist.h -../../include/freetype/ftlzw.h freetype/ftlzw.h -../../include/freetype/ftmac.h freetype/ftmac.h -../../include/freetype/ftmm.h freetype/ftmm.h -../../include/freetype/ftmodapi.h freetype/ftmodapi.h -../../include/freetype/ftmoderr.h freetype/ftmoderr.h -../../include/freetype/ftotval.h freetype/ftotval.h -../../include/freetype/ftoutln.h freetype/ftoutln.h -../../include/freetype/ftpfr.h freetype/ftpfr.h -../../include/freetype/ftrender.h freetype/ftrender.h -../../include/freetype/ftsizes.h freetype/ftsizes.h -../../include/freetype/ftsnames.h freetype/ftsnames.h -../../include/freetype/ftstroke.h freetype/ftstroke.h -../../include/freetype/ftsynth.h freetype/ftsynth.h -../../include/freetype/ftsystem.h freetype/ftsystem.h -../../include/freetype/fttrigon.h freetype/fttrigon.h -../../include/freetype/fttypes.h freetype/fttypes.h -../../include/freetype/ftwinfnt.h freetype/ftwinfnt.h -../../include/freetype/ftxf86.h freetype/ftxf86.h -../../include/freetype/t1tables.h freetype/t1tables.h -../../include/freetype/ttnameid.h freetype/ttnameid.h -../../include/freetype/tttables.h freetype/tttables.h -../../include/freetype/tttags.h freetype/tttags.h -../../include/freetype/ttunpat.h freetype/ttunpat.h diff --git a/libs/freetype-2.5.0.1/builds/unix/freetype2.in b/libs/freetype-2.5.0.1/builds/unix/freetype2.in deleted file mode 100644 index 7df3a386..00000000 --- a/libs/freetype-2.5.0.1/builds/unix/freetype2.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix="%prefix%" -exec_prefix="%exec_prefix%" -libdir="%libdir%" -includedir="%includedir%" - -Name: FreeType 2 -Description: A free, high-quality, and portable font engine. -Version: %ft_version% -Requires: -Libs: -L${libdir} -lfreetype -Libs.private: %LIBZ% %LIBBZ2% %FT2_EXTRA_LIBS% -Cflags: -I${includedir}/freetype2 -I${includedir} diff --git a/libs/freetype-2.5.0.1/builds/unix/ft2unix.h b/libs/freetype-2.5.0.1/builds/unix/ft2unix.h deleted file mode 100644 index d2ec96c7..00000000 --- a/libs/freetype-2.5.0.1/builds/unix/ft2unix.h +++ /dev/null @@ -1,61 +0,0 @@ -/***************************************************************************/ -/* */ -/* ft2build.h */ -/* */ -/* Build macros of the FreeType 2 library. */ -/* */ -/* Copyright 1996-2001, 2003, 2006 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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 a Unix-specific version of that should be used */ - /* exclusively *after* installation of the library. */ - /* */ - /* It assumes that `/usr/local/include/freetype2' (or whatever is */ - /* returned by the `freetype-config --cflags' or `pkg-config --cflags' */ - /* command) is in your compilation include path. */ - /* */ - /* We don't need to do anything special in this release. However, for */ - /* a future FreeType 2 release, the following installation changes will */ - /* be performed: */ - /* */ - /* - The contents of `freetype-2.x/include/freetype' will be installed */ - /* to `/usr/local/include/freetype2' instead of */ - /* `/usr/local/include/freetype2/freetype'. */ - /* */ - /* - This file will #include , instead */ - /* of . */ - /* */ - /* - The contents of `ftheader.h' will be processed with `sed' to */ - /* replace all `' with `'. */ - /* */ - /* - Adding `/usr/local/include/freetype2' to your compilation include */ - /* path will not be necessary anymore. */ - /* */ - /* These changes will be transparent to client applications which use */ - /* freetype-config (or pkg-config). No modifications will be necessary */ - /* to compile with the new scheme. */ - /* */ - /*************************************************************************/ - - -#ifndef __FT2_BUILD_UNIX_H__ -#define __FT2_BUILD_UNIX_H__ - - /* `/include/freetype2' must be in your current inclusion path */ -#include - -#endif /* __FT2_BUILD_UNIX_H__ */ - - -/* END */ diff --git a/libs/freetype-2.5.0.1/builds/unix/mkinstalldirs b/libs/freetype-2.5.0.1/builds/unix/mkinstalldirs deleted file mode 100644 index d3ddb210..00000000 --- a/libs/freetype-2.5.0.1/builds/unix/mkinstalldirs +++ /dev/null @@ -1,161 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2006-05-11.19 - -# Original author: Noah Friedman -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' -IFS=" "" $nl" -errstatus=0 -dirmode= - -usage="\ -Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... - -Create each directory DIR (with mode MODE, if specified), including all -leading file name components. - -Report bugs to ." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" - exit $? - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --version) - echo "$0 $scriptversion" - exit $? - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and -# mkdir -p a/c at the same time, both will detect that a is missing, -# one will create a, then the other will try to create a and die with -# a "File exists" error. This is a problem when calling mkinstalldirs -# from a parallel make. We use --version in the probe to restrict -# ourselves to GNU mkdir, which is thread-safe. -case $dirmode in - '') - if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - test -d ./-p && rmdir ./-p - test -d ./--version && rmdir ./--version - fi - ;; - *) - if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && - test ! -d ./--version; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - else - # Clean up after NextStep and OpenStep mkdir. - for d in ./-m ./-p ./--version "./$dirmode"; - do - test -d $d && rmdir $d - done - fi - ;; -esac - -for file -do - case $file in - /*) pathcomp=/ ;; - *) pathcomp= ;; - esac - oIFS=$IFS - IFS=/ - set fnord $file - shift - IFS=$oIFS - - for d - do - test "x$d" = x && continue - - pathcomp=$pathcomp$d - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr= - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp=$pathcomp/ - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.sln b/libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.sln deleted file mode 100644 index e9d5320a..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.sln +++ /dev/null @@ -1,31 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - LIB Debug Multithreaded|Win32 = LIB Debug Multithreaded|Win32 - LIB Debug Singlethreaded|Win32 = LIB Debug Singlethreaded|Win32 - LIB Debug|Win32 = LIB Debug|Win32 - LIB Release Multithreaded|Win32 = LIB Release Multithreaded|Win32 - LIB Release Singlethreaded|Win32 = LIB Release Singlethreaded|Win32 - LIB Release|Win32 = LIB Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.Build.0 = Debug|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.ActiveCfg = Release|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.vcproj b/libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.vcproj deleted file mode 100644 index 815c131f..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2005/freetype.vcproj +++ /dev/null @@ -1,646 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.sln b/libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.sln deleted file mode 100644 index 9a745562..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.sln +++ /dev/null @@ -1,31 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - LIB Debug Multithreaded|Win32 = LIB Debug Multithreaded|Win32 - LIB Debug Singlethreaded|Win32 = LIB Debug Singlethreaded|Win32 - LIB Debug|Win32 = LIB Debug|Win32 - LIB Release Multithreaded|Win32 = LIB Release Multithreaded|Win32 - LIB Release Singlethreaded|Win32 = LIB Release Singlethreaded|Win32 - LIB Release|Win32 = LIB Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.ActiveCfg = Debug|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Debug|Win32.Build.0 = Debug|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.ActiveCfg = Release|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.LIB Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.vcproj b/libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.vcproj deleted file mode 100644 index b03b7565..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2008/freetype.vcproj +++ /dev/null @@ -1,2180 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.sln b/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.sln deleted file mode 100644 index e5a3ae7f..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.sln +++ /dev/null @@ -1,32 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcxproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Multithreaded|Win32 = Debug Multithreaded|Win32 - Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32 - Debug|Win32 = Debug|Win32 - Release Multithreaded|Win32 = Release Multithreaded|Win32 - Release Singlethreaded|Win32 = Release Singlethreaded|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {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 Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32 - {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}.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 Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj b/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj deleted file mode 100644 index f3ee70f1..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj +++ /dev/null @@ -1,832 +0,0 @@ - - - - - Debug Multithreaded - Win32 - - - Debug Singlethreaded - Win32 - - - Debug - Win32 - - - Release Multithreaded - Win32 - - - Release Singlethreaded - Win32 - - - Release - Win32 - - - - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} - - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - - - - <_ProjectFileVersion>10.0.30319.1 - .\..\..\..\objs\win32\vc2010\ - .\..\..\..\objs\release\ - .\..\..\..\objs\win32\vc2010\ - .\..\..\..\objs\release_mt\ - .\..\..\..\objs\win32\vc2010\ - .\..\..\..\objs\release_st\ - .\..\..\..\objs\win32\vc2010\ - .\..\..\..\objs\debug\ - .\..\..\..\objs\win32\vc2010\ - .\..\..\..\objs\debug_st\ - .\..\..\..\objs\win32\vc2010\ - .\..\..\..\objs\debug_mt\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - freetype250_D - freetype250MT_D - freetype250ST_D - freetype250 - freetype250MT - freetype250ST - - - - MaxSpeed - OnlyExplicitInline - ..\..\..\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions) - true - MultiThreadedDLL - true - true - Level4 - - - Default - 4001 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - true - - - - - MaxSpeed - OnlyExplicitInline - ..\..\..\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions) - true - MultiThreaded - true - true - Level4 - - - Default - 4001 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - true - - - - - MaxSpeed - OnlyExplicitInline - ..\..\..\include;%(AdditionalIncludeDirectories) - NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions) - true - MultiThreaded - true - true - Level4 - - - Default - 4001 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - - - - Disabled - ..\..\..\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebugDLL - true - Level4 - ProgramDatabase - Default - 4001 - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - true - - - - - Disabled - ..\..\..\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions) - EnableFastChecks - MultiThreadedDebug - true - Level4 - ProgramDatabase - Default - 4001 - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - true - - - - - Disabled - ..\..\..\include;%(AdditionalIncludeDirectories) - _DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions) - false - false - EnableFastChecks - MultiThreadedDebug - true - Level4 - ProgramDatabase - Default - 4001 - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - true - - - - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - false - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - false - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - false - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - false - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - false - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - false - - - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - - - - - - - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - Disabled - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - EnableFastChecks - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - MaxSpeed - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - - - - - - - - - - - diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj.filters b/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj.filters deleted file mode 100644 index 801af1bd..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2010/freetype.vcxproj.filters +++ /dev/null @@ -1,155 +0,0 @@ - - - - - {b4c15893-ec11-491d-9507-0ac184f9cc78} - cpp;c;cxx;rc;def;r;odl;idl;hpj;bat - - - {4d3e4eff-3fbc-4b20-b413-2743b23b7109} - - - {e6cf6a0f-0404-4024-8bf8-ff5b29f35657} - h;hpp;hxx;hm;inl - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - Source Files\FT_MODULES - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - diff --git a/libs/freetype-2.5.0.1/builds/win32/vc2010/index.html b/libs/freetype-2.5.0.1/builds/win32/vc2010/index.html deleted file mode 100644 index 4c0f364c..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/vc2010/index.html +++ /dev/null @@ -1,37 +0,0 @@ - -
- - FreeType 2 Project Files for VS.NET 2010 - - - -

- FreeType 2 Project Files for VS.NET 2010 -

- -

This directory contains a project file for Visual C++, named -freetype.vcxproj, and Visual Studio, called freetype.sln. It -compiles the following libraries from the FreeType 2.5.0 sources:

- -
    -
    -    freetype250.lib     - release build; single threaded
    -    freetype250_D.lib   - debug build;   single threaded
    -    freetype250MT.lib   - release build; multi-threaded
    -    freetype250MT_D.lib - debug build;   multi-threaded
    -
- -

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 .tar.*z archives, be sure to configure your extracting -tool to convert the line endings. For example, with WinZip, you should activate the TAR -file smart CR/LF Conversion option. Alternatively, you may consider -using the unix2dos or u2d utilities that are floating -around, which specifically deal with this particular problem. - -

Build directories are placed in the top-level objs -directory.

- - - diff --git a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsp b/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsp deleted file mode 100644 index 9f707325..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsp +++ /dev/null @@ -1,400 +0,0 @@ -# Microsoft Developer Studio Project File - Name="freetype" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=freetype - Win32 Debug Singlethreaded -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "freetype.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Debug Singlethreaded" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Debug Multithreaded" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Release Multithreaded" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Release Singlethreaded" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Debug Singlethreaded" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "freetype - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\objs\release" -# PROP Intermediate_Dir "..\..\..\objs\release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /MD /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c -# SUBTRACT CPP /nologo /Z /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\objs\debug" -# PROP Intermediate_Dir "..\..\..\objs\debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /MDd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c -# SUBTRACT CPP /nologo /X /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250_D.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\objs\debug_mt" -# PROP Intermediate_Dir "..\..\..\objs\debug_mt" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /Za /W3 /Gm /GX /ZI /Od /I "..\freetype\include\\" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /GZ /c -# SUBTRACT BASE CPP /X -# ADD CPP /MTd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c -# SUBTRACT CPP /nologo /X /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype250_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT_D.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\objs\release_mt" -# PROP Intermediate_Dir "..\..\..\objs\release_mt" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /Za /W3 /GX /O2 /I "..\freetype\include\\" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /c -# ADD CPP /MT /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c -# SUBTRACT CPP /nologo /Z /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype250.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\objs\release_st" -# PROP Intermediate_Dir "..\..\..\objs\release_st" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c -# SUBTRACT BASE CPP /YX -# ADD CPP /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c -# SUBTRACT CPP /nologo /Z /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype250ST.lib" -# SUBTRACT LIB32 /nologo - -!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Singlethreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\objs\debug_st" -# PROP Intermediate_Dir "..\..\..\objs\debug_st" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /Za /W4 /Gm /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c -# SUBTRACT BASE CPP /X /YX -# ADD CPP /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c -# SUBTRACT CPP /nologo /X /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250ST_D.lib" - -!ENDIF - -# Begin Target - -# Name "freetype - Win32 Release" -# Name "freetype - Win32 Debug" -# Name "freetype - Win32 Debug Multithreaded" -# Name "freetype - Win32 Release Multithreaded" -# Name "freetype - Win32 Release Singlethreaded" -# Name "freetype - Win32 Debug Singlethreaded" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\..\src\autofit\autofit.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\bdf\bdf.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\cff\cff.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbase.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbbox.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbdf.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbitmap.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftfstype.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftgasp.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\cache\ftcache.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\ftdebug.c -# ADD CPP /Ze -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftglyph.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftgxval.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\gzip\ftgzip.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftinit.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\lzw\ftlzw.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftmm.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftotval.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftpfr.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftstroke.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftsynth.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftsystem.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\fttype1.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftwinfnt.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftxf86.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\pcf\pcf.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\pfr\pfr.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\psaux\psaux.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\pshinter\pshinter.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\psnames\psmodule.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\raster\raster.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\sfnt\sfnt.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\smooth\smooth.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\truetype\truetype.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\type1\type1.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\cid\type1cid.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\type42\type42.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\winfonts\winfnt.c -# SUBTRACT CPP /Fr -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\..\include\ft2build.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftconfig.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftheader.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftmodule.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftoption.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftstdlib.h -# End Source File -# End Group -# End Target -# End Project diff --git a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsw b/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsw deleted file mode 100644 index 3c9bbe1e..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "freetype"=.\freetype.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.sln b/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.sln deleted file mode 100644 index f4c105ed..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.sln +++ /dev/null @@ -1,31 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Multithreaded|Win32 = Debug Multithreaded|Win32 - Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32 - Debug|Win32 = Debug|Win32 - Release Multithreaded|Win32 = Release Multithreaded|Win32 - Release Singlethreaded|Win32 = Release Singlethreaded|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {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 Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32 - {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}.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 Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32 - {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.vcproj b/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.vcproj deleted file mode 100644 index 7dd1c3ad..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualc/freetype.vcproj +++ /dev/null @@ -1,2179 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsp b/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsp deleted file mode 100644 index 9f707325..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsp +++ /dev/null @@ -1,400 +0,0 @@ -# Microsoft Developer Studio Project File - Name="freetype" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=freetype - Win32 Debug Singlethreaded -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "freetype.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "freetype.mak" CFG="freetype - Win32 Debug Singlethreaded" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "freetype - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Debug Multithreaded" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Release Multithreaded" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Release Singlethreaded" (based on "Win32 (x86) Static Library") -!MESSAGE "freetype - Win32 Debug Singlethreaded" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "freetype - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\objs\release" -# PROP Intermediate_Dir "..\..\..\objs\release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /MD /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c -# SUBTRACT CPP /nologo /Z /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\objs\debug" -# PROP Intermediate_Dir "..\..\..\objs\debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /MDd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c -# SUBTRACT CPP /nologo /X /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250_D.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Debug Multithreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "freetype___Win32_Debug_Multithreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Multithreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\objs\debug_mt" -# PROP Intermediate_Dir "..\..\..\objs\debug_mt" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /Za /W3 /Gm /GX /ZI /Od /I "..\freetype\include\\" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /GZ /c -# SUBTRACT BASE CPP /X -# ADD CPP /MTd /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c -# SUBTRACT CPP /nologo /X /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype250_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT_D.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Release Multithreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "freetype___Win32_Release_Multithreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Release_Multithreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\objs\release_mt" -# PROP Intermediate_Dir "..\..\..\objs\release_mt" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /Za /W3 /GX /O2 /I "..\freetype\include\\" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_FLAT_COMPILE" /YX /FD /c -# ADD CPP /MT /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c -# SUBTRACT CPP /nologo /Z /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"lib\freetype250.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250MT.lib" - -!ELSEIF "$(CFG)" == "freetype - Win32 Release Singlethreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "freetype___Win32_Release_Singlethreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Release_Singlethreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\objs\release_st" -# PROP Intermediate_Dir "..\..\..\objs\release_st" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MD /Za /W4 /GX /Zi /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /FD /c -# SUBTRACT BASE CPP /YX -# ADD CPP /Za /W4 /GX /O2 /I "..\..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /c -# SUBTRACT CPP /nologo /Z /YX -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250.lib" -# ADD LIB32 /out:"..\..\..\objs\freetype250ST.lib" -# SUBTRACT LIB32 /nologo - -!ELSEIF "$(CFG)" == "freetype - Win32 Debug Singlethreaded" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "freetype___Win32_Debug_Singlethreaded" -# PROP BASE Intermediate_Dir "freetype___Win32_Debug_Singlethreaded" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\objs\debug_st" -# PROP Intermediate_Dir "..\..\..\objs\debug_st" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /Za /W4 /Gm /GX /Zi /Od /I "..\..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /FD /GZ /c -# SUBTRACT BASE CPP /X /YX -# ADD CPP /Za /W4 /GX /Z7 /Od /I "..\..\..\include" /D "_DEBUG" /D "FT_DEBUG_LEVEL_ERROR" /D "FT_DEBUG_LEVEL_TRACE" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FT2_BUILD_LIBRARY" /FD /GZ /c -# SUBTRACT CPP /nologo /X /YX -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo /out:"..\..\..\objs\freetype250_D.lib" -# ADD LIB32 /nologo /out:"..\..\..\objs\freetype250ST_D.lib" - -!ENDIF - -# Begin Target - -# Name "freetype - Win32 Release" -# Name "freetype - Win32 Debug" -# Name "freetype - Win32 Debug Multithreaded" -# Name "freetype - Win32 Release Multithreaded" -# Name "freetype - Win32 Release Singlethreaded" -# Name "freetype - Win32 Debug Singlethreaded" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\..\src\autofit\autofit.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\bdf\bdf.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\cff\cff.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbase.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbbox.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbdf.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftbitmap.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftfstype.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftgasp.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\cache\ftcache.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\ftdebug.c -# ADD CPP /Ze -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftglyph.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftgxval.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\gzip\ftgzip.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftinit.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\lzw\ftlzw.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftmm.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftotval.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftpfr.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftstroke.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftsynth.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftsystem.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\fttype1.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftwinfnt.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\base\ftxf86.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\pcf\pcf.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\pfr\pfr.c -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\psaux\psaux.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\pshinter\pshinter.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\psnames\psmodule.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\raster\raster.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\sfnt\sfnt.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\smooth\smooth.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\truetype\truetype.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\type1\type1.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\cid\type1cid.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\type42\type42.c -# SUBTRACT CPP /Fr -# End Source File -# Begin Source File - -SOURCE=..\..\..\src\winfonts\winfnt.c -# SUBTRACT CPP /Fr -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\..\include\ft2build.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftconfig.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftheader.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftmodule.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftoption.h -# End Source File -# Begin Source File - -SOURCE=..\..\..\include\freetype\config\ftstdlib.h -# End Source File -# End Group -# End Target -# End Project diff --git a/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsw b/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsw deleted file mode 100644 index 3c9bbe1e..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "freetype"=.\freetype.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.vcproj b/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.vcproj deleted file mode 100644 index c51db24c..00000000 --- a/libs/freetype-2.5.0.1/builds/win32/visualce/freetype.vcproj +++ /dev/null @@ -1,13885 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libs/freetype-2.5.0.1/builds/wince/vc2008-ce/freetype.vcproj b/libs/freetype-2.5.0.1/builds/wince/vc2008-ce/freetype.vcproj deleted file mode 100644 index ea55172a..00000000 --- a/libs/freetype-2.5.0.1/builds/wince/vc2008-ce/freetype.vcproj +++ /dev/null @@ -1,13495 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libs/freetype-2.5.0.1/docs/DEBUG b/libs/freetype-2.5.0.1/docs/DEBUG deleted file mode 100644 index fd09cece..00000000 --- a/libs/freetype-2.5.0.1/docs/DEBUG +++ /dev/null @@ -1,202 +0,0 @@ -Debugging within the FreeType sources -===================================== - -I. Configuration macros ------------------------ - -There are several ways to enable debugging features in a FreeType 2 -builds. This is controlled through the definition of special macros -located in the file `ftoptions.h'. The macros are: - - - FT_DEBUG_LEVEL_ERROR - - #define this macro if you want to compile the FT_ERROR macro calls - to print error messages during program execution. This will not - stop the program. Very useful to spot invalid fonts during - development and to code workarounds for them. - - FT_DEBUG_LEVEL_TRACE - - #define this macro if you want to compile both macros FT_ERROR and - FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1, - FT_TRACE2, ..., FT_TRACE7. - - The trace macros are used to send debugging messages when an - appropriate `debug level' is configured at runtime through the - FT2_DEBUG environment variable (more on this later). - - FT_DEBUG_MEMORY - - If this macro is #defined, the FreeType engine is linked with a - small but effective debugging memory manager that tracks all - allocations and frees that are performed within the font engine. - - When the FT2_DEBUG_MEMORY environment variable is defined at - runtime, a call to FT_Done_FreeType will dump memory statistics, - including the list of leaked memory blocks with the source locations - where these were allocated. It is always a very good idea to define - this in development builds. This works with _any_ program linked to - FreeType, but requires a big deal of memory (the debugging memory - manager never frees the blocks to the heap in order to detect double - frees). - - When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory - manager is ignored, and performance is unaffected. - - -II. Debugging macros --------------------- - -Several macros can be used within the FreeType sources to help debugging -its code: - - - 1. FT_ERROR(( ... )) - - This macro is used to send debug messages that indicate relatively - serious errors (like broken font files), but will not stop the - execution of the running program. Its code is compiled only when - either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in - `ftoption.h'. - - Note that you have to use a printf-like signature, but with double - parentheses, like in - - FT_ERROR(( "your %s is not %s\n", "foo", "bar" )); - - - 2. FT_ASSERT( condition ) - - This macro is used to check strong assertions at runtime. If its - condition isn't TRUE, the program will abort with a panic message. - Its code is compiled when either FT_DEBUG_LEVEL_ERROR or - FT_DEBUG_LEVEL_TRACE are defined. You don't need double parentheses - here. For example - - FT_ASSERT( ptr != NULL ); - - - 3. FT_TRACE( level, (message...) ) - - The FT_TRACE macro is used to send general-purpose debugging - messages during program execution. This macro uses an *implicit* - macro named FT_COMPONENT used to name the current FreeType component - being run. - - The developer should always define FT_COMPONENT as appropriate, for - example as in - - #undef FT_COMPONENT - #define FT_COMPONENT trace_io - - The value of the FT_COMPONENT macro is an enumeration named - trace_XXXX where XXXX is one of the component names defined in the - internal file `freetype/internal/fttrace.h'. If you modify FreeType - source and insert new trace_XXXX macro, you must register it in - fttrace.h. If you insert or remove many trace macros, you can check - the undefined or the unused trace macro by src/tools/chktrcmp.py. - - Each such component is assigned a `debug level', ranging from 0 - to 7, through the use of the FT2_DEBUG environment variable - (described below) when a program linked with FreeType starts. - - When FT_TRACE is called, its level is compared to the one of the - corresponding component. Messages with trace levels *higher* than - the corresponding component level are filtered and never printed. - - This means that trace messages with level 0 are always printed, - those with level 2 are only printed when the component level is *at - least* 2. - - The second parameter to FT_TRACE must contain parentheses and - correspond to a printf-like call, as in - - FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) ) - - The shortcut macros FT_TRACE0, FT_TRACE1, FT_TRACE2, ..., FT_TRACE7 - can be used with constant level indices, and are much cleaner to - use, as in - - FT_TRACE2(( "your %s is not %s\n", "foo", "bar" )); - - -III. Environment variables --------------------------- - -The following environment variables control debugging output and -behaviour of FreeType at runtime. - - - FT2_DEBUG - - This variable is only used when FreeType is built with - FT_DEBUG_LEVEL_TRACE defined. It contains a list of component level - definitions, following this format: - - component1:level1 component2:level2 component3:level3 ... - - where `componentX' is the name of a tracing component, as defined in - `fttrace.h', but without the `trace_' prefix. `levelX' is the - corresponding level to use at runtime. - - `any' is a special component name that will be interpreted as - `any/all components'. For example, the following definitions - - set FT2_DEBUG=any:2 memory:5 io:4 (on Windows) - export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash) - - both stipulate that all components should have level 2, except for - the memory and io components which will be set to trace levels 5 and - 4, respectively. - - - FT2_DEBUG_MEMORY - - This environment variable, when defined, tells FreeType to use a - debugging memory manager that will track leaking memory blocks as - well as other common errors like double frees. It is also capable - of reporting _where_ the leaking blocks were allocated, which - considerably saves time when debugging new additions to the library. - - This code is only compiled when FreeType is built with the - FT_DEBUG_MEMORY macro #defined in `ftoption.h' though, it will be - ignored in other builds. - - - FT2_ALLOC_TOTAL_MAX - - This variable is ignored if FT2_DEBUG_MEMORY is not defined. It - allows you to specify a maximum heap size for all memory allocations - performed by FreeType. This is very useful to test the robustness - of the font engine and programs that use it in tight memory - conditions. - - If it is undefined, or if its value is not strictly positive, then - no allocation bounds are checked at runtime. - - - FT2_ALLOC_COUNT_MAX - - This variable is ignored if FT2_DEBUG_MEMORY is not defined. It - allows you to specify a maximum number of memory allocations - performed by FreeType before returning the error - FT_Err_Out_Of_Memory. This is useful for debugging and testing the - engine's robustness. - - If it is undefined, or if its value is not strictly positive, then - no allocation bounds are checked at runtime. - ------------------------------------------------------------------------- - -Copyright 2002, 2003, 2004, 2005, 2009 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -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. - - ---- end of DEBUG --- diff --git a/libs/freetype-2.5.0.1/docs/INSTALL.CROSS b/libs/freetype-2.5.0.1/docs/INSTALL.CROSS deleted file mode 100644 index 626249b1..00000000 --- a/libs/freetype-2.5.0.1/docs/INSTALL.CROSS +++ /dev/null @@ -1,135 +0,0 @@ -This document contains instructions on how to cross-build the FreeType -library on Unix systems, for example, building binaries for Linux/MIPS -on FreeBSD/i386. Before reading this document, please consult -INSTALL.UNIX for required tools and the basic self-building procedure. - - - 1. Required Tools - ----------------- - - For self-building the FreeType library on a Unix system, GNU Make - 3.80 or newer is required. INSTALL.UNIX contains hints how to - check the installed `make'. - - The GNU C compiler to cross-build the target system is required. - At present, using non-GNU cross compiler is not tested. The cross - compiler is expected to be installed with a system prefix. For - example, if your building system is FreeBSD/i386 and the target - system is Linux/MIPS, the cross compiler should be installed with - the name `mips-ip22-linuxelf-gcc'. - - A C compiler for a self-build is required also, to build a tool - that is executed during the building procedure. Non-GNU self - compilers are acceptable, but such a setup is not tested yet. - - - 2. Configuration - ---------------- - - 2.1. Building and target system - - To configure for cross-build, the options `--host=' and - `--build=' must be passed to configure. For example, if - your building system is FreeBSD/i386 and the target system is - Linux/MIPS, say - - ./configure \ - --build=i386-unknown-freebsd \ - --host=mips-ip22-linuxelf \ - [other options] - - It should be noted that `--host=' specifies the system - where the built binaries will be executed, not the system where - the build actually happens. Older versions of GNU autoconf use - the option pair `--host=' and `--target='. This is broken and - doesn't work. Similarly, an explicit CC specification like - - env CC=mips-ip22-linux-gcc ./configure # BAD - - or - - env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure # BAD - - doesn't work either; such a configuration confuses the - `configure' script while trying to find the cross and native C - compilers. - - - 2.2. The prefix to install FreeType2 - - Setting `--prefix=' properly is important. The prefix - to install FreeType2 is written into the freetype-config script - and freetype2.pc configuration file. - - If the built FreeType 2 library is used as a part of the - cross-building system, the prefix is expected to be different - from the self-building system. For example, configuration with - `--prefix=/usr/local' installs binaries into the system wide - `/usr/local' directory which then can't be executed. This - causes confusion in configuration of all applications which use - FreeType2. Instead, use a prefix to install the cross-build - into a separate system tree, for example, - `--prefix=/usr/local/mips-ip22-linux/'. - - On the other hand, if the built FreeType2 is used as a part of - the target system, the prefix to install should reflect the file - system structure of the target system. - - - 3. Building command - ------------------- - - If the configuration finishes successfully, invoking GNU make - builds FreeType2. Just say - - make - - or - - gmake - - depending on the name the GNU make binary actually has. - - - 4. Installation - --------------- - - Saying - - make install - - as usual to install FreeType2 into the directory tree specified by - the argument of the `--prefix' option. - - As noted in section 2.2, FreeType2 is sometimes configured to be - installed into the system directory of the target system, and - should not be installed in the cross-building system. In such - cases, the make variable `DESTDIR' is useful to change the root - directory in the installation. For example, after - - make DESTDIR=/mnt/target_system_root/ install - - the built FreeType2 library files are installed into the directory - `/mnt/target_system_root//lib'. - - - 5. TODO - ------- - - Cross building between Cygwin (or MSys) and Unix must be tested. - - ----------------------------------------------------------------------- - -Copyright 2006, 2008, 2012 by suzuki toshiya -David Turner, Robert Wilhelm, and Werner Lemberg. - - -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. - - ---- end of INSTALL.CROSS --- diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-auto_hinter.html b/libs/freetype-2.5.0.1/docs/reference/ft2-auto_hinter.html deleted file mode 100644 index cdb3e07a..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-auto_hinter.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-The auto-hinter -

-

Synopsis

- - - - -
glyph-to-script-mapfallback-script
FT_AUTOHINTER_SCRIPT_XXXincrease-x-height
FT_Prop_GlyphToScriptMapFT_Prop_IncreaseXHeight


- -
-

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

-

Note that the auto-hinter's module name is ‘autofitter’ for historical reasons.

-

-
-

glyph-to-script-map

-
-

Experimental only

-

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.

-

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.

-

The mapping between glyph indices and scripts (in the auto-hinter sense, see the FT_AUTOHINTER_SCRIPT_XXX values) is stored as an array with ‘num_glyphs’ elements, as found in the font's FT_Face structure. The ‘glyph-to-script-map’ property returns a pointer to this array which can be modified as needed. Note that the modification should happen before the first glyph gets processed by the auto-hinter so that the global analysis of the font shapes actually uses the modified mapping.

-

The following example code demonstrates how to access it (omitting the error handling).

-
-  FT_Library                library;
-  FT_Face                   face;
-  FT_Prop_GlyphToScriptMap  prop;
-
-
-  FT_Init_FreeType( &library );
-  FT_New_Face( library, "foo.ttf", 0, &face );
-
-  prop.face = face;
-
-  FT_Property_Get( library, "autofitter",
-                            "glyph-to-script-map", &prop );
-
-  // adjust `prop.map' as needed right here
-
-  FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT );
-
-

-
-
- - -
[Index][TOC]
- -
-

FT_AUTOHINTER_SCRIPT_XXX

-
-Defined in FT_AUTOHINTER_H (freetype/ftautoh.h). -

-
-
-#define FT_AUTOHINTER_SCRIPT_NONE   0
-#define FT_AUTOHINTER_SCRIPT_LATIN  1
-#define FT_AUTOHINTER_SCRIPT_CJK    2
-#define FT_AUTOHINTER_SCRIPT_INDIC  3
-
-

-
-

Experimental only

-

A list of constants used for the glyph-to-script-map property to specify the script submodule the auto-hinter should use for hinting a particular glyph.

-

-
values
-

- - - - - - - - - -
FT_AUTOHINTER_SCRIPT_NONE
-

Don't auto-hint this glyph.

-
FT_AUTOHINTER_SCRIPT_LATIN
-

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.

-

By default, characters from the following Unicode ranges are assigned to this submodule.

-
-  U+0020 - U+007F  // Basic Latin (no control characters)
-  U+00A0 - U+00FF  // Latin-1 Supplement (no control characters)
-  U+0100 - U+017F  // Latin Extended-A
-  U+0180 - U+024F  // Latin Extended-B
-  U+0250 - U+02AF  // IPA Extensions
-  U+02B0 - U+02FF  // Spacing Modifier Letters
-  U+0300 - U+036F  // Combining Diacritical Marks
-  U+0370 - U+03FF  // Greek and Coptic
-  U+0400 - U+04FF  // Cyrillic
-  U+0500 - U+052F  // Cyrillic Supplement
-  U+1D00 - U+1D7F  // Phonetic Extensions
-  U+1D80 - U+1DBF  // Phonetic Extensions Supplement
-  U+1DC0 - U+1DFF  // Combining Diacritical Marks Supplement
-  U+1E00 - U+1EFF  // Latin Extended Additional
-  U+1F00 - U+1FFF  // Greek Extended
-  U+2000 - U+206F  // General Punctuation
-  U+2070 - U+209F  // Superscripts and Subscripts
-  U+20A0 - U+20CF  // Currency Symbols
-  U+2150 - U+218F  // Number Forms
-  U+2460 - U+24FF  // Enclosed Alphanumerics
-  U+2C60 - U+2C7F  // Latin Extended-C
-  U+2DE0 - U+2DFF  // Cyrillic Extended-A
-  U+2E00 - U+2E7F  // Supplemental Punctuation
-  U+A640 - U+A69F  // Cyrillic Extended-B
-  U+A720 - U+A7FF  // Latin Extended-D
-  U+FB00 - U+FB06  // Alphab. Present. Forms (Latin Ligatures)
- U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols
- U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement
-
-

-
FT_AUTOHINTER_SCRIPT_CJK
-

Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old Vietnamese, and some other scripts.

-

By default, characters from the following Unicode ranges are assigned to this submodule.

-
-  U+1100 - U+11FF  // Hangul Jamo
-  U+2E80 - U+2EFF  // CJK Radicals Supplement
-  U+2F00 - U+2FDF  // Kangxi Radicals
-  U+2FF0 - U+2FFF  // Ideographic Description Characters
-  U+3000 - U+303F  // CJK Symbols and Punctuation
-  U+3040 - U+309F  // Hiragana
-  U+30A0 - U+30FF  // Katakana
-  U+3100 - U+312F  // Bopomofo
-  U+3130 - U+318F  // Hangul Compatibility Jamo
-  U+3190 - U+319F  // Kanbun
-  U+31A0 - U+31BF  // Bopomofo Extended
-  U+31C0 - U+31EF  // CJK Strokes
-  U+31F0 - U+31FF  // Katakana Phonetic Extensions
-  U+3200 - U+32FF  // Enclosed CJK Letters and Months
-  U+3300 - U+33FF  // CJK Compatibility
-  U+3400 - U+4DBF  // CJK Unified Ideographs Extension A
-  U+4DC0 - U+4DFF  // Yijing Hexagram Symbols
-  U+4E00 - U+9FFF  // CJK Unified Ideographs
-  U+A960 - U+A97F  // Hangul Jamo Extended-A
-  U+AC00 - U+D7AF  // Hangul Syllables
-  U+D7B0 - U+D7FF  // Hangul Jamo Extended-B
-  U+F900 - U+FAFF  // CJK Compatibility Ideographs
-  U+FE10 - U+FE1F  // Vertical forms
-  U+FE30 - U+FE4F  // CJK Compatibility Forms
-  U+FF00 - U+FFEF  // Halfwidth and Fullwidth Forms
- U+1B000 - U+1B0FF // Kana Supplement
- U+1D300 - U+1D35F // Tai Xuan Hing Symbols
- U+1F200 - U+1F2FF // Enclosed Ideographic Supplement
- U+20000 - U+2A6DF // CJK Unified Ideographs Extension B
- U+2A700 - U+2B73F // CJK Unified Ideographs Extension C
- U+2B740 - U+2B81F // CJK Unified Ideographs Extension D
- U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement
-
-

-
FT_AUTOHINTER_SCRIPT_INDIC
-

Apply the indic auto-hinter, covering all major scripts from the Indian sub-continent and some other related scripts like Thai, Lao, or Tibetan.

-

By default, characters from the following Unicode ranges are assigned to this submodule.

-
-  U+0900 - U+0DFF  // Indic Range
-  U+0F00 - U+0FFF  // Tibetan
-  U+1900 - U+194F  // Limbu
-  U+1B80 - U+1BBF  // Sundanese
-  U+1C80 - U+1CDF  // Meetei Mayak
-  U+A800 - U+A82F  // Syloti Nagri
- U+11800 - U+118DF // Sharada
-
-

Note that currently Indic support is rudimentary only, missing blue zone support.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Prop_GlyphToScriptMap

-
-Defined in FT_AUTOHINTER_H (freetype/ftautoh.h). -

-
-
-   typedef struct  FT_Prop_GlyphToScriptMap_
-   {
-     FT_Face   face;
-     FT_Byte*  map;
-
-   } FT_Prop_GlyphToScriptMap;
-
-

-
-

Experimental only

-

The data exchange structure for the glyph-to-script-map property.

-

-
-
- - -
[Index][TOC]
- -
-

fallback-script

-
-

Experimental only

-

If no auto-hinter script module can be assigned to a glyph, a fallback script gets assigned to it (see also the glyph-to-script-map property). By default, this is FT_AUTOHINTER_SCRIPT_CJK. Using the ‘fallback-script’ property, this fallback value can be changed.

-
-  FT_Library  library;
-  FT_UInt     fallback_script = FT_AUTOHINTER_SCRIPT_NONE;
-
-
-  FT_Init_FreeType( &library );
-
-  FT_Property_Set( library, "autofitter",
-                            "fallback-script", &fallback_script );
-
-

-
note
-

This property can be used with FT_Property_Get also.

-

It's important to use the right timing for changing this value: The creation of the glyph-to-script map which eventually uses the fallback script value gets triggered either by setting or reading a face-specific property like glyph-to-script-map, or by auto-hinting any glyph from that face. In particular, if you have already created an FT_Face structure but not loaded any glyph (using the auto-hinter), a change of the fallback glyph will affect this face.

-
-
-
- - -
[Index][TOC]
- -
-

increase-x-height

-
-

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.

-
-  FT_Library               library;
-  FT_Face                  face;
-  FT_Prop_IncreaseXHeight  prop;
-
-
-  FT_Init_FreeType( &library );
-  FT_New_Face( library, "foo.ttf", 0, &face );
-  FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 );
-
-  prop.face  = face;
-  prop.limit = 14;
-
-  FT_Property_Set( library, "autofitter",
-                            "increase-x-height", &prop );
-
-

-
note
-

This property can be used with FT_Property_Get also.

-

Set this value right after calling FT_Set_Char_Size, but before loading any glyph (using the auto-hinter).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Prop_IncreaseXHeight

-
-Defined in FT_AUTOHINTER_H (freetype/ftautoh.h). -

-
-
-   typedef struct  FT_Prop_IncreaseXHeight_
-   {
-     FT_Face  face;
-     FT_UInt  limit;
-
-   } FT_Prop_IncreaseXHeight;
-
-

-
-

The data exchange structure for the increase-x-height property.

-

-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-base_interface.html b/libs/freetype-2.5.0.1/docs/reference/ft2-base_interface.html deleted file mode 100644 index e5a01fd9..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-base_interface.html +++ /dev/null @@ -1,3626 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Base Interface -

-

Synopsis

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FT_LibraryFT_IS_TRICKYFT_Load_Char
FT_FaceFT_STYLE_FLAG_XXXFT_LOAD_XXX
FT_SizeFT_Size_InternalFT_LOAD_TARGET_XXX
FT_GlyphSlotFT_Size_MetricsFT_LOAD_TARGET_MODE
FT_CharMapFT_SizeRecFT_Set_Transform
FT_EncodingFT_SubGlyphFT_Render_Mode
FT_Glyph_MetricsFT_Slot_Internalft_render_mode_xxx
FT_Bitmap_SizeFT_GlyphSlotRecFT_Render_Glyph
FT_ModuleFT_Init_FreeTypeFT_Kerning_Mode
FT_DriverFT_Done_FreeTypeft_kerning_default
FT_RendererFT_OPEN_XXXft_kerning_unfitted
FT_ENC_TAGFT_Parameterft_kerning_unscaled
ft_encoding_xxxFT_Open_ArgsFT_Get_Kerning
FT_CharMapRecFT_New_FaceFT_Get_Track_Kerning
FT_Face_InternalFT_New_Memory_FaceFT_Get_Glyph_Name
FT_FaceRecFT_Open_FaceFT_Get_Postscript_Name
FT_FACE_FLAG_XXXFT_Attach_FileFT_Select_Charmap
FT_HAS_HORIZONTALFT_Attach_StreamFT_Set_Charmap
FT_HAS_VERTICALFT_Reference_FaceFT_Get_Charmap_Index
FT_HAS_KERNINGFT_Done_FaceFT_Get_Char_Index
FT_IS_SCALABLEFT_Select_SizeFT_Get_First_Char
FT_IS_SFNTFT_Size_Request_TypeFT_Get_Next_Char
FT_IS_FIXED_WIDTHFT_Size_RequestRecFT_Get_Name_Index
FT_HAS_FIXED_SIZESFT_Size_RequestFT_SUBGLYPH_FLAG_XXX
FT_HAS_FAST_GLYPHSFT_Request_SizeFT_Get_SubGlyph_Info
FT_HAS_GLYPH_NAMESFT_Set_Char_SizeFT_FSTYPE_XXX
FT_HAS_MULTIPLE_MASTERSFT_Set_Pixel_SizesFT_Get_FSType_Flags
FT_IS_CID_KEYEDFT_Load_Glyph


- -
-

This section describes the public high-level API of FreeType 2.

-

-
-

FT_Library

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_LibraryRec_  *FT_Library;
-
-

-
-

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.

-

It also embeds a memory manager (see FT_Memory), as well as a scan-line converter object (see FT_Raster).

-

In multi-threaded applications, make sure that the same FT_Library object or any of its children doesn't get accessed in parallel.

-

-
note
-

Library objects are normally created by FT_Init_FreeType, and destroyed with FT_Done_FreeType. If you need reference-counting (cf. FT_Reference_Library), use FT_New_Library and FT_Done_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_FaceRec_*  FT_Face;
-
-

-
-

A handle to a given typographic face object. A face object models a given typeface, in a given style.

-

-
note
-

Each face object also owns a single FT_GlyphSlot object, as well as one or more FT_Size objects.

-

Use FT_New_Face or FT_Open_Face to create a new face object from a given filepathname or a custom input stream.

-

Use FT_Done_Face to destroy it (along with its slot and sizes).

-
-
also
-

See FT_FaceRec for the publicly accessible fields of a given face object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_SizeRec_*  FT_Size;
-
-

-
-

A handle to an object used to model a face scaled to a given character size.

-

-
note
-

Each FT_Face has an active FT_Size object that is used by functions like FT_Load_Glyph to determine the scaling transformation which is used to load and hint glyphs and metrics.

-

You can use FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Request_Size or even FT_Select_Size to change the content (i.e., the scaling values) of the active FT_Size.

-

You can use FT_New_Size to create additional size objects for a given FT_Face, but they won't be used by other functions until you activate it through FT_Activate_Size. Only one size can be activated at any given time per face.

-
-
also
-

See FT_SizeRec for the publicly accessible fields of a given size object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GlyphSlot

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_GlyphSlotRec_*  FT_GlyphSlot;
-
-

-
-

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.

-

In other words, each time you call FT_Load_Glyph or FT_Load_Char, 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.

-

-
also
-

See FT_GlyphSlotRec for the publicly accessible glyph fields.

-
-
-
- - -
[Index][TOC]
- -
-

FT_CharMap

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_CharMapRec_*  FT_CharMap;
-
-

-
-

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.

-

Each face object owns zero or more charmaps, but only one of them can be ‘active’ and used by FT_Get_Char_Index or FT_Load_Char.

-

The list of available charmaps in a face is available through the ‘face->num_charmaps’ and ‘face->charmaps’ fields of FT_FaceRec.

-

The currently active charmap is available as ‘face->charmap’. You should call FT_Set_Charmap to change it.

-

-
note
-

When a new face is created (either through FT_New_Face or FT_Open_Face), the library looks for a Unicode charmap within the list and automatically activates it.

-
-
also
-

See FT_CharMapRec for the publicly accessible fields of a given character map.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Encoding

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef enum  FT_Encoding_
-  {
-    FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ),
-
-    FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
-    FT_ENC_TAG( FT_ENCODING_UNICODE,   'u', 'n', 'i', 'c' ),
-
-    FT_ENC_TAG( FT_ENCODING_SJIS,    's', 'j', 'i', 's' ),
-    FT_ENC_TAG( FT_ENCODING_GB2312,  'g', 'b', ' ', ' ' ),
-    FT_ENC_TAG( FT_ENCODING_BIG5,    'b', 'i', 'g', '5' ),
-    FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
-    FT_ENC_TAG( FT_ENCODING_JOHAB,   'j', 'o', 'h', 'a' ),
-
-    /* for backwards compatibility */
-    FT_ENCODING_MS_SJIS    = FT_ENCODING_SJIS,
-    FT_ENCODING_MS_GB2312  = FT_ENCODING_GB2312,
-    FT_ENCODING_MS_BIG5    = FT_ENCODING_BIG5,
-    FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
-    FT_ENCODING_MS_JOHAB   = FT_ENCODING_JOHAB,
-
-    FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT,   'A', 'D', 'B', 'E' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM,   'A', 'D', 'B', 'C' ),
-    FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1,  'l', 'a', 't', '1' ),
-
-    FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ),
-
-    FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' )
-
-  } FT_Encoding;
-
-

-
-

An enumeration used to specify character sets supported by charmaps. Used in the FT_Select_Charmap API function.

-

-
note
-

Despite the name, this enumeration lists specific character repertories (i.e., charsets), and not text encoding methods (e.g., UTF-8, UTF-16, etc.).

-

Other encodings might be defined in the future.

-
-
values
-

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FT_ENCODING_NONE -

The encoding value 0 is reserved.

-
FT_ENCODING_UNICODE -

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.

-

For example, if you want to access Unicode value U+1F028 (and the font contains it), use value 0x1F028 as the input value for FT_Get_Char_Index.

-
FT_ENCODING_MS_SYMBOL -

Corresponds to the Microsoft Symbol encoding, used to encode mathematical symbols in the 32..255 character code range. For more information, see ‘http://www.ceviz.net/symbol.htm’.

-
FT_ENCODING_SJIS -

Corresponds to Japanese SJIS encoding. More info at at ‘http://langsupport.japanreference.com/encoding.shtml’. See note on multi-byte encodings below.

-
FT_ENCODING_GB2312 -

Corresponds to an encoding system for Simplified Chinese as used used in mainland China.

-
FT_ENCODING_BIG5 -

Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.

-
FT_ENCODING_WANSUNG -

Corresponds to the Korean encoding system known as Wansung. For more information see ‘http://www.microsoft.com/typography/unicode/949.txt’.

-
FT_ENCODING_JOHAB -

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.

-
FT_ENCODING_ADOBE_LATIN_1
-

Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It is limited to 256 character codes.

-
FT_ENCODING_ADOBE_STANDARD
-

Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

-
FT_ENCODING_ADOBE_EXPERT
-

Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

-
FT_ENCODING_ADOBE_CUSTOM
-

Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF fonts. It is limited to 256 character codes.

-
FT_ENCODING_APPLE_ROMAN
-

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.

-
FT_ENCODING_OLD_LATIN_2
-

This value is deprecated and was never used nor reported by FreeType. Don't use or test for it.

-
FT_ENCODING_MS_SJIS -

Same as FT_ENCODING_SJIS. Deprecated.

-
FT_ENCODING_MS_GB2312 -

Same as FT_ENCODING_GB2312. Deprecated.

-
FT_ENCODING_MS_BIG5 -

Same as FT_ENCODING_BIG5. Deprecated.

-
FT_ENCODING_MS_WANSUNG -

Same as FT_ENCODING_WANSUNG. Deprecated.

-
FT_ENCODING_MS_JOHAB -

Same as FT_ENCODING_JOHAB. Deprecated.

-
-
-
note
-

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.

-

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 FT_Get_BDF_Charset_ID 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.

-

FT_ENCODING_NONE is always set (with a single exception) by the winfonts driver. Use FT_Get_WinFNT_Header and examine the ‘charset’ field of the FT_WinFNT_HeaderRec structure to find out which encoding is really present. For example, FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for Russian).

-

FT_ENCODING_NONE is set if ‘platform_id’ is TT_PLATFORM_MACINTOSH and ‘encoding_id’ is not TT_MAC_ID_ROMAN (otherwise it is set to FT_ENCODING_APPLE_ROMAN).

-

If ‘platform_id’ is TT_PLATFORM_MACINTOSH, use the function FT_Get_CMap_Language_ID to query the Mac language ID which may be needed to be able to distinguish Apple encoding variants. See

-

http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT

-

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 TT_MAC_ID_ROMAN and the language ID (minus 1) is ‘TT_MAC_LANGID_GREEK’, it is the Greek encoding, not Roman. TT_MAC_ID_ARABIC with ‘TT_MAC_LANGID_FARSI’ means the Farsi variant the Arabic encoding.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Metrics

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_Glyph_Metrics_
-  {
-    FT_Pos  width;
-    FT_Pos  height;
-
-    FT_Pos  horiBearingX;
-    FT_Pos  horiBearingY;
-    FT_Pos  horiAdvance;
-
-    FT_Pos  vertBearingX;
-    FT_Pos  vertBearingY;
-    FT_Pos  vertAdvance;
-
-  } FT_Glyph_Metrics;
-
-

-
-

A structure used to model the metrics of a single glyph. The values are expressed in 26.6 fractional pixel format; if the flag FT_LOAD_NO_SCALE has been used while loading the glyph, values are expressed in font units instead.

-

-
fields
-

- - - - - - - - - -
width -

The glyph's width.

-
height -

The glyph's height.

-
horiBearingX -

Left side bearing for horizontal layout.

-
horiBearingY -

Top side bearing for horizontal layout.

-
horiAdvance -

Advance width for horizontal layout.

-
vertBearingX -

Left side bearing for vertical layout.

-
vertBearingY -

Top side bearing for vertical layout. Larger positive values mean further below the vertical glyph origin.

-
vertAdvance -

Advance height for vertical layout. Positive values mean the glyph has a positive advance downward.

-
-
-
note
-

If not disabled with FT_LOAD_NO_HINTING, the values represent dimensions of the hinted glyph (in case hinting is applicable).

-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Size

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_Bitmap_Size_
-  {
-    FT_Short  height;
-    FT_Short  width;
-
-    FT_Pos    size;
-
-    FT_Pos    x_ppem;
-    FT_Pos    y_ppem;
-
-  } FT_Bitmap_Size;
-
-

-
-

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 FT_Face.

-

-
fields
-

- - - - - - -
height -

The vertical distance, in pixels, between two consecutive baselines. It is always positive.

-
width -

The average width, in pixels, of all glyphs in the strike.

-
size -

The nominal size of the strike in 26.6 fractional points. This field is not very useful.

-
x_ppem -

The horizontal ppem (nominal width) in 26.6 fractional pixels.

-
y_ppem -

The vertical ppem (nominal height) in 26.6 fractional pixels.

-
-
-
note
-

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.

-

TrueType embedded bitmaps: ‘size’, ‘width’, and ‘height’ values are not contained in the bitmap strike itself. They are computed from the global font parameters.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Module

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_ModuleRec_*  FT_Module;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Driver

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_DriverRec_*  FT_Driver;
-
-

-
-

A handle to a given FreeType font driver object. Each font driver is a special module capable of creating faces from font files.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Renderer

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_RendererRec_*  FT_Renderer;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ENC_TAG

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#ifndef FT_ENC_TAG
-#define FT_ENC_TAG( value, a, b, c, d )         \
-          value = ( ( (FT_UInt32)(a) << 24 ) |  \
-                    ( (FT_UInt32)(b) << 16 ) |  \
-                    ( (FT_UInt32)(c) <<  8 ) |  \
-                      (FT_UInt32)(d)         )
-
-#endif /* FT_ENC_TAG */
-
-

-
-

This macro converts four-letter tags into an unsigned long. It is used to define ‘encoding’ identifiers (see FT_Encoding).

-

-
note
-

Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

-
-  #define FT_ENC_TAG( value, a, b, c, d )  value                   
-
-

to get a simple enumeration without assigning special numbers.

-
-
-
- - -
[Index][TOC]
- -
-

ft_encoding_xxx

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define ft_encoding_none            FT_ENCODING_NONE
-#define ft_encoding_unicode         FT_ENCODING_UNICODE
-#define ft_encoding_symbol          FT_ENCODING_MS_SYMBOL
-#define ft_encoding_latin_1         FT_ENCODING_ADOBE_LATIN_1
-#define ft_encoding_latin_2         FT_ENCODING_OLD_LATIN_2
-#define ft_encoding_sjis            FT_ENCODING_SJIS
-#define ft_encoding_gb2312          FT_ENCODING_GB2312
-#define ft_encoding_big5            FT_ENCODING_BIG5
-#define ft_encoding_wansung         FT_ENCODING_WANSUNG
-#define ft_encoding_johab           FT_ENCODING_JOHAB
-
-#define ft_encoding_adobe_standard  FT_ENCODING_ADOBE_STANDARD
-#define ft_encoding_adobe_expert    FT_ENCODING_ADOBE_EXPERT
-#define ft_encoding_adobe_custom    FT_ENCODING_ADOBE_CUSTOM
-#define ft_encoding_apple_roman     FT_ENCODING_APPLE_ROMAN
-
-

-
-

These constants are deprecated; use the corresponding FT_Encoding values instead.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CharMapRec

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_CharMapRec_
-  {
-    FT_Face      face;
-    FT_Encoding  encoding;
-    FT_UShort    platform_id;
-    FT_UShort    encoding_id;
-
-  } FT_CharMapRec;
-
-

-
-

The base charmap structure.

-

-
fields
-

- - - - - -
face -

A handle to the parent face object.

-
encoding -

An FT_Encoding tag identifying the charmap. Use this with FT_Select_Charmap.

-
platform_id -

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.

-
encoding_id -

A platform specific encoding number. This also comes from the TrueType specification and should be emulated similarly.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_Internal

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_Face_InternalRec_*  FT_Face_Internal;
-
-

-
-

An opaque handle to an ‘FT_Face_InternalRec’ structure, used to model private data of a given FT_Face object.

-

This structure might change between releases of FreeType 2 and is not generally available to client applications.

-

-
-
- - -
[Index][TOC]
- -
-

FT_FaceRec

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_FaceRec_
-  {
-    FT_Long           num_faces;
-    FT_Long           face_index;
-
-    FT_Long           face_flags;
-    FT_Long           style_flags;
-
-    FT_Long           num_glyphs;
-
-    FT_String*        family_name;
-    FT_String*        style_name;
-
-    FT_Int            num_fixed_sizes;
-    FT_Bitmap_Size*   available_sizes;
-
-    FT_Int            num_charmaps;
-    FT_CharMap*       charmaps;
-
-    FT_Generic        generic;
-
-    /*# The following member variables (down to `underline_thickness') */
-    /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
-    /*# for bitmap fonts.                                              */
-    FT_BBox           bbox;
-
-    FT_UShort         units_per_EM;
-    FT_Short          ascender;
-    FT_Short          descender;
-    FT_Short          height;
-
-    FT_Short          max_advance_width;
-    FT_Short          max_advance_height;
-
-    FT_Short          underline_position;
-    FT_Short          underline_thickness;
-
-    FT_GlyphSlot      glyph;
-    FT_Size           size;
-    FT_CharMap        charmap;
-
-    /*@private begin */
-
-    FT_Driver         driver;
-    FT_Memory         memory;
-    FT_Stream         stream;
-
-    FT_ListRec        sizes_list;
-
-    FT_Generic        autohint;   /* face-specific auto-hinter data */
-    void*             extensions; /* unused                         */
-
-    FT_Face_Internal  internal;
-
-    /*@private end */
-
-  } FT_FaceRec;
-
-

-
-

FreeType root face class structure. A face object models a typeface in a font file.

-

-
fields
-

- - - - - - - - - - - - - - - - - - - - - - - - - -
num_faces -

The number of faces in the font file. Some font formats can have multiple faces in a font file.

-
face_index -

The index of the face in the font file. It is set to 0 if there is only one face in the font file.

-
face_flags -

A set of bit flags that give important information about the face; see FT_FACE_FLAG_XXX for the details.

-
style_flags -

A set of bit flags indicating the style of the face; see FT_STYLE_FLAG_XXX for the details.

-
num_glyphs -

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.

-

For CID-keyed fonts, this value gives the highest CID used in the font.

-
family_name -

The face's family name. This is an ASCII string, usually in English, which 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).

-
style_name -

The face's style name. This is an ASCII string, usually in English, which 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.

-
num_fixed_sizes -

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.

-
available_sizes -

An array of FT_Bitmap_Size for all bitmap strikes in the face. It is set to NULL if there is no bitmap strike.

-
num_charmaps -

The number of charmaps in the face.

-
charmaps -

An array of the charmaps of the face.

-
generic -

A field reserved for client uses. See the FT_Generic type description.

-
bbox -

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.

-

Note that the bounding box might be off by (at least) one pixel for hinted fonts. See FT_Size_Metrics for further discussion.

-
units_per_EM -

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.

-
ascender -

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.

-
descender -

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.

-
height -

This value is the vertical distance between two consecutive baselines, expressed in font units. It is always positive. Only relevant for scalable formats.

-

If you want the global glyph height, use ‘ascender - descender’.

-
max_advance_width -

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.

-
max_advance_height -

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.

-
underline_position -

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.

-
underline_thickness -

The thickness, in font units, of the underline for this face. Only relevant for scalable formats.

-
glyph -

The face's associated glyph slot(s).

-
size -

The current active size for this face.

-
charmap -

The current active charmap for this face.

-
-
-
note
-

Fields may be changed after a call to FT_Attach_File or FT_Attach_Stream.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FACE_FLAG_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_FACE_FLAG_SCALABLE          ( 1L <<  0 )
-#define FT_FACE_FLAG_FIXED_SIZES       ( 1L <<  1 )
-#define FT_FACE_FLAG_FIXED_WIDTH       ( 1L <<  2 )
-#define FT_FACE_FLAG_SFNT              ( 1L <<  3 )
-#define FT_FACE_FLAG_HORIZONTAL        ( 1L <<  4 )
-#define FT_FACE_FLAG_VERTICAL          ( 1L <<  5 )
-#define FT_FACE_FLAG_KERNING           ( 1L <<  6 )
-#define FT_FACE_FLAG_FAST_GLYPHS       ( 1L <<  7 )
-#define FT_FACE_FLAG_MULTIPLE_MASTERS  ( 1L <<  8 )
-#define FT_FACE_FLAG_GLYPH_NAMES       ( 1L <<  9 )
-#define FT_FACE_FLAG_EXTERNAL_STREAM   ( 1L << 10 )
-#define FT_FACE_FLAG_HINTER            ( 1L << 11 )
-#define FT_FACE_FLAG_CID_KEYED         ( 1L << 12 )
-#define FT_FACE_FLAG_TRICKY            ( 1L << 13 )
-
-

-
-

A list of bit flags used in the ‘face_flags’ field of the FT_FaceRec structure. They inform client applications of properties of the corresponding face.

-

-
values
-

- - - - - - - - - - - - - - - - - - - - - - -
FT_FACE_FLAG_SCALABLE -

Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES set.

-
FT_FACE_FLAG_FIXED_SIZES
-

Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of FT_FaceRec.

-
FT_FACE_FLAG_FIXED_WIDTH
-

Indicates that the face contains fixed-width characters (like Courier, Lucido, MonoType, etc.).

-
FT_FACE_FLAG_SFNT -

Indicates that the face uses the ‘sfnt’ storage scheme. For now, this means TrueType and OpenType.

-
FT_FACE_FLAG_HORIZONTAL
-

Indicates that the face contains horizontal glyph metrics. This should be set for all common formats.

-
FT_FACE_FLAG_VERTICAL -

Indicates that the face contains vertical glyph metrics. This is only available in some formats, not all of them.

-
FT_FACE_FLAG_KERNING -

Indicates that the face contains kerning information. If set, the kerning distance can be retrieved through the function FT_Get_Kerning. 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).

-
FT_FACE_FLAG_FAST_GLYPHS
-

THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT.

-
FT_FACE_FLAG_MULTIPLE_MASTERS
-

Indicates that the font contains multiple masters and is capable of interpolating between them. See the multiple-masters specific API for details.

-
FT_FACE_FLAG_GLYPH_NAMES
-

Indicates that the font contains glyph names that can be retrieved through FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name tables. Use the function FT_Has_PS_Glyph_Names when needed.

-
FT_FACE_FLAG_EXTERNAL_STREAM
-

Used internally by FreeType to indicate that a face's stream was provided by the client application and should not be destroyed when FT_Done_Face is called. Don't read or test this flag.

-
FT_FACE_FLAG_HINTER -

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.

-
FT_FACE_FLAG_CID_KEYED -

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.

-

Note that CID-keyed fonts which 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.

-
FT_FACE_FLAG_TRICKY -

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’ which uses TrueType bytecode instructions to move and scale all of its subglyphs.

-

It is not possible to autohint such fonts using FT_LOAD_FORCE_AUTOHINT; it will also ignore FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING and FT_LOAD_NO_AUTOHINT to really disable hinting; however, you probably never want this except for demonstration purposes.

-

Currently, there are about a dozen TrueType fonts in the list of tricky fonts; they are hard-coded in file ‘ttobjs.c’.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_HAS_HORIZONTAL

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_HORIZONTAL( face ) \
-          ( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
-
-

-
-

A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).

-

-
also
-

FT_HAS_VERTICAL can be used to check for vertical metrics.

-
-
-
- - -
[Index][TOC]
- -
-

FT_HAS_VERTICAL

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_VERTICAL( face ) \
-          ( face->face_flags & FT_FACE_FLAG_VERTICAL )
-
-

-
-

A macro that returns true whenever a face object contains real vertical metrics (and not only synthesized ones).

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_KERNING

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_KERNING( face ) \
-          ( face->face_flags & FT_FACE_FLAG_KERNING )
-
-

-
-

A macro that returns true whenever a face object contains kerning data that can be accessed with FT_Get_Kerning.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_SCALABLE

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_IS_SCALABLE( face ) \
-          ( face->face_flags & FT_FACE_FLAG_SCALABLE )
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_SFNT

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_IS_SFNT( face ) \
-          ( face->face_flags & FT_FACE_FLAG_SFNT )
-
-

-
-

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.

-

If this macro is true, all functions defined in FT_SFNT_NAMES_H and FT_TRUETYPE_TABLES_H are available.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_FIXED_WIDTH

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_IS_FIXED_WIDTH( face ) \
-          ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
-
-

-
-

A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_FIXED_SIZES

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_FIXED_SIZES( face ) \
-          ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
-
-

-
-

A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the FT_FaceRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_FAST_GLYPHS

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_FAST_GLYPHS( face )  0
-
-

-
-

Deprecated.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_GLYPH_NAMES

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_GLYPH_NAMES( face ) \
-          ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
-
-

-
-

A macro that returns true whenever a face object contains some glyph names that can be accessed through FT_Get_Glyph_Name.

-

-
-
- - -
[Index][TOC]
- -
-

FT_HAS_MULTIPLE_MASTERS

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_HAS_MULTIPLE_MASTERS( face ) \
-          ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
-
-

-
-

A macro that returns true whenever a face object contains some multiple masters. The functions provided by FT_MULTIPLE_MASTERS_H are then available to choose the exact design you want.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_CID_KEYED

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_IS_CID_KEYED( face ) \
-          ( face->face_flags & FT_FACE_FLAG_CID_KEYED )
-
-

-
-

A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of FT_FACE_FLAG_CID_KEYED for more details.

-

If this macro is true, all functions defined in FT_CID_H are available.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IS_TRICKY

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_IS_TRICKY( face ) \
-          ( face->face_flags & FT_FACE_FLAG_TRICKY )
-
-

-
-

A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of FT_FACE_FLAG_TRICKY for more details.

-

-
-
- - -
[Index][TOC]
- -
-

FT_STYLE_FLAG_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_STYLE_FLAG_ITALIC  ( 1 << 0 )
-#define FT_STYLE_FLAG_BOLD    ( 1 << 1 )
-
-

-
-

A list of bit-flags used to indicate the style of a given face. These are used in the ‘style_flags’ field of FT_FaceRec.

-

-
values
-

- - - -
FT_STYLE_FLAG_ITALIC -

Indicates that a given face style is italic or oblique.

-
FT_STYLE_FLAG_BOLD -

Indicates that a given face is bold.

-
-
-
note
-

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).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_Internal

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
-
-

-
-

An opaque handle to an ‘FT_Size_InternalRec’ structure, used to model private data of a given FT_Size object.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Size_Metrics

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_Size_Metrics_
-  {
-    FT_UShort  x_ppem;      /* horizontal pixels per EM               */
-    FT_UShort  y_ppem;      /* vertical pixels per EM                 */
-
-    FT_Fixed   x_scale;     /* scaling values used to convert font    */
-    FT_Fixed   y_scale;     /* units to 26.6 fractional pixels        */
-
-    FT_Pos     ascender;    /* ascender in 26.6 frac. pixels          */
-    FT_Pos     descender;   /* descender in 26.6 frac. pixels         */
-    FT_Pos     height;      /* text height in 26.6 frac. pixels       */
-    FT_Pos     max_advance; /* max horizontal advance, in 26.6 pixels */
-
-  } FT_Size_Metrics;
-
-

-
-

The size metrics structure gives the metrics of a size object.

-

-
fields
-

- - - - - - - - - -
x_ppem -

The width of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal width’.

-
y_ppem -

The height of the scaled EM square in pixels, hence the term ‘ppem’ (pixels per EM). It is also referred to as ‘nominal height’.

-
x_scale -

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.

-
y_scale -

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.

-
ascender -

The ascender in 26.6 fractional pixels. See FT_FaceRec for the details.

-
descender -

The descender in 26.6 fractional pixels. See FT_FaceRec for the details.

-
height -

The height in 26.6 fractional pixels. See FT_FaceRec for the details.

-
max_advance -

The maximum advance width in 26.6 fractional pixels. See FT_FaceRec for the details.

-
-
-
note
-

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 FT_FaceRec.

-

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!

-

Indeed, the only way to get the exact metrics is to render all glyphs. As this would be a definite performance hit, it is up to client applications to perform such computations.

-

The FT_Size_Metrics structure is valid for bitmap fonts also.

-
-
-
- - -
[Index][TOC]
- -
-

FT_SizeRec

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_SizeRec_
-  {
-    FT_Face           face;      /* parent face object              */
-    FT_Generic        generic;   /* generic pointer for client uses */
-    FT_Size_Metrics   metrics;   /* size metrics                    */
-    FT_Size_Internal  internal;
-
-  } FT_SizeRec;
-
-

-
-

FreeType root size class structure. A size object models a face object at a given size.

-

-
fields
-

- - - - -
face -

Handle to the parent face object.

-
generic -

A typeless pointer, which is 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.

-
metrics -

Metrics for this size object. This field is read-only.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_SubGlyph

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_SubGlyphRec_*  FT_SubGlyph;
-
-

-
-

The subglyph structure is an internal object used to describe subglyphs (for example, in the case of composites).

-

-
note
-

The subglyph implementation is not part of the high-level API, hence the forward structure declaration.

-

You can however retrieve subglyph information with FT_Get_SubGlyph_Info.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Slot_Internal

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
-
-

-
-

An opaque handle to an ‘FT_Slot_InternalRec’ structure, used to model private data of a given FT_GlyphSlot object.

-

-
-
- - -
[Index][TOC]
- -
-

FT_GlyphSlotRec

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_GlyphSlotRec_
-  {
-    FT_Library        library;
-    FT_Face           face;
-    FT_GlyphSlot      next;
-    FT_UInt           reserved;       /* retained for binary compatibility */
-    FT_Generic        generic;
-
-    FT_Glyph_Metrics  metrics;
-    FT_Fixed          linearHoriAdvance;
-    FT_Fixed          linearVertAdvance;
-    FT_Vector         advance;
-
-    FT_Glyph_Format   format;
-
-    FT_Bitmap         bitmap;
-    FT_Int            bitmap_left;
-    FT_Int            bitmap_top;
-
-    FT_Outline        outline;
-
-    FT_UInt           num_subglyphs;
-    FT_SubGlyph       subglyphs;
-
-    void*             control_data;
-    long              control_len;
-
-    FT_Pos            lsb_delta;
-    FT_Pos            rsb_delta;
-
-    void*             other;
-
-    FT_Slot_Internal  internal;
-
-  } FT_GlyphSlotRec;
-
-

-
-

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.

-

-
fields
-

- - - - - - - - - - - - - - - - - - - - - -
library -

A handle to the FreeType library instance this slot belongs to.

-
face -

A handle to the parent face object.

-
next -

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.

-
generic -

A typeless pointer which is 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.

-
metrics -

The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the FT_Load_Glyph API function) and can be expressed either in 26.6 fractional pixels or font units.

-

Note that even when the glyph image is transformed, the metrics are not.

-
linearHoriAdvance -

The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

-
linearVertAdvance -

The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

-
advance -

This shorthand is, depending on FT_LOAD_IGNORE_TRANSFORM, the transformed advance width for the glyph (in 26.6 fractional pixel format). As specified with FT_LOAD_VERTICAL_LAYOUT, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.

-
format -

This field indicates the format of the image contained in the glyph slot. Typically FT_GLYPH_FORMAT_BITMAP, FT_GLYPH_FORMAT_OUTLINE, or FT_GLYPH_FORMAT_COMPOSITE, but others are possible.

-
bitmap -

This field is used as a bitmap descriptor when the slot format is FT_GLYPH_FORMAT_BITMAP. Note that the address and content of the bitmap buffer can 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_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 positive.

-
outline -

The outline descriptor for the current glyph image if its format is FT_GLYPH_FORMAT_OUTLINE. Once a glyph is loaded, ‘outline’ can be transformed, distorted, embolded, etc. However, it must not be freed.

-
num_subglyphs -

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 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’ elements in there. Currently internal to FreeType.

-
control_data -

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.

-
control_len -

This is the length in bytes of the control data.

-
other -

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.

-
lsb_delta -

The difference between hinted and unhinted left side bearing while autohinting is active. Zero otherwise.

-
rsb_delta -

The difference between hinted and unhinted right side bearing while autohinting is active. Zero otherwise.

-
-
-
note
-

If FT_Load_Glyph is called with default flags (see FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in its native format (e.g., an outline glyph for TrueType and Type 1 formats).

-

This image can later be converted into a bitmap by calling FT_Render_Glyph. This function finds the current renderer for the native image's format, then invokes it.

-

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’.

-

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 FT_GLYPH_FORMAT_BITMAP.

-
-
note
-

Here a small pseudo code fragment which shows how to use ‘lsb_delta’ and ‘rsb_delta’:

-
-  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                                                           
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Init_FreeType

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Init_FreeType( FT_Library  *alibrary );
-
-

-
-

Initialize a new FreeType library object. The set of modules that are registered by this function is determined at build time.

-

-
output
-

- - -
alibrary -

A handle to a new library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

In case you want to provide your own memory allocating routines, use FT_New_Library instead, followed by a call to FT_Add_Default_Modules (or a series of calls to FT_Add_Module).

-

For multi-threading applications each thread should have its own FT_Library object.

-

If you need reference-counting (cf. FT_Reference_Library), use FT_New_Library and FT_Done_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_FreeType

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Done_FreeType( FT_Library  library );
-
-

-
-

Destroy a given FreeType library object and all of its children, including resources, drivers, faces, sizes, etc.

-

-
input
-

- - -
library -

A handle to the target library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OPEN_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_OPEN_MEMORY    0x1
-#define FT_OPEN_STREAM    0x2
-#define FT_OPEN_PATHNAME  0x4
-#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 */
-
-

-
-

A list of bit-field constants used within the ‘flags’ field of the FT_Open_Args structure.

-

-
values
-

- - - - - - - - - - - -
FT_OPEN_MEMORY -

This is a memory-based stream.

-
FT_OPEN_STREAM -

Copy the stream from the ‘stream’ field.

-
FT_OPEN_PATHNAME -

Create a new input stream from a C path name.

-
FT_OPEN_DRIVER -

Use the ‘driver’ field.

-
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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Parameter

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_Parameter_
-  {
-    FT_ULong    tag;
-    FT_Pointer  data;
-
-  } FT_Parameter;
-
-

-
-

A simple structure used to pass more or less generic parameters to FT_Open_Face.

-

-
fields
-

- - - -
tag -

A four-byte identification tag.

-
data -

A pointer to the parameter data.

-
-
-
note
-

The ID and function of parameters are driver-specific. See the various FT_PARAM_TAG_XXX flags for more information.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Open_Args

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_Open_Args_
-  {
-    FT_UInt         flags;
-    const FT_Byte*  memory_base;
-    FT_Long         memory_size;
-    FT_String*      pathname;
-    FT_Stream       stream;
-    FT_Module       driver;
-    FT_Int          num_params;
-    FT_Parameter*   params;
-
-  } FT_Open_Args;
-
-

-
-

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 FT_Open_Face and FT_Attach_Stream.

-

-
fields
-

- - - - - - - - - -
flags -

A set of bit flags indicating how to use the structure.

-
memory_base -

The first byte of the file in memory.

-
memory_size -

The size in bytes of the file in memory.

-
pathname -

A pointer to an 8-bit file pathname.

-
stream -

A handle to a source stream object.

-
driver -

This field is exclusively used by FT_Open_Face; 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.

-
num_params -

The number of extra parameters.

-
params -

Extra parameters passed to the font driver when opening a new face.

-
-
-
note
-

The stream type is determined by the contents of ‘flags’ which are tested in the following order by FT_Open_Face:

-

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 custom input stream ‘stream’ is used.

-

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 open the file with the driver whose handler is in ‘driver’.

-

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 as ‘const’; this is missing for API backwards compatibility. In other words, applications should treat them as read-only.

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Face

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Face( FT_Library   library,
-               const char*  filepathname,
-               FT_Long      face_index,
-               FT_Face     *aface );
-
-

-
-

This function calls FT_Open_Face to open a font by its pathname.

-

-
inout
-

- - -
library -

A handle to the library resource.

-
-
-
input
-

- - - -
pathname -

A path to the font file.

-
face_index -

The index of the face within the font. The first face has index 0.

-
-
-
output
-

- - -
aface -

A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See FT_Open_Face for more details.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

Use FT_Done_Face to destroy the created FT_Face object (along with its slot and sizes).

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Memory_Face

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Memory_Face( FT_Library      library,
-                      const FT_Byte*  file_base,
-                      FT_Long         file_size,
-                      FT_Long         face_index,
-                      FT_Face        *aface );
-
-

-
-

This function calls FT_Open_Face to open a font which has been loaded into memory.

-

-
inout
-

- - -
library -

A handle to the library resource.

-
-
-
input
-

- - - - -
file_base -

A pointer to the beginning of the font data.

-
file_size -

The size of the memory chunk used by the font data.

-
face_index -

The index of the face within the font. The first face has index 0.

-
-
-
output
-

- - -
aface -

A handle to a new face object. If ‘face_index’ is greater than or equal to zero, it must be non-NULL. See FT_Open_Face for more details.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You must not deallocate the memory before calling FT_Done_Face.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Open_Face

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Open_Face( FT_Library           library,
-                const FT_Open_Args*  args,
-                FT_Long              face_index,
-                FT_Face             *aface );
-
-

-
-

Create a face object from a given resource described by FT_Open_Args.

-

-
inout
-

- - -
library -

A handle to the library resource.

-
-
-
input
-

- - - -
args -

A pointer to an ‘FT_Open_Args’ structure which must be filled by the caller.

-
face_index -

The index of the face within the font. The first face has index 0.

-
-
-
output
-

- - -
aface -

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.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

Unlike FreeType 1.x, this function automatically creates a glyph slot for the face object which can be accessed directly through ‘face->glyph’.

-

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’ which gives the number of faces within the font file. After examination, the returned FT_Face structure should be deallocated with a call to FT_Done_Face.

-

Each new face object created with this function also owns a default FT_Size object, accessible as ‘face->size’.

-

One FT_Library instance can have multiple face objects, this is, FT_Open_Face and its siblings can be called multiple times using the same ‘library’ argument.

-

See the discussion of reference counters in the description of FT_Reference_Face.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Attach_File

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Attach_File( FT_Face      face,
-                  const char*  filepathname );
-
-

-
-

This function calls FT_Attach_Stream to attach a file.

-

-
inout
-

- - -
face -

The target face object.

-
-
-
input
-

- - -
filepathname -

The pathname.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Attach_Stream

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Attach_Stream( FT_Face        face,
-                    FT_Open_Args*  parameters );
-
-

-
-

‘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.

-

-
inout
-

- - -
face -

The target face object.

-
-
-
input
-

- - -
parameters -

A pointer to FT_Open_Args which must be filled by the caller.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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).

-

Client applications are expected to know what they are doing when invoking this function. Most drivers simply do not implement file attachments.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Reference_Face

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Reference_Face( FT_Face  face );
-
-

-
-

A counter gets initialized to 1 at the time an FT_Face structure is created. This function increments the counter. FT_Done_Face then only destroys a face if the counter is 1, otherwise it simply decrements the counter.

-

This function helps in managing life-cycles of structures which reference FT_Face objects.

-

-
input
-

- - -
face -

A handle to a target face object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
since
-

2.4.2

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Face

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Done_Face( FT_Face  face );
-
-

-
-

Discard a given face object, as well as all of its child slots and sizes.

-

-
input
-

- - -
face -

A handle to a target face object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

See the discussion of reference counters in the description of FT_Reference_Face.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Select_Size

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Select_Size( FT_Face  face,
-                  FT_Int   strike_index );
-
-

-
-

Select a bitmap strike.

-

-
inout
-

- - -
face -

A handle to a target face object.

-
-
-
input
-

- - -
strike_index -

The index of the bitmap strike in the ‘available_sizes’ field of FT_FaceRec structure.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_Request_Type

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef enum  FT_Size_Request_Type_
-  {
-    FT_SIZE_REQUEST_TYPE_NOMINAL,
-    FT_SIZE_REQUEST_TYPE_REAL_DIM,
-    FT_SIZE_REQUEST_TYPE_BBOX,
-    FT_SIZE_REQUEST_TYPE_CELL,
-    FT_SIZE_REQUEST_TYPE_SCALES,
-
-    FT_SIZE_REQUEST_TYPE_MAX
-
-  } FT_Size_Request_Type;
-
-

-
-

An enumeration type that lists the supported size request types.

-

-
values
-

- - - - - - - - - - - -
FT_SIZE_REQUEST_TYPE_NOMINAL
-

The nominal size. The ‘units_per_EM’ field of FT_FaceRec is used to determine both scaling values.

-
FT_SIZE_REQUEST_TYPE_REAL_DIM
-

The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of FT_FaceRec are used to determine both scaling values.

-
FT_SIZE_REQUEST_TYPE_BBOX
-

The font bounding box. The width and height of the ‘bbox’ field of FT_FaceRec are used to determine the horizontal and vertical scaling value, respectively.

-
FT_SIZE_REQUEST_TYPE_CELL
-

The ‘max_advance_width’ field of FT_FaceRec is used to determine the horizontal scaling value; the vertical scaling value is determined the same way as FT_SIZE_REQUEST_TYPE_REAL_DIM 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.

-
FT_SIZE_REQUEST_TYPE_SCALES
-

Specify the scaling values directly.

-
-
-
note
-

The above descriptions only apply to scalable formats. For bitmap formats, the behaviour is up to the driver.

-

See the note section of FT_Size_Metrics if you wonder how size requesting relates to scaling values.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_RequestRec

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct  FT_Size_RequestRec_
-  {
-    FT_Size_Request_Type  type;
-    FT_Long               width;
-    FT_Long               height;
-    FT_UInt               horiResolution;
-    FT_UInt               vertResolution;
-
-  } FT_Size_RequestRec;
-
-

-
-

A structure used to model a size request.

-

-
fields
-

- - - - - - -
type -

See FT_Size_Request_Type.

-
width -

The desired width.

-
height -

The desired height.

-
horiResolution -

The horizontal resolution. If set to zero, ‘width’ is treated as a 26.6 fractional pixel value.

-
vertResolution -

The vertical resolution. If set to zero, ‘height’ is treated as a 26.6 fractional pixel value.

-
-
-
note
-

If ‘width’ is zero, then the horizontal scaling value is set equal to the vertical scaling value, and vice versa.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Size_Request

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef struct FT_Size_RequestRec_  *FT_Size_Request;
-
-

-
-

A handle to a size request structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Request_Size

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Request_Size( FT_Face          face,
-                   FT_Size_Request  req );
-
-

-
-

Resize the scale of the active FT_Size object in a face.

-

-
inout
-

- - -
face -

A handle to a target face object.

-
-
-
input
-

- - -
req -

A pointer to a FT_Size_RequestRec.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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 FT_Select_Size instead in that case.

-

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 ‘http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html’

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Char_Size

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Char_Size( FT_Face     face,
-                    FT_F26Dot6  char_width,
-                    FT_F26Dot6  char_height,
-                    FT_UInt     horz_resolution,
-                    FT_UInt     vert_resolution );
-
-

-
-

This function calls FT_Request_Size to request the nominal size (in points).

-

-
inout
-

- - -
face -

A handle to a target face object.

-
-
-
input
-

- - - - - -
char_width -

The nominal width, in 26.6 fractional points.

-
char_height -

The nominal height, in 26.6 fractional points.

-
horz_resolution -

The horizontal resolution in dpi.

-
vert_resolution -

The vertical resolution in dpi.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If either the character width or height is zero, it is set equal to the other value.

-

If either the horizontal or vertical resolution is zero, it is set equal to the other value.

-

A character width or height smaller than 1pt is set to 1pt; if both resolution values are zero, they are set to 72dpi.

-

Don't use this function if you are using the FreeType cache API.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Pixel_Sizes

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Pixel_Sizes( FT_Face  face,
-                      FT_UInt  pixel_width,
-                      FT_UInt  pixel_height );
-
-

-
-

This function calls FT_Request_Size to request the nominal size (in pixels).

-

-
inout
-

- - -
face -

A handle to the target face object.

-
-
-
input
-

- - - -
pixel_width -

The nominal width, in pixels.

-
pixel_height -

The nominal height, in pixels.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should not rely on the resulting glyphs matching, or being constrained, to this pixel size. Refer to FT_Request_Size to understand how requested sizes relate to actual sizes.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Load_Glyph

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Load_Glyph( FT_Face   face,
-                 FT_UInt   glyph_index,
-                 FT_Int32  load_flags );
-
-

-
-

A function used to load a single glyph into the glyph slot of a face object.

-

-
inout
-

- - -
face -

A handle to the target face object where the glyph is loaded.

-
-
-
input
-

- - - -
glyph_index -

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.

-
load_flags -

A flag indicating what to load for this glyph. The FT_LOAD_XXX 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).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The loaded glyph may be transformed. See FT_Set_Transform for the details.

-

For subsetted CID-keyed fonts, ‘FT_Err_Invalid_Argument’ is returned for invalid CID values (this is, for CID values which don't have a corresponding glyph in the font). See the discussion of the FT_FACE_FLAG_CID_KEYED flag for more details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Load_Char

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Load_Char( FT_Face   face,
-                FT_ULong  char_code,
-                FT_Int32  load_flags );
-
-

-
-

A function used to load a single glyph into the glyph slot of a face object, according to its character code.

-

-
inout
-

- - -
face -

A handle to a target face object where the glyph is loaded.

-
-
-
input
-

- - - -
char_code -

The glyph's character code, according to the current charmap used in the face.

-
load_flags -

A flag indicating what to load for this glyph. The FT_LOAD_XXX 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).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function simply calls FT_Get_Char_Index and FT_Load_Glyph.

-
-
-
- - -
[Index][TOC]
- -
-

FT_LOAD_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_LOAD_DEFAULT                      0x0
-#define FT_LOAD_NO_SCALE                     ( 1L << 0 )
-#define FT_LOAD_NO_HINTING                   ( 1L << 1 )
-#define FT_LOAD_RENDER                       ( 1L << 2 )
-#define FT_LOAD_NO_BITMAP                    ( 1L << 3 )
-#define FT_LOAD_VERTICAL_LAYOUT              ( 1L << 4 )
-#define FT_LOAD_FORCE_AUTOHINT               ( 1L << 5 )
-#define FT_LOAD_CROP_BITMAP                  ( 1L << 6 )
-#define FT_LOAD_PEDANTIC                     ( 1L << 7 )
-#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH  ( 1L << 9 )
-#define FT_LOAD_NO_RECURSE                   ( 1L << 10 )
-#define FT_LOAD_IGNORE_TRANSFORM             ( 1L << 11 )
-#define FT_LOAD_MONOCHROME                   ( 1L << 12 )
-#define FT_LOAD_LINEAR_DESIGN                ( 1L << 13 )
-#define FT_LOAD_NO_AUTOHINT                  ( 1L << 15 )
-  /* Bits 16..19 are used by `FT_LOAD_TARGET_' */
-#define FT_LOAD_COLOR                        ( 1L << 20 )
-
-

-
-

A list of bit-field constants used with FT_Load_Glyph to indicate what kind of operations to perform during glyph loading.

-

-
values
-

- - - - - - - - - - - - - - - - - - - - -
FT_LOAD_DEFAULT -

Corresponding to 0, this value is used as the default glyph load operation. In this case, the following happens:

-

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).

-

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).

-

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.

-
FT_LOAD_NO_SCALE -

Don't scale the loaded outline glyph but keep it in font units.

-

This flag implies FT_LOAD_NO_HINTING and FT_LOAD_NO_BITMAP, and unsets FT_LOAD_RENDER.

-

If the font is ‘tricky’ (see FT_FACE_FLAG_TRICKY 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’.

-
FT_LOAD_NO_HINTING -

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.

-

This flag is implied by FT_LOAD_NO_SCALE.

-
FT_LOAD_RENDER -

Call FT_Render_Glyph after the glyph is loaded. By default, the glyph is rendered in FT_RENDER_MODE_NORMAL mode. This can be overridden by FT_LOAD_TARGET_XXX or FT_LOAD_MONOCHROME.

-

This flag is unset by FT_LOAD_NO_SCALE.

-
FT_LOAD_NO_BITMAP -

Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag.

-

FT_LOAD_NO_SCALE always sets this flag.

-
FT_LOAD_VERTICAL_LAYOUT
-

Load the glyph for vertical text layout. In particular, the ‘advance’ value in the FT_GlyphSlotRec structure is set to the ‘vertAdvance’ value of the ‘metrics’ field.

-

In case FT_HAS_VERTICAL 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.

-
FT_LOAD_FORCE_AUTOHINT -

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 in fonts. By default, FreeType tries to handle broken fonts also.

-

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.

-
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.

-

This flag implies FT_LOAD_NO_SCALE and FT_LOAD_IGNORE_TRANSFORM.

-
FT_LOAD_IGNORE_TRANSFORM
-

Indicates that the transform matrix set by FT_Set_Transform should be ignored.

-
FT_LOAD_MONOCHROME -

This flag is used with FT_LOAD_RENDER 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.

-

Note that this has no effect on the hinting algorithm used. You should rather use FT_LOAD_TARGET_MONO so that the monochrome-optimized hinting algorithm is used.

-
FT_LOAD_LINEAR_DESIGN -

Indicates that the ‘linearHoriAdvance’ and ‘linearVertAdvance’ fields of FT_GlyphSlotRec should be kept in font units. See FT_GlyphSlotRec for details.

-
FT_LOAD_NO_AUTOHINT -

Disable auto-hinter. See also the note below.

-
FT_LOAD_COLOR -

This flag is used to request loading of color embedded-bitmap images. The resulting color bitmaps, if available, will have the FT_PIXEL_MODE_BGRA 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 FT_PIXEL_MODE_GRAY format.

-
-
-
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 disable hinting by setting FT_LOAD_NO_HINTING or change the precedence by setting FT_LOAD_FORCE_AUTOHINT. You can also set FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be used at all.

-

See the description of FT_FACE_FLAG_TRICKY for a special exception (affecting only a handful of Asian fonts).

-

Besides deciding which hinter to use, you can also decide which hinting algorithm to use. See FT_LOAD_TARGET_XXX for details.

-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_LOAD_TARGET_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_LOAD_TARGET_( x )   ( (FT_Int32)( (x) & 15 ) << 16 )
-
-#define FT_LOAD_TARGET_NORMAL  FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
-#define FT_LOAD_TARGET_LIGHT   FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
-#define FT_LOAD_TARGET_MONO    FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
-#define FT_LOAD_TARGET_LCD     FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
-#define FT_LOAD_TARGET_LCD_V   FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
-
-

-
-

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 FT_Load_Glyph.

-

Note that font's native hinters may ignore the hinting algorithm you have specified (e.g., the TrueType bytecode interpreter). You can set FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used.

-

Also note that FT_LOAD_TARGET_LIGHT is an exception, in that it always implies FT_LOAD_FORCE_AUTOHINT.

-

-
values
-

- - - - - - -
FT_LOAD_TARGET_NORMAL -

This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. For monochrome output, use FT_LOAD_TARGET_MONO instead.

-
FT_LOAD_TARGET_LIGHT -

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.

-

As a special exception, this target implies FT_LOAD_FORCE_AUTOHINT.

-
FT_LOAD_TARGET_MONO -

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.

-
FT_LOAD_TARGET_LCD -

A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD displays.

-
FT_LOAD_TARGET_LCD_V -

A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.

-
-
-
note
-

You should use only one of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.

-

If FT_LOAD_RENDER is also set, the glyph is rendered in the corresponding mode (i.e., the mode which matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies FT_LOAD_MONOCHROME.

-

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

-
-  FT_Load_Glyph( face, glyph_index,
-                 load_flags | FT_LOAD_TARGET_LIGHT );
-
-  FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD );
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_LOAD_TARGET_MODE

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
-
-

-
-

Return the FT_Render_Mode corresponding to a given FT_LOAD_TARGET_XXX value.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Set_Transform

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( void )
-  FT_Set_Transform( FT_Face     face,
-                    FT_Matrix*  matrix,
-                    FT_Vector*  delta );
-
-

-
-

A function used to set the transformation that is applied to glyph images when they are loaded into a glyph slot through FT_Load_Glyph.

-

-
inout
-

- - -
face -

A handle to the source face object.

-
-
-
input
-

- - - -
matrix -

A pointer to the transformation's 2x2 matrix. Use 0 for the identity matrix.

-
delta -

A pointer to the translation vector. Use 0 for the null vector.

-
-
-
note
-

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 FT_Set_Char_Size or FT_Set_Pixel_Sizes.

-

Note that this also transforms the ‘face.glyph.advance’ field, but not the values in ‘face.glyph.metrics’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Render_Mode

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef enum  FT_Render_Mode_
-  {
-    FT_RENDER_MODE_NORMAL = 0,
-    FT_RENDER_MODE_LIGHT,
-    FT_RENDER_MODE_MONO,
-    FT_RENDER_MODE_LCD,
-    FT_RENDER_MODE_LCD_V,
-
-    FT_RENDER_MODE_MAX
-
-  } FT_Render_Mode;
-
-

-
-

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.

-

For bitmap fonts and embedded bitmaps the ‘bitmap->pixel_mode’ field in the FT_GlyphSlotRec structure gives the format of the returned bitmap.

-

All modes except FT_RENDER_MODE_MONO use 256 levels of opacity.

-

-
values
-

- - - - - - -
FT_RENDER_MODE_NORMAL -

This is the default render mode; it corresponds to 8-bit anti-aliased bitmaps.

-
FT_RENDER_MODE_LIGHT -

This is equivalent to FT_RENDER_MODE_NORMAL. It is only defined as a separate value because render modes are also used indirectly to define hinting algorithm selectors. See FT_LOAD_TARGET_XXX for details.

-
FT_RENDER_MODE_MONO -

This mode corresponds to 1-bit bitmaps (with 2 levels of opacity).

-
FT_RENDER_MODE_LCD -

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 FT_PIXEL_MODE_LCD mode.

-
FT_RENDER_MODE_LCD_V -

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 FT_PIXEL_MODE_LCD_V mode.

-
-
-
note
-

The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be filtered to reduce color-fringes by using FT_Library_SetLcdFilter (not active in the default builds). It is up to the caller to either call FT_Library_SetLcdFilter (if available) or do the filtering itself.

-

The selected render mode only affects vector glyphs of a font. Embedded bitmaps often have a different pixel mode like FT_PIXEL_MODE_MONO. You can use FT_Bitmap_Convert to transform them into 8-bit pixmaps.

-
-
-
- - -
[Index][TOC]
- -
-

ft_render_mode_xxx

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define ft_render_mode_normal  FT_RENDER_MODE_NORMAL
-#define ft_render_mode_mono    FT_RENDER_MODE_MONO
-
-

-
-

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

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Render_Glyph

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Render_Glyph( FT_GlyphSlot    slot,
-                   FT_Render_Mode  render_mode );
-
-

-
-

Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.

-

-
inout
-

- - -
slot -

A handle to the glyph slot containing the image to convert.

-
-
-
input
-

- - -
render_mode -

This is the render mode used to render the glyph image into a bitmap. See FT_Render_Mode for a list of possible values.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Kerning_Mode

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  typedef enum  FT_Kerning_Mode_
-  {
-    FT_KERNING_DEFAULT  = 0,
-    FT_KERNING_UNFITTED,
-    FT_KERNING_UNSCALED
-
-  } FT_Kerning_Mode;
-
-

-
-

An enumeration used to specify which kerning values to return in FT_Get_Kerning.

-

-
values
-

- - - - -
FT_KERNING_DEFAULT -

Return scaled and grid-fitted kerning distances (value is 0).

-
FT_KERNING_UNFITTED -

Return scaled but un-grid-fitted kerning distances.

-
FT_KERNING_UNSCALED -

Return the kerning vector in original font units.

-
-
-
-
- - -
[Index][TOC]
- -
-

ft_kerning_default

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define ft_kerning_default   FT_KERNING_DEFAULT
-
-

-
-

This constant is deprecated. Please use FT_KERNING_DEFAULT instead.

-

-
-
- - -
[Index][TOC]
- -
-

ft_kerning_unfitted

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define ft_kerning_unfitted  FT_KERNING_UNFITTED
-
-

-
-

This constant is deprecated. Please use FT_KERNING_UNFITTED instead.

-

-
-
- - -
[Index][TOC]
- -
-

ft_kerning_unscaled

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define ft_kerning_unscaled  FT_KERNING_UNSCALED
-
-

-
-

This constant is deprecated. Please use FT_KERNING_UNSCALED instead.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_Kerning

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Kerning( FT_Face     face,
-                  FT_UInt     left_glyph,
-                  FT_UInt     right_glyph,
-                  FT_UInt     kern_mode,
-                  FT_Vector  *akerning );
-
-

-
-

Return the kerning vector between two glyphs of a same face.

-

-
input
-

- - - - - -
face -

A handle to a source face object.

-
left_glyph -

The index of the left glyph in the kern pair.

-
right_glyph -

The index of the right glyph in the kern pair.

-
kern_mode -

See FT_Kerning_Mode for more information. Determines the scale and dimension of the returned kerning vector.

-
-
-
output
-

- - -
akerning -

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.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Track_Kerning

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Track_Kerning( FT_Face    face,
-                        FT_Fixed   point_size,
-                        FT_Int     degree,
-                        FT_Fixed*  akerning );
-
-

-
-

Return the track kerning for a given face object at a given size.

-

-
input
-

- - - - -
face -

A handle to a source face object.

-
point_size -

The point size in 16.16 fractional points.

-
degree -

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.

-
-
-
output
-

- - -
akerning -

The kerning in 16.16 fractional points, to be uniformly applied between all glyphs.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

Currently, only the Type 1 font driver supports track kerning, using data from AFM files (if attached with FT_Attach_File or FT_Attach_Stream).

-

Only very few AFM files come with track kerning data; please refer to the Adobe's AFM specification for more details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Glyph_Name

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Glyph_Name( FT_Face     face,
-                     FT_UInt     glyph_index,
-                     FT_Pointer  buffer,
-                     FT_UInt     buffer_max );
-
-

-
-

Retrieve the ASCII name of a given glyph in a face. This only works for those faces where FT_HAS_GLYPH_NAMES(face) returns 1.

-

-
input
-

- - - - -
face -

A handle to a source face object.

-
glyph_index -

The glyph index.

-
buffer_max -

The maximum number of bytes available in the buffer.

-
-
-
output
-

- - -
buffer -

A pointer to a target buffer where the name is copied to.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-

The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.

-

Be aware that FreeType reorders glyph indices internally so that 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 ‘include/freetype/config/ftoptions.h’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Postscript_Name

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( const char* )
-  FT_Get_Postscript_Name( FT_Face  face );
-
-

-
-

Retrieve the ASCII PostScript name of a given face, if available. This only works with PostScript and TrueType fonts.

-

-
input
-

- - -
face -

A handle to the source face object.

-
-
-
return
-

A pointer to the face's PostScript name. NULL if unavailable.

-
-
note
-

The returned pointer is owned by the face and is destroyed with it.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Select_Charmap

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Select_Charmap( FT_Face      face,
-                     FT_Encoding  encoding );
-
-

-
-

Select a given charmap by its encoding tag (as listed in ‘freetype.h’).

-

-
inout
-

- - -
face -

A handle to the source face object.

-
-
-
input
-

- - -
encoding -

A handle to the selected encoding.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function returns an error if no charmap in the face corresponds to the encoding queried here.

-

Because many fonts contain more than a single cmap for Unicode encoding, this function has some special code to select the one which covers Unicode best (‘best’ in the sense that a UCS-4 cmap is preferred to a UCS-2 cmap). It is thus preferable to FT_Set_Charmap in this case.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Charmap

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Charmap( FT_Face     face,
-                  FT_CharMap  charmap );
-
-

-
-

Select a given charmap for character code to glyph index mapping.

-

-
inout
-

- - -
face -

A handle to the source face object.

-
-
-
input
-

- - -
charmap -

A handle to the selected charmap.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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).

-

It also fails if a type 14 charmap is selected.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Charmap_Index

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Int )
-  FT_Get_Charmap_Index( FT_CharMap  charmap );
-
-

-
-

Retrieve index of a given charmap.

-

-
input
-

- - -
charmap -

A handle to a charmap.

-
-
-
return
-

The index into the array of character maps within the face to which ‘charmap’ belongs. If an error occurs, -1 is returned.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Char_Index

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UInt )
-  FT_Get_Char_Index( FT_Face   face,
-                     FT_ULong  charcode );
-
-

-
-

Return the glyph index of a given character code. This function uses a charmap object to do the mapping.

-

-
input
-

- - - -
face -

A handle to the source face object.

-
charcode -

The character code.

-
-
-
return
-

The glyph index. 0 means ‘undefined character code’.

-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_First_Char

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_ULong )
-  FT_Get_First_Char( FT_Face   face,
-                     FT_UInt  *agindex );
-
-

-
-

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.

-

-
input
-

- - -
face -

A handle to the source face object.

-
-
-
output
-

- - -
agindex -

Glyph index of first character code. 0 if charmap is empty.

-
-
-
return
-

The charmap's first character code.

-
-
note
-

You should use this function with FT_Get_Next_Char to be able to parse all character codes available in a given charmap. The code should look like this:

-
-  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 );        
-  }                                                                
-
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Next_Char

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_ULong )
-  FT_Get_Next_Char( FT_Face    face,
-                    FT_ULong   char_code,
-                    FT_UInt   *agindex );
-
-

-
-

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.

-

-
input
-

- - - -
face -

A handle to the source face object.

-
char_code -

The starting character code.

-
-
-
output
-

- - -
agindex -

Glyph index of next character code. 0 if charmap is empty.

-
-
-
return
-

The charmap's next character code.

-
-
note
-

You should use this function with FT_Get_First_Char to walk over all character codes available in a given charmap. See the note for this function for a simple code example.

-

Note that ‘*agindex’ is set to 0 when there are no more codes in the charmap.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Name_Index

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UInt )
-  FT_Get_Name_Index( FT_Face     face,
-                     FT_String*  glyph_name );
-
-

-
-

Return the glyph index of a given glyph name. This function uses driver specific objects to do the translation.

-

-
input
-

- - - -
face -

A handle to the source face object.

-
glyph_name -

The glyph name.

-
-
-
return
-

The glyph index. 0 means ‘undefined character code’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_SUBGLYPH_FLAG_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
-#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
-#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
-#define FT_SUBGLYPH_FLAG_SCALE                   8
-#define FT_SUBGLYPH_FLAG_XY_SCALE             0x40
-#define FT_SUBGLYPH_FLAG_2X2                  0x80
-#define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
-
-

-
-

A list of constants used to describe subglyphs. Please refer to the TrueType specification for the meaning of the various flags.

-

-
values
-

- - - - - - - - - - - - - -
FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS
-

-
FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES
-

-
FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID
-

-
FT_SUBGLYPH_FLAG_SCALE -

-
FT_SUBGLYPH_FLAG_XY_SCALE
-

-
FT_SUBGLYPH_FLAG_2X2 -

-
FT_SUBGLYPH_FLAG_USE_MY_METRICS
-

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_SubGlyph_Info

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
-                        FT_UInt       sub_index,
-                        FT_Int       *p_index,
-                        FT_UInt      *p_flags,
-                        FT_Int       *p_arg1,
-                        FT_Int       *p_arg2,
-                        FT_Matrix    *p_transform );
-
-

-
-

Retrieve a description of a given subglyph. Only use it if ‘glyph->format’ is FT_GLYPH_FORMAT_COMPOSITE; an error is returned otherwise.

-

-
input
-

- - - -
glyph -

The source glyph slot.

-
sub_index -

The index of the subglyph. Must be less than ‘glyph->num_subglyphs’.

-
-
-
output
-

- - - - - - -
p_index -

The glyph index of the subglyph.

-
p_flags -

The subglyph flags, see FT_SUBGLYPH_FLAG_XXX.

-
p_arg1 -

The subglyph's first argument (if any).

-
p_arg2 -

The subglyph's second argument (if any).

-
p_transform -

The subglyph transformation (if any).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FSTYPE_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FT_FSTYPE_INSTALLABLE_EMBEDDING         0x0000
-#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING  0x0002
-#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING   0x0004
-#define FT_FSTYPE_EDITABLE_EMBEDDING            0x0008
-#define FT_FSTYPE_NO_SUBSETTING                 0x0100
-#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY         0x0200
-
-

-
-

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 FT_Get_FSType_Flags; they inform client applications of embedding and subsetting restrictions associated with a font.

-

See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for more details.

-

-
values
-

- - - - - - - - - - - - - -
FT_FSTYPE_INSTALLABLE_EMBEDDING
-

Fonts with no fsType bit set may be embedded and permanently installed on the remote system by an application.

-
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING
-

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.

-
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING
-

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.

-
FT_FSTYPE_EDITABLE_EMBEDDING
-

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.

-
FT_FSTYPE_NO_SUBSETTING
-

If this bit is set, the font may not be subsetted prior to embedding.

-
FT_FSTYPE_BITMAP_EMBEDDING_ONLY
-

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.

-
-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_FSType_Flags

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UShort )
-  FT_Get_FSType_Flags( FT_Face  face );
-
-

-
-

Return the fsType flags for a font.

-

-
input
-

- - -
face -

A handle to the source face object.

-
-
-
return
-

The fsType flags, FT_FSTYPE_XXX.

-
-
note
-

Use this function rather than directly reading the ‘fs_type’ field in the PS_FontInfoRec structure which is only guaranteed to return the correct results for Type 1 fonts.

-
-
since
-

2.3.8

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-basic_types.html b/libs/freetype-2.5.0.1/docs/reference/ft2-basic_types.html deleted file mode 100644 index 39c1056f..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-basic_types.html +++ /dev/null @@ -1,1210 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Basic Data Types -

-

Synopsis

- - - - - - - - - - - - - - - - -
FT_ByteFT_PtrDistFT_Pixel_Mode
FT_BytesFT_Stringft_pixel_mode_xxx
FT_CharFT_TagFT_Palette_Mode
FT_IntFT_ErrorFT_Bitmap
FT_UIntFT_FixedFT_IMAGE_TAG
FT_Int16FT_PointerFT_Glyph_Format
FT_UInt16FT_Posft_glyph_format_xxx
FT_Int32FT_VectorFT_Data
FT_UInt32FT_BBoxFT_Generic_Finalizer
FT_ShortFT_MatrixFT_Generic
FT_UShortFT_FWordFT_MAKE_TAG
FT_LongFT_UFWordFT_Int64
FT_ULongFT_F2Dot14FT_UInt64
FT_BoolFT_UnitVector
FT_OffsetFT_F26Dot6


- -
-

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.

-

-
-

FT_Byte

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef unsigned char  FT_Byte;
-
-

-
-

A simple typedef for the unsigned char type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Bytes

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef const FT_Byte*  FT_Bytes;
-
-

-
-

A typedef for constant memory areas.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Char

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed char  FT_Char;
-
-

-
-

A simple typedef for the signed char type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Int

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed int  FT_Int;
-
-

-
-

A typedef for the int type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef unsigned int  FT_UInt;
-
-

-
-

A typedef for the unsigned int type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Int16

-
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

-
-
-  typedef signed short  FT_Int16;
-
-

-
-

A typedef for a 16bit signed integer type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt16

-
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

-
-
-  typedef unsigned short  FT_UInt16;
-
-

-
-

A typedef for a 16bit unsigned integer type.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Int32

-
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

-
-
-  typedef signed XXX  FT_Int32;
-
-

-
-

A typedef for a 32bit signed integer type. The size depends on the configuration.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt32

-
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

-
-
-  typedef unsigned XXX  FT_UInt32;
-
-

-
-
- - -
[Index][TOC]
- -
-

FT_Short

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed short  FT_Short;
-
-

-
-

A typedef for signed short.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UShort

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef unsigned short  FT_UShort;
-
-

-
-

A typedef for unsigned short.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Long

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed long  FT_Long;
-
-

-
-

A typedef for signed long.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ULong

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef unsigned long  FT_ULong;
-
-

-
-

A typedef for unsigned long.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Bool

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef unsigned char  FT_Bool;
-
-

-
-

A typedef of unsigned char, used for simple booleans. As usual, values 1 and 0 represent true and false, respectively.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Offset

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef size_t  FT_Offset;
-
-

-
-

This is equivalent to the ANSI C ‘size_t’ type, i.e., the largest unsigned integer type used to express a file size or position, or a memory block size.

-

-
-
- - -
[Index][TOC]
- -
-

FT_PtrDist

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef ft_ptrdiff_t  FT_PtrDist;
-
-

-
-

This is equivalent to the ANSI C ‘ptrdiff_t’ type, i.e., the largest signed integer type used to express the distance between two pointers.

-

-
-
- - -
[Index][TOC]
- -
-

FT_String

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef char  FT_String;
-
-

-
-

A simple typedef for the char type, usually used for strings.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Tag

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef FT_UInt32  FT_Tag;
-
-

-
-

A typedef for 32-bit tags (as used in the SFNT format).

-

-
-
- - -
[Index][TOC]
- -
-

FT_Error

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef int  FT_Error;
-
-

-
-

The FreeType error code type. A value of 0 is always interpreted as a successful operation.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Fixed

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed long  FT_Fixed;
-
-

-
-

This type is used to store 16.16 fixed-point values, like scaling values or matrix coefficients.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Pointer

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef void*  FT_Pointer;
-
-

-
-

A simple typedef for a typeless pointer.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Pos

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef signed long  FT_Pos;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Vector

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Vector_
-  {
-    FT_Pos  x;
-    FT_Pos  y;
-
-  } FT_Vector;
-
-

-
-

A simple structure used to store a 2D vector; coordinates are of the FT_Pos type.

-

-
fields
-

- - - -
x -

The horizontal coordinate.

-
y -

The vertical coordinate.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_BBox

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_BBox_
-  {
-    FT_Pos  xMin, yMin;
-    FT_Pos  xMax, yMax;
-
-  } FT_BBox;
-
-

-
-

A structure used to hold an outline's bounding box, i.e., the coordinates of its extrema in the horizontal and vertical directions.

-

-
fields
-

- - - - - -
xMin -

The horizontal minimum (left-most).

-
yMin -

The vertical minimum (bottom-most).

-
xMax -

The horizontal maximum (right-most).

-
yMax -

The vertical maximum (top-most).

-
-
-
note
-

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.

-

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.

-

‘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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Matrix

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct  FT_Matrix_
-  {
-    FT_Fixed  xx, xy;
-    FT_Fixed  yx, yy;
-
-  } FT_Matrix;
-
-

-
-

A simple structure used to store a 2x2 matrix. Coefficients are in 16.16 fixed-point format. The computation performed is:

-
-   x' = x*xx + y*xy                                             
-   y' = x*yx + y*yy                                             
-
-

-
fields
-

- - - - - -
xx -

Matrix coefficient.

-
xy -

Matrix coefficient.

-
yx -

Matrix coefficient.

-
yy -

Matrix coefficient.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_FWord

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed short  FT_FWord;   /* distance in FUnits */
-
-

-
-

A signed 16-bit integer used to store a distance in original font units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UFWord

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef unsigned short  FT_UFWord;  /* unsigned distance */
-
-

-
-

An unsigned 16-bit integer used to store a distance in original font units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_F2Dot14

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed short  FT_F2Dot14;
-
-

-
-

A signed 2.14 fixed-point type used for unit vectors.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UnitVector

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct  FT_UnitVector_
-  {
-    FT_F2Dot14  x;
-    FT_F2Dot14  y;
-
-  } FT_UnitVector;
-
-

-
-

A simple structure used to store a 2D vector unit vector. Uses FT_F2Dot14 types.

-

-
fields
-

- - - -
x -

Horizontal coordinate.

-
y -

Vertical coordinate.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_F26Dot6

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef signed long  FT_F26Dot6;
-
-

-
-

A signed 26.6 fixed-point type used for vectorial pixel coordinates.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Pixel_Mode

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef enum  FT_Pixel_Mode_
-  {
-    FT_PIXEL_MODE_NONE = 0,
-    FT_PIXEL_MODE_MONO,
-    FT_PIXEL_MODE_GRAY,
-    FT_PIXEL_MODE_GRAY2,
-    FT_PIXEL_MODE_GRAY4,
-    FT_PIXEL_MODE_LCD,
-    FT_PIXEL_MODE_LCD_V,
-    FT_PIXEL_MODE_BGRA,
-
-    FT_PIXEL_MODE_MAX      /* do not remove */
-
-  } FT_Pixel_Mode;
-
-

-
-

An enumeration type used to describe the format of pixels in a given bitmap. Note that additional formats may be added in the future.

-

-
values
-

- - - - - - - - - -
FT_PIXEL_MODE_NONE -

Value 0 is reserved.

-
FT_PIXEL_MODE_MONO -

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.

-
FT_PIXEL_MODE_GRAY -

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 FT_Bitmap structure (it generally is 256).

-
FT_PIXEL_MODE_GRAY2 -

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.

-
FT_PIXEL_MODE_GRAY4 -

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.

-
FT_PIXEL_MODE_LCD -

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 FT_RENDER_MODE_LCD.

-
FT_PIXEL_MODE_LCD_V -

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 FT_RENDER_MODE_LCD_V.

-
FT_PIXEL_MODE_BGRA -

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 FT_LOAD_COLOR.

-
-
-
-
- - -
[Index][TOC]
- -
-

ft_pixel_mode_xxx

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-#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
-
-

-
-

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Palette_Mode

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef enum  FT_Palette_Mode_
-  {
-    ft_palette_mode_rgb = 0,
-    ft_palette_mode_rgba,
-
-    ft_palette_mode_max   /* do not remove */
-
-  } FT_Palette_Mode;
-
-

-
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Bitmap_
-  {
-    int             rows;
-    int             width;
-    int             pitch;
-    unsigned char*  buffer;
-    short           num_grays;
-    char            pixel_mode;
-    char            palette_mode;
-    void*           palette;
-
-  } FT_Bitmap;
-
-

-
-

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.

-

-
fields
-

- - - - - - - - - -
rows -

The number of bitmap rows.

-
width -

The number of pixels in bitmap row.

-
pitch -

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.

-

Note that ‘padding’ means the alignment of a bitmap to a byte border, and FreeType functions normally align to the smallest possible integer value.

-

For the B/W rasterizer, ‘pitch’ is always an even number.

-

To change the pitch of a bitmap (say, to make it a multiple of 4), use FT_Bitmap_Convert. 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.

-
buffer -

A typeless pointer to the bitmap buffer. This value should be aligned on 32-bit boundaries in most cases.

-
num_grays -

This field is only used with FT_PIXEL_MODE_GRAY; it gives the number of gray levels used in the bitmap.

-
pixel_mode -

The pixel mode, i.e., how pixel bits are stored. See FT_Pixel_Mode for possible values.

-
palette_mode -

This field is intended for paletted pixel modes; it indicates how the palette is stored. Not used currently.

-
palette -

A typeless pointer to the bitmap palette; this field is intended for paletted pixel modes. Not used currently.

-
-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_IMAGE_TAG

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-#ifndef FT_IMAGE_TAG
-#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
-          value = ( ( (unsigned long)_x1 << 24 ) | \
-                    ( (unsigned long)_x2 << 16 ) | \
-                    ( (unsigned long)_x3 << 8  ) | \
-                      (unsigned long)_x4         )
-#endif /* FT_IMAGE_TAG */
-
-

-
-

This macro converts four-letter tags to an unsigned long type.

-

-
note
-

Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:

-
-  #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value         
-
-

to get a simple enumeration without assigning special numbers.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Format

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef enum  FT_Glyph_Format_
-  {
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ),
-
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP,    'b', 'i', 't', 's' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE,   'o', 'u', 't', 'l' ),
-    FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER,   'p', 'l', 'o', 't' )
-
-  } FT_Glyph_Format;
-
-

-
-

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.

-

-
values
-

- - - - - - - - - -
FT_GLYPH_FORMAT_NONE -

The value 0 is reserved.

-
FT_GLYPH_FORMAT_COMPOSITE
-

The glyph image is a composite of several other images. This format is only used with FT_LOAD_NO_RECURSE, and is used to report compound glyphs (like accented characters).

-
FT_GLYPH_FORMAT_BITMAP -

The glyph image is a bitmap, and can be described as an FT_Bitmap. You generally need to access the ‘bitmap’ field of the FT_GlyphSlotRec structure to read it.

-
FT_GLYPH_FORMAT_OUTLINE
-

The glyph image is a vectorial outline made of line segments and Bézier arcs; it can be described as an FT_Outline; you generally want to access the ‘outline’ field of the FT_GlyphSlotRec structure to read it.

-
FT_GLYPH_FORMAT_PLOTTER
-

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 FT_Outline, but FreeType isn't currently capable of rendering them correctly.

-
-
-
-
- - -
[Index][TOC]
- -
-

ft_glyph_format_xxx

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-#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
-#define ft_glyph_format_outline    FT_GLYPH_FORMAT_OUTLINE
-#define ft_glyph_format_plotter    FT_GLYPH_FORMAT_PLOTTER
-
-

-
-

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Data

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct  FT_Data_
-  {
-    const FT_Byte*  pointer;
-    FT_Int          length;
-
-  } FT_Data;
-
-

-
-

Read-only binary data represented as a pointer and a length.

-

-
fields
-

- - - -
pointer -

The data.

-
length -

The length of the data in bytes.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Generic_Finalizer

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef void  (*FT_Generic_Finalizer)(void*  object);
-
-

-
-

Describe a function used to destroy the ‘client’ data of any FreeType object. See the description of the FT_Generic type for details of usage.

-

-
input
-

The address of the FreeType object which is under finalization. Its client data is accessed through its ‘generic’ field.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Generic

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct  FT_Generic_
-  {
-    void*                 data;
-    FT_Generic_Finalizer  finalizer;
-
-  } FT_Generic;
-
-

-
-

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.

-

Some FreeType object contains a ‘generic’ field, of type FT_Generic, which usage is left to client applications and font servers.

-

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).

-

-
fields
-

- - - -
data -

A typeless pointer to any client-specified data. This field is completely ignored by the FreeType library.

-
finalizer -

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_MAKE_TAG

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
-          (FT_Tag)                        \
-          ( ( (FT_ULong)_x1 << 24 ) |     \
-            ( (FT_ULong)_x2 << 16 ) |     \
-            ( (FT_ULong)_x3 <<  8 ) |     \
-              (FT_ULong)_x4         )
-
-

-
-

This macro converts four-letter tags which are used to label TrueType tables into an unsigned long to be used within FreeType.

-

-
note
-

The produced values must be 32-bit integers. Don't redefine this macro.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Int64

-
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

-
-
-  typedef signed XXX  FT_Int64;
-
-

-
-
- - -
[Index][TOC]
- -
-

FT_UInt64

-
-Defined in FT_CONFIG_CONFIG_H (freetype/config/ftconfig.h). -

-
-
-  typedef unsigned XXX  FT_UInt64;
-
-

-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-bdf_fonts.html b/libs/freetype-2.5.0.1/docs/reference/ft2-bdf_fonts.html deleted file mode 100644 index ea2e0632..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-bdf_fonts.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-BDF and PCF Files -

-

Synopsis

- - - -
FT_PropertyTypeBDF_PropertyRecFT_Get_BDF_Property
BDF_PropertyFT_Get_BDF_Charset_ID


- -
-

This section contains the declaration of functions specific to BDF and PCF fonts.

-

-
-

FT_PropertyType

-
-Defined in FT_BDF_H (freetype/ftbdf.h). -

-
-
-  typedef enum  BDF_PropertyType_
-  {
-    BDF_PROPERTY_TYPE_NONE     = 0,
-    BDF_PROPERTY_TYPE_ATOM     = 1,
-    BDF_PROPERTY_TYPE_INTEGER  = 2,
-    BDF_PROPERTY_TYPE_CARDINAL = 3
-
-  } BDF_PropertyType;
-
-

-
-

A list of BDF property types.

-

-
values
-

- - - - - - - -
BDF_PROPERTY_TYPE_NONE -

Value 0 is used to indicate a missing property.

-
BDF_PROPERTY_TYPE_ATOM -

Property is a string atom.

-
BDF_PROPERTY_TYPE_INTEGER
-

Property is a 32-bit signed integer.

-
BDF_PROPERTY_TYPE_CARDINAL
-

Property is a 32-bit unsigned integer.

-
-
-
-
- - -
[Index][TOC]
- -
-

BDF_Property

-
-Defined in FT_BDF_H (freetype/ftbdf.h). -

-
-
-  typedef struct BDF_PropertyRec_*  BDF_Property;
-
-

-
-

A handle to a BDF_PropertyRec structure to model a given BDF/PCF property.

-

-
-
- - -
[Index][TOC]
- -
-

BDF_PropertyRec

-
-Defined in FT_BDF_H (freetype/ftbdf.h). -

-
-
-  typedef struct  BDF_PropertyRec_
-  {
-    BDF_PropertyType  type;
-    union {
-      const char*     atom;
-      FT_Int32        integer;
-      FT_UInt32       cardinal;
-
-    } u;
-
-  } BDF_PropertyRec;
-
-

-
-

This structure models a given BDF/PCF property.

-

-
fields
-

- - - - - -
type -

The property type.

-
u.atom -

The atom string, if type is BDF_PROPERTY_TYPE_ATOM.

-
u.integer -

A signed integer, if type is BDF_PROPERTY_TYPE_INTEGER.

-
u.cardinal -

An unsigned integer, if type is BDF_PROPERTY_TYPE_CARDINAL.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_BDF_Charset_ID

-
-Defined in FT_BDF_H (freetype/ftbdf.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_BDF_Charset_ID( FT_Face       face,
-                         const char*  *acharset_encoding,
-                         const char*  *acharset_registry );
-
-

-
-

Retrieve a BDF font character set identity, according to the BDF specification.

-

-
input
-

- - -
face -

A handle to the input face.

-
-
-
output
-

- - - -
acharset_encoding -

Charset encoding, as a C string, owned by the face.

-
acharset_registry -

Charset registry, as a C string, owned by the face.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with BDF faces, returning an error otherwise.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_BDF_Property

-
-Defined in FT_BDF_H (freetype/ftbdf.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_BDF_Property( FT_Face           face,
-                       const char*       prop_name,
-                       BDF_PropertyRec  *aproperty );
-
-

-
-

Retrieve a BDF property from a BDF or PCF font file.

-

-
input
-

- - - -
face -

A handle to the input face.

-
name -

The property name.

-
-
-
output
-

- - -
aproperty -

The property.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function works with BDF and PCF fonts. It returns an error otherwise. It also returns an error if the property is not in the font.

-

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.

-

Integer properties are always stored as ‘signed’ within PCF fonts; consequently, BDF_PROPERTY_TYPE_CARDINAL is a possible return value for BDF fonts only.

-

In case of error, ‘aproperty->type’ is always set to BDF_PROPERTY_TYPE_NONE.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-bitmap_handling.html b/libs/freetype-2.5.0.1/docs/reference/ft2-bitmap_handling.html deleted file mode 100644 index bf3c18b1..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-bitmap_handling.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Bitmap Handling -

-

Synopsis

- - - -
FT_Bitmap_NewFT_Bitmap_EmboldenFT_GlyphSlot_Own_Bitmap
FT_Bitmap_CopyFT_Bitmap_ConvertFT_Bitmap_Done


- -
-

This section contains functions for converting FT_Bitmap objects.

-

-
-

FT_Bitmap_New

-
-Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

-
-
-  FT_EXPORT( void )
-  FT_Bitmap_New( FT_Bitmap  *abitmap );
-
-

-
-

Initialize a pointer to an FT_Bitmap structure.

-

-
inout
-

- - -
abitmap -

A pointer to the bitmap structure.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Copy

-
-Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Copy( FT_Library        library,
-                  const FT_Bitmap  *source,
-                  FT_Bitmap        *target);
-
-

-
-

Copy a bitmap into another one.

-

-
input
-

- - - -
library -

A handle to a library object.

-
source -

A handle to the source bitmap.

-
-
-
output
-

- - -
target -

A handle to the target bitmap.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Embolden

-
-Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Embolden( FT_Library  library,
-                      FT_Bitmap*  bitmap,
-                      FT_Pos      xStrength,
-                      FT_Pos      yStrength );
-
-

-
-

Embolden a bitmap. The new bitmap will be about ‘xStrength’ pixels wider and ‘yStrength’ pixels higher. The left and bottom borders are kept unchanged.

-

-
input
-

- - - - -
library -

A handle to a library object.

-
xStrength -

How strong the glyph is emboldened horizontally. Expressed in 26.6 pixel format.

-
yStrength -

How strong the glyph is emboldened vertically. Expressed in 26.6 pixel format.

-
-
-
inout
-

- - -
bitmap -

A handle to the target bitmap.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The current implementation restricts ‘xStrength’ to be less than or equal to 8 if bitmap is of pixel_mode FT_PIXEL_MODE_MONO.

-

If you want to embolden the bitmap owned by a FT_GlyphSlotRec, you should call FT_GlyphSlot_Own_Bitmap on the slot first.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Convert

-
-Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Convert( FT_Library        library,
-                     const FT_Bitmap  *source,
-                     FT_Bitmap        *target,
-                     FT_Int            alignment );
-
-

-
-

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’.

-

-
input
-

- - - - -
library -

A handle to a library object.

-
source -

The source bitmap.

-
alignment -

The pitch of the bitmap is a multiple of this parameter. Common values are 1, 2, or 4.

-
-
-
output
-

- - -
target -

The target bitmap.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

It is possible to call FT_Bitmap_Convert multiple times without calling FT_Bitmap_Done (the memory is simply reallocated).

-

Use FT_Bitmap_Done to finally remove the bitmap object.

-

The ‘library’ argument is taken to have access to FreeType's memory handling functions.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GlyphSlot_Own_Bitmap

-
-Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot  slot );
-
-

-
-

Make sure that a glyph slot owns ‘slot->bitmap’.

-

-
input
-

- - -
slot -

The glyph slot.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function is to be used in combination with FT_Bitmap_Embolden.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Bitmap_Done

-
-Defined in FT_BITMAP_H (freetype/ftbitmap.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Bitmap_Done( FT_Library  library,
-                  FT_Bitmap  *bitmap );
-
-

-
-

Destroy a bitmap object created with FT_Bitmap_New.

-

-
input
-

- - - -
library -

A handle to a library object.

-
bitmap -

The bitmap object to be freed.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The ‘library’ argument is taken to have access to FreeType's memory handling functions.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-bzip2.html b/libs/freetype-2.5.0.1/docs/reference/ft2-bzip2.html deleted file mode 100644 index df123657..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-bzip2.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-BZIP2 Streams -

-

Synopsis

- - -
FT_Stream_OpenBzip2


- -
-

This section contains the declaration of Bzip2-specific functions.

-

-
-

FT_Stream_OpenBzip2

-
-Defined in FT_BZIP2_H (freetype/ftbzip2.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stream_OpenBzip2( FT_Stream  stream,
-                       FT_Stream  source );
-
-

-
-

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.

-

-
input
-

- - - -
stream -

The target embedding stream.

-
source -

The source stream.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source stream must be opened before calling this function.

-

Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

-

The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.

-

In certain builds of the library, bzip2 compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. 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.

-

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with bzip2 support.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-cff_driver.html b/libs/freetype-2.5.0.1/docs/reference/ft2-cff_driver.html deleted file mode 100644 index ed8aeb83..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-cff_driver.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-The CFF driver -

-

Synopsis

- - -
hinting-engineFT_CFF_HINTING_XXXno-stem-darkening


- -
-

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

-

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

-

-
-

hinting-engine

-
-

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

-

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

-

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

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

-
note
-

This property can be used with FT_Property_Get also.

-
-
-
- - -
[Index][TOC]
- -
-

FT_CFF_HINTING_XXX

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

-
-
-#define FT_CFF_HINTING_FREETYPE  0
-#define FT_CFF_HINTING_ADOBE     1
-
-

-
-

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

-

-
values
-

- - - - -
FT_CFF_HINTING_FREETYPE
-

Use the old FreeType hinting engine.

-
FT_CFF_HINTING_ADOBE -

Use the hinting engine contributed by Adobe.

-
-
-
-
- - -
[Index][TOC]
- -
-

no-stem-darkening

-
-

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

-

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

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

-
note
-

This property can be used with FT_Property_Get also.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-cid_fonts.html b/libs/freetype-2.5.0.1/docs/reference/ft2-cid_fonts.html deleted file mode 100644 index 49d3c442..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-cid_fonts.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-CID Fonts -

-

Synopsis

- - - - -
FT_Get_CID_Registry_Ordering_Supplement
FT_Get_CID_Is_Internally_CID_Keyed
FT_Get_CID_From_Glyph_Index


- -
-

This section contains the declaration of CID-keyed font specific functions.

-

-
-

FT_Get_CID_Registry_Ordering_Supplement

-
-Defined in FT_CID_H (freetype/ftcid.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
-                                           const char*  *registry,
-                                           const char*  *ordering,
-                                           FT_Int       *supplement);
-
-

-
-

Retrieve the Registry/Ordering/Supplement triple (also known as the "R/O/S") from a CID-keyed font.

-

-
input
-

- - -
face -

A handle to the input face.

-
-
-
output
-

- - - - -
registry -

The registry, as a C string, owned by the face.

-
ordering -

The ordering, as a C string, owned by the face.

-
supplement -

The supplement.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with CID faces, returning an error otherwise.

-
-
since
-

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_CID_Is_Internally_CID_Keyed

-
-Defined in FT_CID_H (freetype/ftcid.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
-                                      FT_Bool  *is_cid );
-
-

-
-

Retrieve the type of the input face, CID keyed or not. In constrast to the FT_IS_CID_KEYED macro this function returns successfully also for CID-keyed fonts in an SNFT wrapper.

-

-
input
-

- - -
face -

A handle to the input face.

-
-
-
output
-

- - -
is_cid -

The type of the face as an FT_Bool.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with CID faces and OpenType fonts, returning an error otherwise.

-
-
since
-

2.3.9

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_CID_From_Glyph_Index

-
-Defined in FT_CID_H (freetype/ftcid.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_CID_From_Glyph_Index( FT_Face   face,
-                               FT_UInt   glyph_index,
-                               FT_UInt  *cid );
-
-

-
-

Retrieve the CID of the input glyph index.

-

-
input
-

- - - -
face -

A handle to the input face.

-
glyph_index -

The input glyph index.

-
-
-
output
-

- - -
cid -

The CID as an FT_UInt.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with CID faces and OpenType fonts, returning an error otherwise.

-
-
since
-

2.3.9

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-computations.html b/libs/freetype-2.5.0.1/docs/reference/ft2-computations.html deleted file mode 100644 index 16f5df67..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-computations.html +++ /dev/null @@ -1,832 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Computations -

-

Synopsis

- - - - - - - - - -
FT_MulDivFT_Matrix_InvertFT_Tan
FT_MulFixFT_AngleFT_Atan2
FT_DivFixFT_ANGLE_PIFT_Angle_Diff
FT_RoundFixFT_ANGLE_2PIFT_Vector_Unit
FT_CeilFixFT_ANGLE_PI2FT_Vector_Rotate
FT_FloorFixFT_ANGLE_PI4FT_Vector_Length
FT_Vector_TransformFT_SinFT_Vector_Polarize
FT_Matrix_MultiplyFT_CosFT_Vector_From_Polar


- -
-

This section contains various functions used to perform computations on 16.16 fixed-float numbers or 2d vectors.

-

-
-

FT_MulDiv

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Long )
-  FT_MulDiv( FT_Long  a,
-             FT_Long  b,
-             FT_Long  c );
-
-

-
-

A very simple function used to perform the computation ‘(a*b)/c’ with maximum accuracy (it uses a 64-bit intermediate integer whenever necessary).

-

This function isn't necessarily as fast as some processor specific operations, but is at least completely portable.

-

-
input
-

- - - - -
a -

The first multiplier.

-
b -

The second multiplier.

-
c -

The divisor.

-
-
-
return
-

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’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_MulFix

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Long )
-  FT_MulFix( FT_Long  a,
-             FT_Long  b );
-
-

-
-

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.

-

-
input
-

- - - -
a -

The first multiplier.

-
b -

The second multiplier. Use a 16.16 factor here whenever possible (see note below).

-
-
-
return
-

The result of ‘(a*b)/0x10000’.

-
-
note
-

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.

-

As a conclusion, always try to place a 16.16 factor as the second argument of this function; this can make a great difference.

-
-
-
- - -
[Index][TOC]
- -
-

FT_DivFix

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Long )
-  FT_DivFix( FT_Long  a,
-             FT_Long  b );
-
-

-
-

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.

-

-
input
-

- - - -
a -

The first multiplier.

-
b -

The second multiplier. Use a 16.16 factor here whenever possible (see note below).

-
-
-
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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_RoundFix

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_RoundFix( FT_Fixed  a );
-
-

-
-

A very simple function used to round a 16.16 fixed number.

-

-
input
-

- - -
a -

The number to be rounded.

-
-
-
return
-

The result of ‘(a + 0x8000) & -0x10000’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_CeilFix

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_CeilFix( FT_Fixed  a );
-
-

-
-

A very simple function used to compute the ceiling function of a 16.16 fixed number.

-

-
input
-

- - -
a -

The number for which the ceiling function is to be computed.

-
-
-
return
-

The result of ‘(a + 0x10000 - 1) & -0x10000’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_FloorFix

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_FloorFix( FT_Fixed  a );
-
-

-
-

A very simple function used to compute the floor function of a 16.16 fixed number.

-

-
input
-

- - -
a -

The number for which the floor function is to be computed.

-
-
-
return
-

The result of ‘a & -0x10000’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Transform

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( void )
-  FT_Vector_Transform( FT_Vector*        vec,
-                       const FT_Matrix*  matrix );
-
-

-
-

Transform a single vector through a 2x2 matrix.

-

-
inout
-

- - -
vector -

The target vector to transform.

-
-
-
input
-

- - -
matrix -

A pointer to the source 2x2 matrix.

-
-
-
note
-

The result is undefined if either ‘vector’ or ‘matrix’ is invalid.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Matrix_Multiply

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( void )
-  FT_Matrix_Multiply( const FT_Matrix*  a,
-                      FT_Matrix*        b );
-
-

-
-

Perform the matrix operation ‘b = a*b’.

-

-
input
-

- - -
a -

A pointer to matrix ‘a’.

-
-
-
inout
-

- - -
b -

A pointer to matrix ‘b’.

-
-
-
note
-

The result is undefined if either ‘a’ or ‘b’ is zero.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Matrix_Invert

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Matrix_Invert( FT_Matrix*  matrix );
-
-

-
-

Invert a 2x2 matrix. Return an error if it can't be inverted.

-

-
inout
-

- - -
matrix -

A pointer to the target matrix. Remains untouched in case of error.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Angle

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  typedef FT_Fixed  FT_Angle;
-
-

-
-

This type is used to model angle values in FreeType. Note that the angle is a 16.16 fixed-point value expressed in degrees.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_PI

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-#define FT_ANGLE_PI  ( 180L << 16 )
-
-

-
-

The angle pi expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_2PI

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-#define FT_ANGLE_2PI  ( FT_ANGLE_PI * 2 )
-
-

-
-

The angle 2*pi expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_PI2

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-#define FT_ANGLE_PI2  ( FT_ANGLE_PI / 2 )
-
-

-
-

The angle pi/2 expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ANGLE_PI4

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-#define FT_ANGLE_PI4  ( FT_ANGLE_PI / 4 )
-
-

-
-

The angle pi/4 expressed in FT_Angle units.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Sin

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_Sin( FT_Angle  angle );
-
-

-
-

Return the sinus of a given angle in fixed-point format.

-

-
input
-

- - -
angle -

The input angle.

-
-
-
return
-

The sinus value.

-
-
note
-

If you need both the sinus and cosinus for a given angle, use the function FT_Vector_Unit.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Cos

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_Cos( FT_Angle  angle );
-
-

-
-

Return the cosinus of a given angle in fixed-point format.

-

-
input
-

- - -
angle -

The input angle.

-
-
-
return
-

The cosinus value.

-
-
note
-

If you need both the sinus and cosinus for a given angle, use the function FT_Vector_Unit.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Tan

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_Tan( FT_Angle  angle );
-
-

-
-

Return the tangent of a given angle in fixed-point format.

-

-
input
-

- - -
angle -

The input angle.

-
-
-
return
-

The tangent value.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Atan2

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( FT_Angle )
-  FT_Atan2( FT_Fixed  x,
-            FT_Fixed  y );
-
-

-
-

Return the arc-tangent corresponding to a given vector (x,y) in the 2d plane.

-

-
input
-

- - - -
x -

The horizontal vector coordinate.

-
y -

The vertical vector coordinate.

-
-
-
return
-

The arc-tangent value (i.e. angle).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Angle_Diff

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( FT_Angle )
-  FT_Angle_Diff( FT_Angle  angle1,
-                 FT_Angle  angle2 );
-
-

-
-

Return the difference between two angles. The result is always constrained to the ]-PI..PI] interval.

-

-
input
-

- - - -
angle1 -

First angle.

-
angle2 -

Second angle.

-
-
-
return
-

Constrained value of ‘value2-value1’.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Unit

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( void )
-  FT_Vector_Unit( FT_Vector*  vec,
-                  FT_Angle    angle );
-
-

-
-

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)’.

-

This function is useful to retrieve both the sinus and cosinus of a given angle quickly.

-

-
output
-

- - -
vec -

The address of target vector.

-
-
-
input
-

- - -
angle -

The address of angle.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Rotate

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( void )
-  FT_Vector_Rotate( FT_Vector*  vec,
-                    FT_Angle    angle );
-
-

-
-

Rotate a vector by a given angle.

-

-
inout
-

- - -
vec -

The address of target vector.

-
-
-
input
-

- - -
angle -

The address of angle.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Length

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( FT_Fixed )
-  FT_Vector_Length( FT_Vector*  vec );
-
-

-
-

Return the length of a given vector.

-

-
input
-

- - -
vec -

The address of target vector.

-
-
-
return
-

The vector length, expressed in the same units that the original vector coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_Polarize

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( void )
-  FT_Vector_Polarize( FT_Vector*  vec,
-                      FT_Fixed   *length,
-                      FT_Angle   *angle );
-
-

-
-

Compute both the length and angle of a given vector.

-

-
input
-

- - -
vec -

The address of source vector.

-
-
-
output
-

- - - -
length -

The vector length.

-
angle -

The vector angle.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Vector_From_Polar

-
-Defined in FT_TRIGONOMETRY_H (freetype/fttrigon.h). -

-
-
-  FT_EXPORT( void )
-  FT_Vector_From_Polar( FT_Vector*  vec,
-                        FT_Fixed    length,
-                        FT_Angle    angle );
-
-

-
-

Compute vector coordinates from a length and angle.

-

-
output
-

- - -
vec -

The address of source vector.

-
-
-
input
-

- - - -
length -

The vector length.

-
angle -

The vector angle.

-
-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-font_formats.html b/libs/freetype-2.5.0.1/docs/reference/ft2-font_formats.html deleted file mode 100644 index ec9d68ed..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-font_formats.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Font Formats -

-

Synopsis

- - -
FT_Get_X11_Font_Format


- -
-

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.

-

This function is in the X11/xf86 namespace for historical reasons and in no way depends on that windowing system.

-

-
-

FT_Get_X11_Font_Format

-
-Defined in FT_XFREE86_H (freetype/ftxf86.h). -

-
-
-  FT_EXPORT( const char* )
-  FT_Get_X11_Font_Format( FT_Face  face );
-
-

-
-

Return a string describing the format of a given face, using values which 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’.

-

-
input
-

- - -
face -

Input face handle.

-
-
-
return
-

Font format string. NULL in case of error.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-gasp_table.html b/libs/freetype-2.5.0.1/docs/reference/ft2-gasp_table.html deleted file mode 100644 index fe748c53..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-gasp_table.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Gasp Table -

-

Synopsis

- - -
FT_GASP_XXXFT_Get_Gasp


- -
-

The function FT_Get_Gasp 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.

-

-
-

FT_GASP_XXX

-
-Defined in FT_GASP_H (freetype/ftgasp.h). -

-
-
-#define FT_GASP_NO_TABLE               -1
-#define FT_GASP_DO_GRIDFIT           0x01
-#define FT_GASP_DO_GRAY              0x02
-#define FT_GASP_SYMMETRIC_SMOOTHING  0x08
-#define FT_GASP_SYMMETRIC_GRIDFIT    0x10
-
-

-
-

A list of values and/or bit-flags returned by the FT_Get_Gasp function.

-

-
values
-

- - - - - - - - -
FT_GASP_NO_TABLE -

This special value means that there is no GASP table in this face. It is up to the client to decide what to do.

-
FT_GASP_DO_GRIDFIT -

Grid-fitting and hinting should be performed at the specified ppem. This really means TrueType bytecode interpretation. If this bit is not set, no hinting gets applied.

-
FT_GASP_DO_GRAY -

Anti-aliased rendering should be performed at the specified ppem. If not set, do monochrome rendering.

-
FT_GASP_SYMMETRIC_SMOOTHING
-

If set, smoothing along multiple axes must be used with ClearType.

-
FT_GASP_SYMMETRIC_GRIDFIT
-

Grid-fitting must be used with ClearType's symmetric smoothing.

-
-
-
note
-

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).

-

‘ClearType’ is Microsoft's implementation of LCD rendering, partly protected by patents.

-
-
since
-

2.3.0

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Gasp

-
-Defined in FT_GASP_H (freetype/ftgasp.h). -

-
-
-  FT_EXPORT( FT_Int )
-  FT_Get_Gasp( FT_Face  face,
-               FT_UInt  ppem );
-
-

-
-

Read the ‘gasp’ table from a TrueType or OpenType font file and return the entry corresponding to a given character pixel size.

-

-
input
-

- - - -
face -

The source face handle.

-
ppem -

The vertical character pixel size.

-
-
-
return
-

Bit flags (see FT_GASP_XXX), or FT_GASP_NO_TABLE if there is no ‘gasp’ table in the face.

-
-
since
-

2.3.0

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_management.html b/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_management.html deleted file mode 100644 index 8df5387d..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_management.html +++ /dev/null @@ -1,673 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Glyph Management -

-

Synopsis

- - - - - - -
FT_GlyphFT_OutlineGlyphRecft_glyph_bbox_xxx
FT_GlyphRecFT_Get_GlyphFT_Glyph_Get_CBox
FT_BitmapGlyphFT_Glyph_CopyFT_Glyph_To_Bitmap
FT_BitmapGlyphRecFT_Glyph_TransformFT_Done_Glyph
FT_OutlineGlyphFT_Glyph_BBox_Mode


- -
-

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.

-

-
-

FT_Glyph

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef struct FT_GlyphRec_*  FT_Glyph;
-
-

-
-

Handle to an object used to model generic glyph images. It is a pointer to the FT_GlyphRec structure and can contain a glyph bitmap or pointer.

-

-
note
-

Glyph objects are not owned by the library. You must thus release them manually (through FT_Done_Glyph) before calling FT_Done_FreeType.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GlyphRec

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef struct  FT_GlyphRec_
-  {
-    FT_Library             library;
-    const FT_Glyph_Class*  clazz;
-    FT_Glyph_Format        format;
-    FT_Vector              advance;
-
-  } FT_GlyphRec;
-
-

-
-

The root glyph structure contains a given glyph image plus its advance width in 16.16 fixed-point format.

-

-
fields
-

- - - - - -
library -

A handle to the FreeType library object.

-
clazz -

A pointer to the glyph's class. Private.

-
format -

The format of the glyph's image.

-
advance -

A 16.16 vector that gives the glyph's advance width.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_BitmapGlyph

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef struct FT_BitmapGlyphRec_*  FT_BitmapGlyph;
-
-

-
-

A handle to an object used to model a bitmap glyph image. This is a sub-class of FT_Glyph, and a pointer to FT_BitmapGlyphRec.

-

-
-
- - -
[Index][TOC]
- -
-

FT_BitmapGlyphRec

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef struct  FT_BitmapGlyphRec_
-  {
-    FT_GlyphRec  root;
-    FT_Int       left;
-    FT_Int       top;
-    FT_Bitmap    bitmap;
-
-  } FT_BitmapGlyphRec;
-
-

-
-

A structure used for bitmap glyph images. This really is a ‘sub-class’ of FT_GlyphRec.

-

-
fields
-

- - - - - -
root -

The root FT_Glyph fields.

-
left -

The left-side bearing, i.e., the horizontal distance from the current pen position to the left border of the glyph bitmap.

-
top -

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!

-
bitmap -

A descriptor for the bitmap.

-
-
-
note
-

You can typecast an FT_Glyph to FT_BitmapGlyph if you have ‘glyph->format == FT_GLYPH_FORMAT_BITMAP’. This lets you access the bitmap's contents easily.

-

The corresponding pixel buffer is always owned by FT_BitmapGlyph and is thus created and destroyed with it.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OutlineGlyph

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef struct FT_OutlineGlyphRec_*  FT_OutlineGlyph;
-
-

-
-

A handle to an object used to model an outline glyph image. This is a sub-class of FT_Glyph, and a pointer to FT_OutlineGlyphRec.

-

-
-
- - -
[Index][TOC]
- -
-

FT_OutlineGlyphRec

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef struct  FT_OutlineGlyphRec_
-  {
-    FT_GlyphRec  root;
-    FT_Outline   outline;
-
-  } FT_OutlineGlyphRec;
-
-

-
-

A structure used for outline (vectorial) glyph images. This really is a ‘sub-class’ of FT_GlyphRec.

-

-
fields
-

- - - -
root -

The root FT_Glyph fields.

-
outline -

A descriptor for the outline.

-
-
-
note
-

You can typecast an FT_Glyph to FT_OutlineGlyph if you have ‘glyph->format == FT_GLYPH_FORMAT_OUTLINE’. This lets you access the outline's content easily.

-

As the outline is extracted from a glyph slot, its coordinates are expressed normally in 26.6 pixels, unless the flag FT_LOAD_NO_SCALE was used in FT_Load_Glyph() or FT_Load_Char().

-

The outline's tables are always owned by the object and are destroyed with it.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Glyph

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Glyph( FT_GlyphSlot  slot,
-                FT_Glyph     *aglyph );
-
-

-
-

A function used to extract a glyph image from a slot. Note that the created FT_Glyph object must be released with FT_Done_Glyph.

-

-
input
-

- - -
slot -

A handle to the source glyph slot.

-
-
-
output
-

- - -
aglyph -

A handle to the glyph object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Copy

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Glyph_Copy( FT_Glyph   source,
-                 FT_Glyph  *target );
-
-

-
-

A function used to copy a glyph image. Note that the created FT_Glyph object must be released with FT_Done_Glyph.

-

-
input
-

- - -
source -

A handle to the source glyph object.

-
-
-
output
-

- - -
target -

A handle to the target glyph object. 0 in case of error.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Transform

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Glyph_Transform( FT_Glyph    glyph,
-                      FT_Matrix*  matrix,
-                      FT_Vector*  delta );
-
-

-
-

Transform a glyph image if its format is scalable.

-

-
inout
-

- - -
glyph -

A handle to the target glyph object.

-
-
-
input
-

- - - -
matrix -

A pointer to a 2x2 matrix to apply.

-
delta -

A pointer to a 2d vector to apply. Coordinates are expressed in 1/64th of a pixel.

-
-
-
return
-

FreeType error code (if not 0, the glyph format is not scalable).

-
-
note
-

The 2x2 transformation matrix is also applied to the glyph's advance vector.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_BBox_Mode

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  typedef enum  FT_Glyph_BBox_Mode_
-  {
-    FT_GLYPH_BBOX_UNSCALED  = 0,
-    FT_GLYPH_BBOX_SUBPIXELS = 0,
-    FT_GLYPH_BBOX_GRIDFIT   = 1,
-    FT_GLYPH_BBOX_TRUNCATE  = 2,
-    FT_GLYPH_BBOX_PIXELS    = 3
-
-  } FT_Glyph_BBox_Mode;
-
-

-
-

The mode how the values of FT_Glyph_Get_CBox are returned.

-

-
values
-

- - - - - - - -
FT_GLYPH_BBOX_UNSCALED -

Return unscaled font units.

-
FT_GLYPH_BBOX_SUBPIXELS
-

Return unfitted 26.6 coordinates.

-
FT_GLYPH_BBOX_GRIDFIT -

Return grid-fitted 26.6 coordinates.

-
FT_GLYPH_BBOX_TRUNCATE -

Return coordinates in integer pixels.

-
FT_GLYPH_BBOX_PIXELS -

Return grid-fitted pixel coordinates.

-
-
-
-
- - -
[Index][TOC]
- -
-

ft_glyph_bbox_xxx

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-#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
-#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
-#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
-
-

-
-

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Get_CBox

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( void )
-  FT_Glyph_Get_CBox( FT_Glyph  glyph,
-                     FT_UInt   bbox_mode,
-                     FT_BBox  *acbox );
-
-

-
-

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 which contains Bézier outside arcs).

-

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.

-

-
input
-

- - - -
glyph -

A handle to the source glyph object.

-
mode -

The mode which indicates how to interpret the returned bounding box values.

-
-
-
output
-

- - -
acbox -

The glyph coordinate bounding box. Coordinates are expressed in 1/64th of pixels if it is grid-fitted.

-
-
-
note
-

Coordinates are relative to the glyph origin, using the y upwards convention.

-

If the glyph has been loaded with FT_LOAD_NO_SCALE, ‘bbox_mode’ must be set to FT_GLYPH_BBOX_UNSCALED to get unscaled font units in 26.6 pixel format. The value FT_GLYPH_BBOX_SUBPIXELS is another name for this constant.

-

If the font is tricky and the glyph has been loaded with FT_LOAD_NO_SCALE, 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.

-

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:

-
-  width  = bbox.xMax - bbox.xMin;                                  
-  height = bbox.yMax - bbox.yMin;                                  
-
-

Note also that for 26.6 coordinates, if ‘bbox_mode’ is set to FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, which corresponds to:

-
-  bbox.xMin = FLOOR(bbox.xMin);                                    
-  bbox.yMin = FLOOR(bbox.yMin);                                    
-  bbox.xMax = CEILING(bbox.xMax);                                  
-  bbox.yMax = CEILING(bbox.yMax);                                  
-
-

To get the bbox in pixel coordinates, set ‘bbox_mode’ to FT_GLYPH_BBOX_TRUNCATE.

-

To get the bbox in grid-fitted pixel coordinates, set ‘bbox_mode’ to FT_GLYPH_BBOX_PIXELS.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_To_Bitmap

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Glyph_To_Bitmap( FT_Glyph*       the_glyph,
-                      FT_Render_Mode  render_mode,
-                      FT_Vector*      origin,
-                      FT_Bool         destroy );
-
-

-
-

Convert a given glyph object to a bitmap glyph object.

-

-
inout
-

- - -
the_glyph -

A pointer to a handle to the target glyph.

-
-
-
input
-

- - - - -
render_mode -

An enumeration that describes how the data is rendered.

-
origin -

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.

-
destroy -

A boolean that indicates that the original glyph image should be destroyed by this function. It is never destroyed in case of error.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function does nothing if the glyph format isn't scalable.

-

The glyph image is translated with the ‘origin’ vector before rendering.

-

The first parameter is a pointer to an FT_Glyph handle, that will be replaced by this function (with newly allocated data). Typically, you would use (omitting error handling):

-

-
-  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 );                                        
-
-

-

Here another example, again without error handling:

-

-
-  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] );                                
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Glyph

-
-Defined in FT_GLYPH_H (freetype/ftglyph.h). -

-
-
-  FT_EXPORT( void )
-  FT_Done_Glyph( FT_Glyph  glyph );
-
-

-
-

Destroy a given glyph.

-

-
input
-

- - -
glyph -

A handle to the target glyph object.

-
-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_stroker.html b/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_stroker.html deleted file mode 100644 index 6c36cd99..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_stroker.html +++ /dev/null @@ -1,940 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Glyph Stroker -

-

Synopsis

- - - - - - - - - - - - -
FT_StrokerFT_Stroker_EndSubPath
FT_Stroker_LineJoinFT_Stroker_LineTo
FT_Stroker_LineCapFT_Stroker_ConicTo
FT_StrokerBorderFT_Stroker_CubicTo
FT_Outline_GetInsideBorderFT_Stroker_GetBorderCounts
FT_Outline_GetOutsideBorderFT_Stroker_ExportBorder
FT_Stroker_NewFT_Stroker_GetCounts
FT_Stroker_SetFT_Stroker_Export
FT_Stroker_RewindFT_Stroker_Done
FT_Stroker_ParseOutlineFT_Glyph_Stroke
FT_Stroker_BeginSubPathFT_Glyph_StrokeBorder


- -
-

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.

-

This can be useful to generate ‘bordered’ glyph, i.e., glyphs displayed with a coloured (and anti-aliased) border around their shape.

-

-
-

FT_Stroker

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  typedef struct FT_StrokerRec_*  FT_Stroker;
-
-

-
-

Opaque handler to a path stroker object.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_LineJoin

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  typedef enum  FT_Stroker_LineJoin_
-  {
-    FT_STROKER_LINEJOIN_ROUND          = 0,
-    FT_STROKER_LINEJOIN_BEVEL          = 1,
-    FT_STROKER_LINEJOIN_MITER_VARIABLE = 2,
-    FT_STROKER_LINEJOIN_MITER          = FT_STROKER_LINEJOIN_MITER_VARIABLE,
-    FT_STROKER_LINEJOIN_MITER_FIXED    = 3
-
-  } FT_Stroker_LineJoin;
-
-

-
-

These values determine how two joining lines are rendered in a stroker.

-

-
values
-

- - - - - - - - - - - -
FT_STROKER_LINEJOIN_ROUND
-

Used to render rounded line joins. Circular arcs are used to join two lines smoothly.

-
FT_STROKER_LINEJOIN_BEVEL
-

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.

-
FT_STROKER_LINEJOIN_MITER_FIXED
-

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.

-
FT_STROKER_LINEJOIN_MITER_VARIABLE
-

-
FT_STROKER_LINEJOIN_MITER
-

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_LineCap

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  typedef enum  FT_Stroker_LineCap_
-  {
-    FT_STROKER_LINECAP_BUTT = 0,
-    FT_STROKER_LINECAP_ROUND,
-    FT_STROKER_LINECAP_SQUARE
-
-  } FT_Stroker_LineCap;
-
-

-
-

These values determine how the end of opened sub-paths are rendered in a stroke.

-

-
values
-

- - - - - - - -
FT_STROKER_LINECAP_BUTT
-

The end of lines is rendered as a full stop on the last point itself.

-
FT_STROKER_LINECAP_ROUND
-

The end of lines is rendered as a half-circle around the last point.

-
FT_STROKER_LINECAP_SQUARE
-

The end of lines is rendered as a square around the last point.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_StrokerBorder

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  typedef enum  FT_StrokerBorder_
-  {
-    FT_STROKER_BORDER_LEFT = 0,
-    FT_STROKER_BORDER_RIGHT
-
-  } FT_StrokerBorder;
-
-

-
-

These values are used to select a given stroke border in FT_Stroker_GetBorderCounts and FT_Stroker_ExportBorder.

-

-
values
-

- - - - -
FT_STROKER_BORDER_LEFT -

Select the left border, relative to the drawing direction.

-
FT_STROKER_BORDER_RIGHT
-

Select the right border, relative to the drawing direction.

-
-
-
note
-

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.

-

You can however use FT_Outline_GetInsideBorder and FT_Outline_GetOutsideBorder to get these.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_GetInsideBorder

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_StrokerBorder )
-  FT_Outline_GetInsideBorder( FT_Outline*  outline );
-
-

-
-

Retrieve the FT_StrokerBorder value corresponding to the ‘inside’ borders of a given outline.

-

-
input
-

- - -
outline -

The source outline handle.

-
-
-
return
-

The border index. FT_STROKER_BORDER_RIGHT for empty or invalid outlines.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_GetOutsideBorder

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_StrokerBorder )
-  FT_Outline_GetOutsideBorder( FT_Outline*  outline );
-
-

-
-

Retrieve the FT_StrokerBorder value corresponding to the ‘outside’ borders of a given outline.

-

-
input
-

- - -
outline -

The source outline handle.

-
-
-
return
-

The border index. FT_STROKER_BORDER_LEFT for empty or invalid outlines.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_New

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_New( FT_Library   library,
-                  FT_Stroker  *astroker );
-
-

-
-

Create a new stroker object.

-

-
input
-

- - -
library -

FreeType library handle.

-
-
-
output
-

- - -
astroker -

A new stroker object handle. NULL in case of error.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Set

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( void )
-  FT_Stroker_Set( FT_Stroker           stroker,
-                  FT_Fixed             radius,
-                  FT_Stroker_LineCap   line_cap,
-                  FT_Stroker_LineJoin  line_join,
-                  FT_Fixed             miter_limit );
-
-

-
-

Reset a stroker object's attributes.

-

-
input
-

- - - - - - -
stroker -

The target stroker handle.

-
radius -

The border radius.

-
line_cap -

The line cap style.

-
line_join -

The line join style.

-
miter_limit -

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.

-
-
-
note
-

The radius is expressed in the same units as the outline coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Rewind

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( void )
-  FT_Stroker_Rewind( FT_Stroker  stroker );
-
-

-
-

Reset a stroker object without changing its attributes. You should call this function before beginning a new series of calls to FT_Stroker_BeginSubPath or FT_Stroker_EndSubPath.

-

-
input
-

- - -
stroker -

The target stroker handle.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_ParseOutline

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_ParseOutline( FT_Stroker   stroker,
-                           FT_Outline*  outline,
-                           FT_Bool      opened );
-
-

-
-

A convenience function used to parse a whole outline with the stroker. The resulting outline(s) can be retrieved later by functions like FT_Stroker_GetCounts and FT_Stroker_Export.

-

-
input
-

- - - - -
stroker -

The target stroker handle.

-
outline -

The source outline.

-
opened -

A boolean. If 1, the outline is treated as an open path instead of a closed one.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If ‘opened’ is 0 (the default), the outline is treated as a closed path, and the stroker generates two distinct ‘border’ outlines.

-

If ‘opened’ is 1, the outline is processed as an open path, and the stroker generates a single ‘stroke’ outline.

-

This function calls FT_Stroker_Rewind automatically.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_BeginSubPath

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_BeginSubPath( FT_Stroker  stroker,
-                           FT_Vector*  to,
-                           FT_Bool     open );
-
-

-
-

Start a new sub-path in the stroker.

-

-
input
-

- - - - -
stroker -

The target stroker handle.

-
to -

A pointer to the start vector.

-
open -

A boolean. If 1, the sub-path is treated as an open one.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function is useful when you need to stroke a path that is not stored as an FT_Outline object.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_EndSubPath

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_EndSubPath( FT_Stroker  stroker );
-
-

-
-

Close the current sub-path in the stroker.

-

-
input
-

- - -
stroker -

The target stroker handle.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should call this function after FT_Stroker_BeginSubPath. If the subpath was not ‘opened’, this function ‘draws’ a single line segment to the start position when needed.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_LineTo

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_LineTo( FT_Stroker  stroker,
-                     FT_Vector*  to );
-
-

-
-

‘Draw’ a single line segment in the stroker's current sub-path, from the last position.

-

-
input
-

- - - -
stroker -

The target stroker handle.

-
to -

A pointer to the destination point.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_ConicTo

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_ConicTo( FT_Stroker  stroker,
-                      FT_Vector*  control,
-                      FT_Vector*  to );
-
-

-
-

‘Draw’ a single quadratic Bézier in the stroker's current sub-path, from the last position.

-

-
input
-

- - - - -
stroker -

The target stroker handle.

-
control -

A pointer to a Bézier control point.

-
to -

A pointer to the destination point.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_CubicTo

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_CubicTo( FT_Stroker  stroker,
-                      FT_Vector*  control1,
-                      FT_Vector*  control2,
-                      FT_Vector*  to );
-
-

-
-

‘Draw’ a single cubic Bézier in the stroker's current sub-path, from the last position.

-

-
input
-

- - - - - -
stroker -

The target stroker handle.

-
control1 -

A pointer to the first Bézier control point.

-
control2 -

A pointer to second Bézier control point.

-
to -

A pointer to the destination point.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should call this function between FT_Stroker_BeginSubPath and FT_Stroker_EndSubPath.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_GetBorderCounts

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_GetBorderCounts( FT_Stroker        stroker,
-                              FT_StrokerBorder  border,
-                              FT_UInt          *anum_points,
-                              FT_UInt          *anum_contours );
-
-

-
-

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.

-

-
input
-

- - - -
stroker -

The target stroker handle.

-
border -

The border index.

-
-
-
output
-

- - - -
anum_points -

The number of points.

-
anum_contours -

The number of contours.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

When an outline, or a sub-path, is ‘closed’, the stroker generates 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 points, while the ‘right’ border becomes empty.

-

Use the function FT_Stroker_GetCounts instead if you want to retrieve the counts associated to both borders.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_ExportBorder

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( void )
-  FT_Stroker_ExportBorder( FT_Stroker        stroker,
-                           FT_StrokerBorder  border,
-                           FT_Outline*       outline );
-
-

-
-

Call this function after FT_Stroker_GetBorderCounts to export the corresponding border to your own FT_Outline structure.

-

Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.

-

-
input
-

- - - - -
stroker -

The target stroker handle.

-
border -

The border index.

-
outline -

The target outline handle.

-
-
-
note
-

Always call this function after FT_Stroker_GetBorderCounts to get sure that there is enough room in your FT_Outline object to receive all new data.

-

When an outline, or a sub-path, is ‘closed’, the stroker generates 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 points, while the ‘right’ border becomes empty.

-

Use the function FT_Stroker_Export instead if you want to retrieve all borders at once.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_GetCounts

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stroker_GetCounts( FT_Stroker  stroker,
-                        FT_UInt    *anum_points,
-                        FT_UInt    *anum_contours );
-
-

-
-

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.

-

-
input
-

- - -
stroker -

The target stroker handle.

-
-
-
output
-

- - - -
anum_points -

The number of points.

-
anum_contours -

The number of contours.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Export

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( void )
-  FT_Stroker_Export( FT_Stroker   stroker,
-                     FT_Outline*  outline );
-
-

-
-

Call this function after FT_Stroker_GetBorderCounts to export all borders to your own FT_Outline structure.

-

Note that this function appends the border points and contours to your outline, but does not try to resize its arrays.

-

-
input
-

- - - -
stroker -

The target stroker handle.

-
outline -

The target outline handle.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Stroker_Done

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( void )
-  FT_Stroker_Done( FT_Stroker  stroker );
-
-

-
-

Destroy a stroker object.

-

-
input
-

- - -
stroker -

A stroker handle. Can be NULL.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_Stroke

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Glyph_Stroke( FT_Glyph    *pglyph,
-                   FT_Stroker   stroker,
-                   FT_Bool      destroy );
-
-

-
-

Stroke a given outline glyph object with a given stroker.

-

-
inout
-

- - -
pglyph -

Source glyph handle on input, new glyph handle on output.

-
-
-
input
-

- - - -
stroker -

A stroker handle.

-
destroy -

A Boolean. If 1, the source glyph object is destroyed on success.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source glyph is untouched in case of error.

-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Glyph_StrokeBorder

-
-Defined in FT_STROKER_H (freetype/ftstroke.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Glyph_StrokeBorder( FT_Glyph    *pglyph,
-                         FT_Stroker   stroker,
-                         FT_Bool      inside,
-                         FT_Bool      destroy );
-
-

-
-

Stroke a given outline glyph object with a given stroker, but only return either its inside or outside border.

-

-
inout
-

- - -
pglyph -

Source glyph handle on input, new glyph handle on output.

-
-
-
input
-

- - - - -
stroker -

A stroker handle.

-
inside -

A Boolean. If 1, return the inside border, otherwise the outside border.

-
destroy -

A Boolean. If 1, the source glyph object is destroyed on success.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source glyph is untouched in case of error.

-

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.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_variants.html b/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_variants.html deleted file mode 100644 index 34496c76..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-glyph_variants.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Glyph Variants -

-

Synopsis

- - - - -
FT_Face_GetCharVariantIndexFT_Face_GetVariantsOfChar
FT_Face_GetCharVariantIsDefaultFT_Face_GetCharsOfVariant
FT_Face_GetVariantSelectors


- -
-

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.

-

An IVS is registered and unique; for further details please refer to Unicode Technical Standard #37, the Ideographic Variation Database:

-

http://www.unicode.org/reports/tr37/

-

To date (November 2012), the character with the most variants is U+9089, having 31 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 input code points to glyphs, but contains lists of all variants supported by the font.

-

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.

-

-
-

FT_Face_GetCharVariantIndex

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UInt )
-  FT_Face_GetCharVariantIndex( FT_Face   face,
-                               FT_ULong  charcode,
-                               FT_ULong  variantSelector );
-
-

-
-

Return the glyph index of a given character code as modified by the variation selector.

-

-
input
-

- - - - -
face -

A handle to the source face object.

-
charcode -

The character code point in Unicode.

-
variantSelector -

The Unicode code point of the variation selector.

-
-
-
return
-

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’.

-
-
note
-

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’.

-

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.

-
-
since
-

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetCharVariantIsDefault

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Int )
-  FT_Face_GetCharVariantIsDefault( FT_Face   face,
-                                   FT_ULong  charcode,
-                                   FT_ULong  variantSelector );
-
-

-
-

Check whether this variant of this Unicode character is the one to be found in the ‘cmap’.

-

-
input
-

- - - - -
face -

A handle to the source face object.

-
charcode -

The character codepoint in Unicode.

-
variantSelector -

The Unicode codepoint of the variation selector.

-
-
-
return
-

1 if found in the standard (Unicode) cmap, 0 if found in the variation selector cmap, or -1 if it is not a variant.

-
-
note
-

This function is only meaningful if the font has a variation selector cmap subtable.

-
-
since
-

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetVariantSelectors

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UInt32* )
-  FT_Face_GetVariantSelectors( FT_Face  face );
-
-

-
-

Return a zero-terminated list of Unicode variant selectors found in the font.

-

-
input
-

- - -
face -

A handle to the source face object.

-
-
-
return
-

A pointer to an array of selector code points, or NULL if there is no valid variant selector cmap subtable.

-
-
note
-

The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

-
-
since
-

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetVariantsOfChar

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UInt32* )
-  FT_Face_GetVariantsOfChar( FT_Face   face,
-                             FT_ULong  charcode );
-
-

-
-

Return a zero-terminated list of Unicode variant selectors found for the specified character code.

-

-
input
-

- - - -
face -

A handle to the source face object.

-
charcode -

The character codepoint in Unicode.

-
-
-
return
-

A pointer to an array of variant selector code points which are active for the given character, or NULL if the corresponding list is empty.

-
-
note
-

The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

-
-
since
-

2.3.6

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_GetCharsOfVariant

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_UInt32* )
-  FT_Face_GetCharsOfVariant( FT_Face   face,
-                             FT_ULong  variantSelector );
-
-

-
-

Return a zero-terminated list of Unicode character codes found for the specified variant selector.

-

-
input
-

- - - -
face -

A handle to the source face object.

-
variantSelector -

The variant selector code point in Unicode.

-
-
-
return
-

A list of all the code points which 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.

-
-
note
-

The last item in the array is 0; the array is owned by the FT_Face object but can be overwritten or released on the next call to a FreeType function.

-
-
since
-

2.3.6

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-gx_validation.html b/libs/freetype-2.5.0.1/docs/reference/ft2-gx_validation.html deleted file mode 100644 index a04da815..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-gx_validation.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-TrueTypeGX/AAT Validation -

-

Synopsis

- - - - -
FT_VALIDATE_GX_LENGTHFT_TrueTypeGX_FreeFT_ClassicKern_Free
FT_VALIDATE_GXXXXFT_VALIDATE_CKERNXXX
FT_TrueTypeGX_ValidateFT_ClassicKern_Validate


- -
-

This section contains the declaration of functions to validate some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop, lcar).

-

-
-

FT_VALIDATE_GX_LENGTH

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-#define FT_VALIDATE_GX_LENGTH     (FT_VALIDATE_GX_LAST_INDEX + 1)
-
-

-
-

The number of tables checked in this module. Use it as a parameter for the ‘table-length’ argument of function FT_TrueTypeGX_Validate.

-

-
-
- - -
[Index][TOC]
- -
-

FT_VALIDATE_GXXXX

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-#define FT_VALIDATE_feat  FT_VALIDATE_GX_BITFIELD( feat )
-#define FT_VALIDATE_mort  FT_VALIDATE_GX_BITFIELD( mort )
-#define FT_VALIDATE_morx  FT_VALIDATE_GX_BITFIELD( morx )
-#define FT_VALIDATE_bsln  FT_VALIDATE_GX_BITFIELD( bsln )
-#define FT_VALIDATE_just  FT_VALIDATE_GX_BITFIELD( just )
-#define FT_VALIDATE_kern  FT_VALIDATE_GX_BITFIELD( kern )
-#define FT_VALIDATE_opbd  FT_VALIDATE_GX_BITFIELD( opbd )
-#define FT_VALIDATE_trak  FT_VALIDATE_GX_BITFIELD( trak )
-#define FT_VALIDATE_prop  FT_VALIDATE_GX_BITFIELD( prop )
-#define FT_VALIDATE_lcar  FT_VALIDATE_GX_BITFIELD( lcar )
-
-#define FT_VALIDATE_GX  ( FT_VALIDATE_feat | \
-                          FT_VALIDATE_mort | \
-                          FT_VALIDATE_morx | \
-                          FT_VALIDATE_bsln | \
-                          FT_VALIDATE_just | \
-                          FT_VALIDATE_kern | \
-                          FT_VALIDATE_opbd | \
-                          FT_VALIDATE_trak | \
-                          FT_VALIDATE_prop | \
-                          FT_VALIDATE_lcar )
-
-

-
-

A list of bit-field constants used with FT_TrueTypeGX_Validate to indicate which TrueTypeGX/AAT Type tables should be validated.

-

-
values
-

- - - - - - - - - - - - -
FT_VALIDATE_feat -

Validate ‘feat’ table.

-
FT_VALIDATE_mort -

Validate ‘mort’ table.

-
FT_VALIDATE_morx -

Validate ‘morx’ table.

-
FT_VALIDATE_bsln -

Validate ‘bsln’ table.

-
FT_VALIDATE_just -

Validate ‘just’ table.

-
FT_VALIDATE_kern -

Validate ‘kern’ table.

-
FT_VALIDATE_opbd -

Validate ‘opbd’ table.

-
FT_VALIDATE_trak -

Validate ‘trak’ table.

-
FT_VALIDATE_prop -

Validate ‘prop’ table.

-
FT_VALIDATE_lcar -

Validate ‘lcar’ table.

-
FT_VALIDATE_GX -

Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, trak, prop and lcar).

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_TrueTypeGX_Validate

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_TrueTypeGX_Validate( FT_Face   face,
-                          FT_UInt   validation_flags,
-                          FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],
-                          FT_UInt   table_length );
-
-

-
-

Validate various TrueTypeGX tables to assure that all offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).

-

-
input
-

- - - - -
face -

A handle to the input face.

-
validation_flags -

A bit field which specifies the tables to be validated. See FT_VALIDATE_GXXXX for possible values.

-
table_length -

The size of the ‘tables’ array. Normally, FT_VALIDATE_GX_LENGTH should be passed.

-
-
-
output
-

- - -
tables -

The array where all validated sfnt tables are stored. The array itself must be allocated by a client.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with TrueTypeGX fonts, returning an error otherwise.

-

After use, the application should deallocate the buffers pointed to by each ‘tables’ element, by calling FT_TrueTypeGX_Free. 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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_TrueTypeGX_Free

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-  FT_EXPORT( void )
-  FT_TrueTypeGX_Free( FT_Face   face,
-                      FT_Bytes  table );
-
-

-
-

Free the buffer allocated by TrueTypeGX validator.

-

-
input
-

- - - -
face -

A handle to the input face.

-
table -

The pointer to the buffer allocated by FT_TrueTypeGX_Validate.

-
-
-
note
-

This function must be used to free the buffer allocated by FT_TrueTypeGX_Validate only.

-
-
-
- - -
[Index][TOC]
- -
-

FT_VALIDATE_CKERNXXX

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-#define FT_VALIDATE_MS     ( FT_VALIDATE_GX_START << 0 )
-#define FT_VALIDATE_APPLE  ( FT_VALIDATE_GX_START << 1 )
-
-#define FT_VALIDATE_CKERN  ( FT_VALIDATE_MS | FT_VALIDATE_APPLE )
-
-

-
-

A list of bit-field constants used with FT_ClassicKern_Validate to indicate the classic kern dialect or dialects. If the selected type doesn't fit, FT_ClassicKern_Validate regards the table as invalid.

-

-
values
-

- - - - -
FT_VALIDATE_MS -

Handle the ‘kern’ table as a classic Microsoft kern table.

-
FT_VALIDATE_APPLE -

Handle the ‘kern’ table as a classic Apple kern table.

-
FT_VALIDATE_CKERN -

Handle the ‘kern’ as either classic Apple or Microsoft kern table.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_ClassicKern_Validate

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_ClassicKern_Validate( FT_Face    face,
-                           FT_UInt    validation_flags,
-                           FT_Bytes  *ckern_table );
-
-

-
-

Validate classic (16-bit format) kern table to assure that the offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).

-

The ‘kern’ table validator in FT_TrueTypeGX_Validate 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.

-

-
input
-

- - - -
face -

A handle to the input face.

-
validation_flags -

A bit field which specifies the dialect to be validated. See FT_VALIDATE_CKERNXXX for possible values.

-
-
-
output
-

- - -
ckern_table -

A pointer to the kern table.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

After use, the application should deallocate the buffers pointed to by ‘ckern_table’, by calling FT_ClassicKern_Free. A NULL value indicates that the table doesn't exist in the font.

-
-
-
- - -
[Index][TOC]
- -
-

FT_ClassicKern_Free

-
-Defined in FT_GX_VALIDATE_H (freetype/ftgxval.h). -

-
-
-  FT_EXPORT( void )
-  FT_ClassicKern_Free( FT_Face   face,
-                       FT_Bytes  table );
-
-

-
-

Free the buffer allocated by classic Kern validator.

-

-
input
-

- - - -
face -

A handle to the input face.

-
table -

The pointer to the buffer that is allocated by FT_ClassicKern_Validate.

-
-
-
note
-

This function must be used to free the buffer allocated by FT_ClassicKern_Validate only.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-gzip.html b/libs/freetype-2.5.0.1/docs/reference/ft2-gzip.html deleted file mode 100644 index 01cd5e3d..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-gzip.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-GZIP Streams -

-

Synopsis

- - -
FT_Stream_OpenGzip


- -
-

This section contains the declaration of Gzip-specific functions.

-

-
-

FT_Stream_OpenGzip

-
-Defined in FT_GZIP_H (freetype/ftgzip.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stream_OpenGzip( FT_Stream  stream,
-                      FT_Stream  source );
-
-

-
-

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.

-

-
input
-

- - - -
stream -

The target embedding stream.

-
source -

The source stream.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source stream must be opened before calling this function.

-

Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

-

The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream.

-

In certain builds of the library, gzip compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. 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.

-

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with zlib support.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-header_file_macros.html b/libs/freetype-2.5.0.1/docs/reference/ft2-header_file_macros.html deleted file mode 100644 index bb659548..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-header_file_macros.html +++ /dev/null @@ -1,902 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Header File Macros -

-

Synopsis

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FT_CONFIG_CONFIG_HFT_LZW_H
FT_CONFIG_STANDARD_LIBRARY_HFT_BZIP2_H
FT_CONFIG_OPTIONS_HFT_WINFONTS_H
FT_CONFIG_MODULES_HFT_GLYPH_H
FT_FREETYPE_HFT_BITMAP_H
FT_ERRORS_HFT_BBOX_H
FT_MODULE_ERRORS_HFT_CACHE_H
FT_SYSTEM_HFT_CACHE_IMAGE_H
FT_IMAGE_HFT_CACHE_SMALL_BITMAPS_H
FT_TYPES_HFT_CACHE_CHARMAP_H
FT_LIST_HFT_MAC_H
FT_OUTLINE_HFT_MULTIPLE_MASTERS_H
FT_SIZES_HFT_SFNT_NAMES_H
FT_MODULE_HFT_OPENTYPE_VALIDATE_H
FT_RENDER_HFT_GX_VALIDATE_H
FT_AUTOHINTER_HFT_PFR_H
FT_CFF_DRIVER_HFT_STROKER_H
FT_TRUETYPE_DRIVER_HFT_SYNTHESIS_H
FT_TYPE1_TABLES_HFT_XFREE86_H
FT_TRUETYPE_IDS_HFT_TRIGONOMETRY_H
FT_TRUETYPE_TABLES_HFT_LCD_FILTER_H
FT_TRUETYPE_TAGS_HFT_UNPATENTED_HINTING_H
FT_BDF_HFT_INCREMENTAL_H
FT_CID_HFT_GASP_H
FT_GZIP_HFT_ADVANCES_H


- -
-

The following macros are defined to the name of specific FreeType 2 header files. They can be used directly in #include statements as in:

-
-  #include FT_FREETYPE_H                                           
-  #include FT_MULTIPLE_MASTERS_H                                   
-  #include FT_GLYPH_H                                              
-
-

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’).

-

The second reason is that it allows for more flexibility in the way FreeType 2 is installed on a given system.

-

-
-

FT_CONFIG_CONFIG_H

-
-
-#ifndef FT_CONFIG_CONFIG_H
-#define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
-#endif
-
-

-
-

A macro used in #include statements to name the file containing FreeType 2 configuration data.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CONFIG_STANDARD_LIBRARY_H

-
-
-#ifndef FT_CONFIG_STANDARD_LIBRARY_H
-#define FT_CONFIG_STANDARD_LIBRARY_H  <freetype/config/ftstdlib.h>
-#endif
-
-

-
-

A macro used in #include statements to name the file containing FreeType 2 interface to the standard C library functions.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CONFIG_OPTIONS_H

-
-
-#ifndef FT_CONFIG_OPTIONS_H
-#define FT_CONFIG_OPTIONS_H  <freetype/config/ftoption.h>
-#endif
-
-

-
-

A macro used in #include statements to name the file containing FreeType 2 project-specific configuration options.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CONFIG_MODULES_H

-
-
-#ifndef FT_CONFIG_MODULES_H
-#define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
-#endif
-
-

-
-

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 FT_Init_FreeType.

-

-
-
- - -
[Index][TOC]
- -
-

FT_FREETYPE_H

-
-
-#define FT_FREETYPE_H  <freetype/freetype.h>
-
-

-
-

A macro used in #include statements to name the file containing the base FreeType 2 API.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ERRORS_H

-
-
-#define FT_ERRORS_H  <freetype/fterrors.h>
-
-

-
-

A macro used in #include statements to name the file containing the list of FreeType 2 error codes (and messages).

-

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
- -
-

FT_MODULE_ERRORS_H

-
-
-#define FT_MODULE_ERRORS_H  <freetype/ftmoderr.h>
-
-

-
-

A macro used in #include statements to name the file containing the list of FreeType 2 module error offsets (and messages).

-

-
-
- - -
[Index][TOC]
- -
-

FT_SYSTEM_H

-
-
-#define FT_SYSTEM_H  <freetype/ftsystem.h>
-
-

-
-

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).

-

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
- -
-

FT_IMAGE_H

-
-
-#define FT_IMAGE_H  <freetype/ftimage.h>
-
-

-
-

A macro used in #include statements to name the file containing type definitions related to glyph images (i.e., bitmaps, outlines, scan-converter parameters).

-

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TYPES_H

-
-
-#define FT_TYPES_H  <freetype/fttypes.h>
-
-

-
-

A macro used in #include statements to name the file containing the basic data types defined by FreeType 2.

-

It is included by FT_FREETYPE_H.

-

-
-
- - -
[Index][TOC]
- -
-

FT_LIST_H

-
-
-#define FT_LIST_H  <freetype/ftlist.h>
-
-

-
-

A macro used in #include statements to name the file containing the list management API of FreeType 2.

-

(Most applications will never need to include this file.)

-

-
-
- - -
[Index][TOC]
- -
-

FT_OUTLINE_H

-
-
-#define FT_OUTLINE_H  <freetype/ftoutln.h>
-
-

-
-

A macro used in #include statements to name the file containing the scalable outline management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
- -
-

FT_SIZES_H

-
-
-#define FT_SIZES_H  <freetype/ftsizes.h>
-
-

-
-

A macro used in #include statements to name the file containing the API which manages multiple FT_Size objects per face.

-

-
-
- - -
[Index][TOC]
- -
-

FT_MODULE_H

-
-
-#define FT_MODULE_H  <freetype/ftmodapi.h>
-
-

-
-

A macro used in #include statements to name the file containing the module management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
- -
-

FT_RENDER_H

-
-
-#define FT_RENDER_H  <freetype/ftrender.h>
-
-

-
-

A macro used in #include statements to name the file containing the renderer module management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
- -
-

FT_AUTOHINTER_H

-
-
-#define FT_AUTOHINTER_H  <freetype/ftautoh.h>
-
-

-
-

A macro used in #include statements to name the file containing structures and macros related to the auto-hinting module.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CFF_DRIVER_H

-
-
-#define FT_CFF_DRIVER_H  <freetype/ftcffdrv.h>
-
-

-
-

A macro used in #include statements to name the file containing structures and macros related to the CFF driver module.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TRUETYPE_DRIVER_H

-
-
-#define FT_TRUETYPE_DRIVER_H  <freetype/ftttdrv.h>
-
-

-
-

A macro used in #include statements to name the file containing structures and macros related to the TrueType driver module.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TYPE1_TABLES_H

-
-
-#define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
-
-

-
-

A macro used in #include statements to name the file containing the types and API specific to the Type 1 format.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TRUETYPE_IDS_H

-
-
-#define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
-
-

-
-

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 large set of constant macro definitions, taken from the TrueType and OpenType specifications.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TRUETYPE_TABLES_H

-
-
-#define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
-
-

-
-

A macro used in #include statements to name the file containing the types and API specific to the TrueType (as well as OpenType) format.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TRUETYPE_TAGS_H

-
-
-#define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
-
-

-
-

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).

-

-
-
- - -
[Index][TOC]
- -
-

FT_BDF_H

-
-
-#define FT_BDF_H  <freetype/ftbdf.h>
-
-

-
-

A macro used in #include statements to name the file containing the definitions of an API which accesses BDF-specific strings from a face.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CID_H

-
-
-#define FT_CID_H  <freetype/ftcid.h>
-
-

-
-

A macro used in #include statements to name the file containing the definitions of an API which access CID font information from a face.

-

-
-
- - -
[Index][TOC]
- -
-

FT_GZIP_H

-
-
-#define FT_GZIP_H  <freetype/ftgzip.h>
-
-

-
-

A macro used in #include statements to name the file containing the definitions of an API which supports gzip-compressed files.

-

-
-
- - -
[Index][TOC]
- -
-

FT_LZW_H

-
-
-#define FT_LZW_H  <freetype/ftlzw.h>
-
-

-
-

A macro used in #include statements to name the file containing the definitions of an API which supports LZW-compressed files.

-

-
-
- - -
[Index][TOC]
- -
-

FT_BZIP2_H

-
-
-#define FT_BZIP2_H  <freetype/ftbzip2.h>
-
-

-
-

A macro used in #include statements to name the file containing the definitions of an API which supports bzip2-compressed files.

-

-
-
- - -
[Index][TOC]
- -
-

FT_WINFONTS_H

-
-
-#define FT_WINFONTS_H   <freetype/ftwinfnt.h>
-
-

-
-

A macro used in #include statements to name the file containing the definitions of an API which supports Windows FNT files.

-

-
-
- - -
[Index][TOC]
- -
-

FT_GLYPH_H

-
-
-#define FT_GLYPH_H  <freetype/ftglyph.h>
-
-

-
-

A macro used in #include statements to name the file containing the API of the optional glyph management component.

-

-
-
- - -
[Index][TOC]
- -
-

FT_BITMAP_H

-
-
-#define FT_BITMAP_H  <freetype/ftbitmap.h>
-
-

-
-

A macro used in #include statements to name the file containing the API of the optional bitmap conversion component.

-

-
-
- - -
[Index][TOC]
- -
-

FT_BBOX_H

-
-
-#define FT_BBOX_H  <freetype/ftbbox.h>
-
-

-
-

A macro used in #include statements to name the file containing the API of the optional exact bounding box computation routines.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CACHE_H

-
-
-#define FT_CACHE_H  <freetype/ftcache.h>
-
-

-
-

A macro used in #include statements to name the file containing the API of the optional FreeType 2 cache sub-system.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CACHE_IMAGE_H

-
-
-#define FT_CACHE_IMAGE_H  FT_CACHE_H
-
-

-
-

A macro used in #include statements to name the file containing the ‘glyph image’ API of the FreeType 2 cache sub-system.

-

It is used to define a cache for FT_Glyph elements. You can also use the API defined in FT_CACHE_SMALL_BITMAPS_H if you only need to store small glyph bitmaps, as it will use less memory.

-

This macro is deprecated. Simply include FT_CACHE_H to have all glyph image-related cache declarations.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CACHE_SMALL_BITMAPS_H

-
-
-#define FT_CACHE_SMALL_BITMAPS_H  FT_CACHE_H
-
-

-
-

A macro used in #include statements to name the file containing the ‘small bitmaps’ API of the FreeType 2 cache sub-system.

-

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 FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including scalable outlines.

-

This macro is deprecated. Simply include FT_CACHE_H to have all small bitmaps-related cache declarations.

-

-
-
- - -
[Index][TOC]
- -
-

FT_CACHE_CHARMAP_H

-
-
-#define FT_CACHE_CHARMAP_H  FT_CACHE_H
-
-

-
-

A macro used in #include statements to name the file containing the ‘charmap’ API of the FreeType 2 cache sub-system.

-

This macro is deprecated. Simply include FT_CACHE_H to have all charmap-based cache declarations.

-

-
-
- - -
[Index][TOC]
- -
-

FT_MAC_H

-
-
-#define FT_MAC_H  <freetype/ftmac.h>
-
-

-
-

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.

-

This header file must be explicitly included by client applications compiled on the Mac (note that the base API still works though).

-

-
-
- - -
[Index][TOC]
- -
-

FT_MULTIPLE_MASTERS_H

-
-
-#define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.h>
-
-

-
-

A macro used in #include statements to name the file containing the optional multiple-masters management API of FreeType 2.

-

-
-
- - -
[Index][TOC]
- -
-

FT_SFNT_NAMES_H

-
-
-#define FT_SFNT_NAMES_H  <freetype/ftsnames.h>
-
-

-
-

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).

-

-
-
- - -
[Index][TOC]
- -
-

FT_OPENTYPE_VALIDATE_H

-
-
-#define FT_OPENTYPE_VALIDATE_H  <freetype/ftotval.h>
-
-

-
-

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).

-

-
-
- - -
[Index][TOC]
- -
-

FT_GX_VALIDATE_H

-
-
-#define FT_GX_VALIDATE_H  <freetype/ftgxval.h>
-
-

-
-

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).

-

-
-
- - -
[Index][TOC]
- -
-

FT_PFR_H

-
-
-#define FT_PFR_H  <freetype/ftpfr.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which accesses PFR-specific data.

-

-
-
- - -
[Index][TOC]
- -
-

FT_STROKER_H

-
-
-#define FT_STROKER_H  <freetype/ftstroke.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which provides functions to stroke outline paths.

-

-
-
- - -
[Index][TOC]
- -
-

FT_SYNTHESIS_H

-
-
-#define FT_SYNTHESIS_H  <freetype/ftsynth.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which performs artificial obliquing and emboldening.

-

-
-
- - -
[Index][TOC]
- -
-

FT_XFREE86_H

-
-
-#define FT_XFREE86_H  <freetype/ftxf86.h>
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

FT_TRIGONOMETRY_H

-
-
-#define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>
-
-

-
-

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).

-

-
-
- - -
[Index][TOC]
- -
-

FT_LCD_FILTER_H

-
-
-#define FT_LCD_FILTER_H  <freetype/ftlcdfil.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

-

-
-
- - -
[Index][TOC]
- -
-

FT_UNPATENTED_HINTING_H

-
-
-#define FT_UNPATENTED_HINTING_H  <freetype/ttunpat.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

-

-
-
- - -
[Index][TOC]
- -
-

FT_INCREMENTAL_H

-
-
-#define FT_INCREMENTAL_H  <freetype/ftincrem.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which performs color filtering for subpixel rendering.

-

-
-
- - -
[Index][TOC]
- -
-

FT_GASP_H

-
-
-#define FT_GASP_H  <freetype/ftgasp.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which returns entries from the TrueType GASP table.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ADVANCES_H

-
-
-#define FT_ADVANCES_H  <freetype/ftadvanc.h>
-
-

-
-

A macro used in #include statements to name the file containing the FreeType 2 API which returns individual and ranged glyph advances.

-

-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-index.html b/libs/freetype-2.5.0.1/docs/reference/ft2-index.html deleted file mode 100644 index dae84149..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-index.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - -
[TOC]
-

FreeType-2.5.0 API Reference

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BDF_PROPERTY_TYPE_ATOMFT_LCD_FILTER_LIGHTFT_Stroker_ParseOutline
BDF_PROPERTY_TYPE_CARDINALFT_LCD_FILTER_NONEFT_Stroker_Rewind
BDF_PROPERTY_TYPE_INTEGERFT_LcdFilterFT_Stroker_Set
BDF_PROPERTY_TYPE_NONEFT_LIST_HFT_StrokerBorder
BDF_PropertyFT_LibraryFT_SUBGLYPH_FLAG_2X2
BDF_PropertyRecFT_Library_SetLcdFilterFT_SUBGLYPH_FLAG_ARGS_ARE_WORDS
CID_FaceDictFT_Library_SetLcdFilterWeightsFT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES
CID_FaceDictRecFT_Library_VersionFT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID
CID_FaceInfoFT_ListFT_SUBGLYPH_FLAG_SCALE
CID_FaceInfoRecFT_List_AddFT_SUBGLYPH_FLAG_USE_MY_METRICS
CID_InfoFT_List_DestructorFT_SUBGLYPH_FLAG_XXX
FREETYPE_MAJORFT_List_FinalizeFT_SUBGLYPH_FLAG_XY_SCALE
FREETYPE_MINORFT_List_FindFT_SubGlyph
FREETYPE_PATCHFT_List_InsertFT_SYNTHESIS_H
FREETYPE_XXXFT_List_IterateFT_SYSTEM_H
FT_Activate_SizeFT_List_IteratorFT_Tag
FT_ADVANCE_FLAG_FAST_ONLYFT_List_RemoveFT_Tan
FT_ADVANCES_HFT_List_UpFT_TRIGONOMETRY_H
FT_Add_Default_ModulesFT_ListNodeFT_TRUETYPE_DRIVER_H
FT_Add_ModuleFT_ListNodeRecFT_TRUETYPE_ENGINE_TYPE_NONE
FT_Alloc_FuncFT_ListRecFT_TRUETYPE_ENGINE_TYPE_PATENTED
FT_ANGLE_2PIFT_LOAD_COLORFT_TRUETYPE_ENGINE_TYPE_UNPATENTED
FT_ANGLE_PIFT_LOAD_CROP_BITMAPFT_TRUETYPE_IDS_H
FT_ANGLE_PI2FT_LOAD_DEFAULTFT_TRUETYPE_TABLES_H
FT_ANGLE_PI4FT_LOAD_FORCE_AUTOHINTFT_TRUETYPE_TAGS_H
FT_AngleFT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTHFT_TrueTypeEngineType
FT_Angle_DiffFT_LOAD_IGNORE_TRANSFORMFT_TrueTypeGX_Free
FT_Atan2FT_LOAD_LINEAR_DESIGNFT_TrueTypeGX_Validate
FT_Attach_FileFT_LOAD_MONOCHROMEFT_TYPE1_TABLES_H
FT_Attach_StreamFT_LOAD_NO_AUTOHINTFT_TYPES_H
FT_AUTOHINTER_HFT_LOAD_NO_BITMAPFT_UFWord
FT_AUTOHINTER_SCRIPT_CJKFT_LOAD_NO_HINTINGFT_UInt
FT_AUTOHINTER_SCRIPT_INDICFT_LOAD_NO_RECURSEFT_UInt16
FT_AUTOHINTER_SCRIPT_LATINFT_LOAD_NO_SCALEFT_UInt32
FT_AUTOHINTER_SCRIPT_NONEFT_LOAD_PEDANTICFT_UInt64
FT_AUTOHINTER_SCRIPT_XXXFT_LOAD_RENDERFT_ULong
FT_BBOX_HFT_LOAD_TARGET_LCDFT_UNPATENTED_HINTING_H
FT_BBoxFT_LOAD_TARGET_LCD_VFT_UnitVector
FT_BDF_HFT_LOAD_TARGET_LIGHTFT_UShort
FT_BITMAP_HFT_LOAD_TARGET_MODEFT_VALIDATE_APPLE
FT_BitmapFT_LOAD_TARGET_MONOFT_VALIDATE_BASE
FT_Bitmap_ConvertFT_LOAD_TARGET_NORMALFT_VALIDATE_bsln
FT_Bitmap_CopyFT_LOAD_TARGET_XXXFT_VALIDATE_CKERN
FT_Bitmap_DoneFT_LOAD_VERTICAL_LAYOUTFT_VALIDATE_CKERNXXX
FT_Bitmap_EmboldenFT_LOAD_XXXFT_VALIDATE_feat
FT_Bitmap_NewFT_Load_CharFT_VALIDATE_GDEF
FT_Bitmap_SizeFT_Load_GlyphFT_VALIDATE_GPOS
FT_BitmapGlyphFT_Load_Sfnt_TableFT_VALIDATE_GSUB
FT_BitmapGlyphRecFT_LongFT_VALIDATE_GX
FT_BoolFT_LZW_HFT_VALIDATE_GX_LENGTH
FT_ByteFT_MAC_HFT_VALIDATE_GXXXX
FT_BytesFT_MAKE_TAGFT_VALIDATE_JSTF
FT_BZIP2_HFT_MatrixFT_VALIDATE_just
FT_CACHE_CHARMAP_HFT_Matrix_InvertFT_VALIDATE_kern
FT_CACHE_HFT_Matrix_MultiplyFT_VALIDATE_lcar
FT_CACHE_IMAGE_HFT_MemoryFT_VALIDATE_MATH
FT_CACHE_SMALL_BITMAPS_HFT_MemoryRecFT_VALIDATE_MS
FT_CeilFixFT_MM_AxisFT_VALIDATE_mort
FT_CFF_DRIVER_HFT_MM_VarFT_VALIDATE_morx
FT_CFF_HINTING_ADOBEFT_MODULE_ERRORS_HFT_VALIDATE_OT
FT_CFF_HINTING_FREETYPEFT_MODULE_HFT_VALIDATE_OTXXX
FT_CFF_HINTING_XXXFT_ModuleFT_VALIDATE_opbd
FT_CharFT_Module_ClassFT_VALIDATE_prop
FT_CharMapFT_Module_ConstructorFT_VALIDATE_trak
FT_CharMapRecFT_Module_DestructorFT_Var_Axis
FT_CID_HFT_Module_RequesterFT_Var_Named_Style
FT_ClassicKern_FreeFT_MULTIPLE_MASTERS_HFT_Vector
FT_ClassicKern_ValidateFT_MulDivFT_Vector_From_Polar
FT_CONFIG_CONFIG_HFT_MulFixFT_Vector_Length
FT_CONFIG_MODULES_HFT_Multi_MasterFT_Vector_Polarize
FT_CONFIG_OPTIONS_HFT_New_FaceFT_Vector_Rotate
FT_CONFIG_STANDARD_LIBRARY_HFT_New_Face_From_FONDFT_Vector_Transform
FT_CosFT_New_Face_From_FSRefFT_Vector_Unit
FT_DataFT_New_Face_From_FSSpecFT_WINFONTS_H
FT_DivFixFT_New_LibraryFT_WinFNT_Header
FT_Done_FaceFT_New_Memory_FaceFT_WinFNT_HeaderRec
FT_Done_FreeTypeFT_New_SizeFT_WinFNT_ID_CP1250
FT_Done_GlyphFT_OffsetFT_WinFNT_ID_CP1251
FT_Done_LibraryFT_OPEN_DRIVERFT_WinFNT_ID_CP1252
FT_Done_SizeFT_OPEN_MEMORYFT_WinFNT_ID_CP1253
FT_DriverFT_OPEN_PARAMSFT_WinFNT_ID_CP1254
FT_ENC_TAGFT_OPEN_PATHNAMEFT_WinFNT_ID_CP1255
FT_ENCODING_ADOBE_CUSTOMFT_OPEN_STREAMFT_WinFNT_ID_CP1256
FT_ENCODING_ADOBE_EXPERTFT_OPEN_XXXFT_WinFNT_ID_CP1257
FT_ENCODING_ADOBE_LATIN_1FT_OPENTYPE_VALIDATE_HFT_WinFNT_ID_CP1258
FT_ENCODING_ADOBE_STANDARDFT_Open_ArgsFT_WinFNT_ID_CP1361
FT_ENCODING_APPLE_ROMANFT_Open_FaceFT_WinFNT_ID_CP874
FT_ENCODING_BIG5FT_OpenType_FreeFT_WinFNT_ID_CP932
FT_ENCODING_GB2312FT_OpenType_ValidateFT_WinFNT_ID_CP936
FT_ENCODING_JOHABFT_ORIENTATION_FILL_LEFTFT_WinFNT_ID_CP949
FT_ENCODING_MS_BIG5FT_ORIENTATION_FILL_RIGHTFT_WinFNT_ID_CP950
FT_ENCODING_MS_GB2312FT_ORIENTATION_NONEFT_WinFNT_ID_DEFAULT
FT_ENCODING_MS_JOHABFT_ORIENTATION_POSTSCRIPTFT_WinFNT_ID_MAC
FT_ENCODING_MS_SJISFT_ORIENTATION_TRUETYPEFT_WinFNT_ID_OEM
FT_ENCODING_MS_SYMBOLFT_OrientationFT_WinFNT_ID_SYMBOL
FT_ENCODING_MS_WANSUNGFT_OUTLINE_EVEN_ODD_FILLFT_WinFNT_ID_XXX
FT_ENCODING_NONEFT_OUTLINE_FLAGSFT_XFREE86_H
FT_ENCODING_OLD_LATIN_2FT_OUTLINE_HFTC_CMapCache
FT_ENCODING_SJISFT_OUTLINE_HIGH_PRECISIONFTC_CMapCache_Lookup
FT_ENCODING_UNICODEFT_OUTLINE_IGNORE_DROPOUTSFTC_CMapCache_New
FT_ENCODING_WANSUNGFT_OUTLINE_INCLUDE_STUBSFTC_Face_Requester
FT_EncodingFT_OUTLINE_NONEFTC_FaceID
FT_ERRORS_HFT_OUTLINE_OWNERFTC_ImageCache
FT_ErrorFT_OUTLINE_REVERSE_FILLFTC_ImageCache_Lookup
FT_F26Dot6FT_OUTLINE_SINGLE_PASSFTC_ImageCache_LookupScaler
FT_F2Dot14FT_OUTLINE_SMART_DROPOUTSFTC_ImageCache_New
FT_FACE_FLAG_CID_KEYEDFT_OutlineFTC_ImageType
FT_FACE_FLAG_EXTERNAL_STREAMFT_Outline_CheckFTC_ImageTypeRec
FT_FACE_FLAG_FAST_GLYPHSFT_Outline_ConicToFuncFTC_Manager
FT_FACE_FLAG_FIXED_SIZESFT_Outline_CopyFTC_Manager_Done
FT_FACE_FLAG_FIXED_WIDTHFT_Outline_CubicToFuncFTC_Manager_LookupFace
FT_FACE_FLAG_GLYPH_NAMESFT_Outline_DecomposeFTC_Manager_LookupSize
FT_FACE_FLAG_HINTERFT_Outline_DoneFTC_Manager_New
FT_FACE_FLAG_HORIZONTALFT_Outline_EmboldenFTC_Manager_RemoveFaceID
FT_FACE_FLAG_KERNINGFT_Outline_EmboldenXYFTC_Manager_Reset
FT_FACE_FLAG_MULTIPLE_MASTERSFT_Outline_FuncsFTC_Node
FT_FACE_FLAG_SCALABLEFT_Outline_Get_BBoxFTC_Node_Unref
FT_FACE_FLAG_SFNTFT_Outline_Get_BitmapFTC_SBit
FT_FACE_FLAG_TRICKYFT_Outline_Get_CBoxFTC_SBitCache
FT_FACE_FLAG_VERTICALFT_Outline_Get_OrientationFTC_SBitCache_Lookup
FT_FACE_FLAG_XXXFT_Outline_GetInsideBorderFTC_SBitCache_LookupScaler
FT_FaceFT_Outline_GetOutsideBorderFTC_SBitCache_New
FT_Face_CheckTrueTypePatentsFT_Outline_LineToFuncFTC_SBitRec
FT_Face_GetCharsOfVariantFT_Outline_MoveToFuncFTC_Scaler
FT_Face_GetCharVariantIndexFT_Outline_NewFTC_ScalerRec
FT_Face_GetCharVariantIsDefaultFT_Outline_Renderfallback-script
FT_Face_GetVariantSelectorsFT_Outline_Reverseft_encoding_xxx
FT_Face_GetVariantsOfCharFT_Outline_Transformft_glyph_bbox_gridfit
FT_Face_InternalFT_Outline_Translateft_glyph_bbox_pixels
FT_Face_SetUnpatentedHintingFT_OutlineGlyphft_glyph_bbox_subpixels
FT_FaceRecFT_OutlineGlyphRecft_glyph_bbox_truncate
FT_FixedFT_PARAM_TAG_IGNORE_PREFERRED_FAMILYft_glyph_bbox_unscaled
FT_FloorFixFT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILYft_glyph_bbox_xxx
FT_FREETYPE_HFT_PARAM_TAG_INCREMENTALft_glyph_format_bitmap
FT_Free_FuncFT_PARAM_TAG_UNPATENTED_HINTINGft_glyph_format_composite
FT_FSTYPE_BITMAP_EMBEDDING_ONLYFT_Palette_Modeft_glyph_format_none
FT_FSTYPE_EDITABLE_EMBEDDINGFT_Parameterft_glyph_format_outline
FT_FSTYPE_INSTALLABLE_EMBEDDINGFT_PFR_Hft_glyph_format_plotter
FT_FSTYPE_NO_SUBSETTINGFT_PIXEL_MODE_BGRAft_glyph_format_xxx
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDINGFT_PIXEL_MODE_GRAYft_kerning_default
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDINGFT_PIXEL_MODE_GRAY2ft_kerning_unfitted
FT_FSTYPE_XXXFT_PIXEL_MODE_GRAY4ft_kerning_unscaled
FT_FWordFT_PIXEL_MODE_LCDft_open_driver
FT_GASP_DO_GRAYFT_PIXEL_MODE_LCD_Vft_open_memory
FT_GASP_DO_GRIDFITFT_PIXEL_MODE_MONOft_open_params
FT_GASP_HFT_PIXEL_MODE_NONEft_open_pathname
FT_GASP_NO_TABLEFT_Pixel_Modeft_open_stream
FT_GASP_SYMMETRIC_GRIDFITFT_Pointerft_outline_even_odd_fill
FT_GASP_SYMMETRIC_SMOOTHINGFT_Posft_outline_flags
FT_GASP_XXXFT_Prop_GlyphToScriptMapft_outline_high_precision
FT_GenericFT_Prop_IncreaseXHeightft_outline_ignore_dropouts
FT_Generic_FinalizerFT_Property_Getft_outline_none
FT_Get_AdvanceFT_Property_Setft_outline_owner
FT_Get_AdvancesFT_PropertyTypeft_outline_reverse_fill
FT_Get_BDF_Charset_IDFT_PtrDistft_outline_single_pass
FT_Get_BDF_PropertyFT_RASTER_FLAG_AAft_palette_mode_rgb
FT_Get_Char_IndexFT_RASTER_FLAG_CLIPft_palette_mode_rgba
FT_Get_Charmap_IndexFT_RASTER_FLAG_DEFAULTft_pixel_mode_grays
FT_Get_CID_From_Glyph_IndexFT_RASTER_FLAG_DIRECTft_pixel_mode_mono
FT_Get_CID_Is_Internally_CID_KeyedFT_RASTER_FLAG_XXXft_pixel_mode_none
FT_Get_CID_Registry_Ordering_SupplementFT_Rasterft_pixel_mode_pal2
FT_Get_CMap_FormatFT_Raster_BitSet_Funcft_pixel_mode_pal4
FT_Get_CMap_Language_IDFT_Raster_BitTest_Funcft_pixel_mode_xxx
FT_Get_First_CharFT_Raster_DoneFuncft_render_mode_mono
FT_Get_FSType_FlagsFT_Raster_Funcsft_render_mode_normal
FT_Get_GaspFT_Raster_NewFuncft_render_mode_xxx
FT_Get_GlyphFT_Raster_Paramsglyph-to-script-map
FT_Get_Glyph_NameFT_Raster_RenderFunchinting-engine
FT_Get_KerningFT_Raster_ResetFuncincrease-x-height
FT_Get_MM_VarFT_Raster_SetModeFuncinterpreter-version
FT_Get_ModuleFT_RENDER_Hno-stem-darkening
FT_Get_Multi_MasterFT_RENDER_MODE_LCDPS_Dict_Keys
FT_Get_Name_IndexFT_RENDER_MODE_LCD_VPS_FontInfo
FT_Get_Next_CharFT_RENDER_MODE_LIGHTPS_FontInfoRec
FT_Get_PFR_AdvanceFT_RENDER_MODE_MONOPS_Private
FT_Get_PFR_KerningFT_RENDER_MODE_NORMALPS_PrivateRec
FT_Get_PFR_MetricsFT_Realloc_FuncT1_Blend_Flags
FT_Get_Postscript_NameFT_Reference_FaceT1_EncodingType
FT_Get_PS_Font_InfoFT_Reference_LibraryT1_FontInfo
FT_Get_PS_Font_PrivateFT_Remove_ModuleT1_Private
FT_Get_PS_Font_ValueFT_Render_GlyphTT_ADOBE_ID_CUSTOM
FT_Get_RendererFT_Render_ModeTT_ADOBE_ID_EXPERT
FT_Get_Sfnt_NameFT_RendererTT_ADOBE_ID_LATIN_1
FT_Get_Sfnt_Name_CountFT_Renderer_ClassTT_ADOBE_ID_STANDARD
FT_Get_Sfnt_TableFT_Request_SizeTT_ADOBE_ID_XXX
FT_Get_SubGlyph_InfoFT_RoundFixTT_APPLE_ID_DEFAULT
FT_Get_Track_KerningFT_Select_CharmapTT_APPLE_ID_ISO_10646
FT_Get_TrueType_Engine_TypeFT_Select_SizeTT_APPLE_ID_UNICODE_1_1
FT_Get_WinFNT_HeaderFT_Set_Char_SizeTT_APPLE_ID_UNICODE_2_0
FT_Get_X11_Font_FormatFT_Set_CharmapTT_APPLE_ID_UNICODE_32
FT_GetFile_From_Mac_ATS_NameFT_Set_Debug_HookTT_APPLE_ID_VARIANT_SELECTOR
FT_GetFile_From_Mac_NameFT_Set_MM_Blend_CoordinatesTT_APPLE_ID_XXX
FT_GetFilePath_From_Mac_ATS_NameFT_Set_MM_Design_CoordinatesTT_Header
FT_GLYPH_BBOX_GRIDFITFT_Set_Pixel_SizesTT_HoriHeader
FT_GLYPH_BBOX_PIXELSFT_Set_RendererTT_INTERPRETER_VERSION_35
FT_GLYPH_BBOX_SUBPIXELSFT_Set_TransformTT_INTERPRETER_VERSION_38
FT_GLYPH_BBOX_TRUNCATEFT_Set_Var_Blend_CoordinatesTT_INTERPRETER_VERSION_XXX
FT_GLYPH_BBOX_UNSCALEDFT_Set_Var_Design_CoordinatesTT_ISO_ID_10646
FT_GLYPH_FORMAT_BITMAPFT_SFNT_NAMES_HTT_ISO_ID_7BIT_ASCII
FT_GLYPH_FORMAT_COMPOSITEFT_Sfnt_Table_InfoTT_ISO_ID_8859_1
FT_GLYPH_FORMAT_NONEFT_Sfnt_TagTT_ISO_ID_XXX
FT_GLYPH_FORMAT_OUTLINEFT_SfntNameTT_MAC_ID_ARABIC
FT_GLYPH_FORMAT_PLOTTERFT_ShortTT_MAC_ID_ARMENIAN
FT_GLYPH_HFT_SIZE_REQUEST_TYPE_BBOXTT_MAC_ID_BENGALI
FT_GlyphFT_SIZE_REQUEST_TYPE_CELLTT_MAC_ID_BURMESE
FT_Glyph_BBox_ModeFT_SIZE_REQUEST_TYPE_NOMINALTT_MAC_ID_DEVANAGARI
FT_Glyph_CopyFT_SIZE_REQUEST_TYPE_REAL_DIMTT_MAC_ID_GEEZ
FT_Glyph_FormatFT_SIZE_REQUEST_TYPE_SCALESTT_MAC_ID_GEORGIAN
FT_Glyph_Get_CBoxFT_SIZES_HTT_MAC_ID_GREEK
FT_Glyph_MetricsFT_SinTT_MAC_ID_GUJARATI
FT_Glyph_StrokeFT_SizeTT_MAC_ID_GURMUKHI
FT_Glyph_StrokeBorderFT_Size_InternalTT_MAC_ID_HEBREW
FT_Glyph_To_BitmapFT_Size_MetricsTT_MAC_ID_JAPANESE
FT_Glyph_TransformFT_Size_RequestTT_MAC_ID_KANNADA
FT_GlyphRecFT_Size_Request_TypeTT_MAC_ID_KHMER
FT_GlyphSlotFT_Size_RequestRecTT_MAC_ID_KOREAN
FT_GlyphSlot_Own_BitmapFT_SizeRecTT_MAC_ID_LAOTIAN
FT_GlyphSlotRecFT_Slot_InternalTT_MAC_ID_MALAYALAM
FT_GX_VALIDATE_HFT_SpanTT_MAC_ID_MALDIVIAN
FT_GZIP_HFT_SpanFuncTT_MAC_ID_MONGOLIAN
FT_HAS_FAST_GLYPHSFT_STROKER_BORDER_LEFTTT_MAC_ID_ORIYA
FT_HAS_FIXED_SIZESFT_STROKER_BORDER_RIGHTTT_MAC_ID_ROMAN
FT_HAS_GLYPH_NAMESFT_STROKER_HTT_MAC_ID_RSYMBOL
FT_HAS_HORIZONTALFT_STROKER_LINECAP_BUTTTT_MAC_ID_RUSSIAN
FT_HAS_KERNINGFT_STROKER_LINECAP_ROUNDTT_MAC_ID_SIMPLIFIED_CHINESE
FT_HAS_MULTIPLE_MASTERSFT_STROKER_LINECAP_SQUARETT_MAC_ID_SINDHI
FT_HAS_VERTICALFT_STROKER_LINEJOIN_BEVELTT_MAC_ID_SINHALESE
FT_Has_PS_Glyph_NamesFT_STROKER_LINEJOIN_MITERTT_MAC_ID_SLAVIC
FT_IMAGE_HFT_STROKER_LINEJOIN_MITER_FIXEDTT_MAC_ID_TAMIL
FT_IMAGE_TAGFT_STROKER_LINEJOIN_MITER_VARIABLETT_MAC_ID_TELUGU
FT_INCREMENTAL_HFT_STROKER_LINEJOIN_ROUNDTT_MAC_ID_THAI
FT_IncrementalFT_STYLE_FLAG_BOLDTT_MAC_ID_TIBETAN
FT_Incremental_FreeGlyphDataFuncFT_STYLE_FLAG_ITALICTT_MAC_ID_TRADITIONAL_CHINESE
FT_Incremental_FuncsRecFT_STYLE_FLAG_XXXTT_MAC_ID_UNINTERP
FT_Incremental_GetGlyphDataFuncFT_StreamTT_MAC_ID_VIETNAMESE
FT_Incremental_GetGlyphMetricsFuncFT_Stream_CloseFuncTT_MAC_ID_XXX
FT_Incremental_InterfaceFT_Stream_IoFuncTT_MaxProfile
FT_Incremental_InterfaceRecFT_Stream_OpenBzip2TT_MS_ID_BIG_5
FT_Incremental_MetricsFT_Stream_OpenGzipTT_MS_ID_GB2312
FT_Incremental_MetricsRecFT_Stream_OpenLZWTT_MS_ID_JOHAB
FT_Init_FreeTypeFT_StreamDescTT_MS_ID_SJIS
FT_IntFT_StreamRecTT_MS_ID_SYMBOL_CS
FT_Int16FT_StringTT_MS_ID_UCS_4
FT_Int32FT_StrokerTT_MS_ID_UNICODE_CS
FT_Int64FT_Stroker_BeginSubPathTT_MS_ID_WANSUNG
FT_IS_CID_KEYEDFT_Stroker_ConicToTT_MS_ID_XXX
FT_IS_FIXED_WIDTHFT_Stroker_CubicToTT_OS2
FT_IS_SCALABLEFT_Stroker_DoneTT_PCLT
FT_IS_SFNTFT_Stroker_EndSubPathTT_PLATFORM_ADOBE
FT_IS_TRICKYFT_Stroker_ExportTT_PLATFORM_APPLE_UNICODE
FT_KERNING_DEFAULTFT_Stroker_ExportBorderTT_PLATFORM_CUSTOM
FT_KERNING_UNFITTEDFT_Stroker_GetBorderCountsTT_PLATFORM_ISO
FT_KERNING_UNSCALEDFT_Stroker_GetCountsTT_PLATFORM_MACINTOSH
FT_Kerning_ModeFT_Stroker_LineCapTT_PLATFORM_MICROSOFT
FT_LCD_FILTER_DEFAULTFT_Stroker_LineJoinTT_PLATFORM_XXX
FT_LCD_FILTER_HFT_Stroker_LineToTT_Postscript
FT_LCD_FILTER_LEGACYFT_Stroker_NewTT_VertHeader
-
- -
[TOC]
- -
generated on Wed Jun 19 23:29:20 2013
- diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-lcd_filtering.html b/libs/freetype-2.5.0.1/docs/reference/ft2-lcd_filtering.html deleted file mode 100644 index 7695f9a1..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-lcd_filtering.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-LCD Filtering -

-

Synopsis

- - - -
FT_LcdFilterFT_Library_SetLcdFilterWeights
FT_Library_SetLcdFilter


- -
-

The FT_Library_SetLcdFilter API can be used to specify a low-pass filter which is then applied to LCD-optimized bitmaps generated through FT_Render_Glyph. This is useful to reduce color fringes which would occur with unfiltered rendering.

-

Note that no filter is active by default, and that this function is not 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.

-

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

-
-  dst = alpha * src + (1 - alpha) * dst    ,
-
-

which is known as OVER. However, when calculating the output of the OVER operator, the source colors should first be transformed to a linear color space, then alpha blended in that space, and transformed back to the output color space.

-

When linear light blending is used, the default FIR5 filtering weights (as given by FT_LCD_FILTER_DEFAULT) are no longer optimal, as they have been designed for black on white rendering while lacking gamma correction. To preserve color neutrality, weights for a FIR5 filter should be chosen according to two free parameters ‘a’ and ‘c’, and the FIR weights should be

-
-  [a - c, a + c, 2 * a, a + c, a - c]    .
-
-

This formula generates equal weights for all the color primaries across the filter kernel, which makes it colorless. One suggested set of weights is

-
-  [0x10, 0x50, 0x60, 0x50, 0x10]    ,
-
-

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.

-

-
-

FT_LcdFilter

-
-Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). -

-
-
-  typedef enum  FT_LcdFilter_
-  {
-    FT_LCD_FILTER_NONE    = 0,
-    FT_LCD_FILTER_DEFAULT = 1,
-    FT_LCD_FILTER_LIGHT   = 2,
-    FT_LCD_FILTER_LEGACY  = 16,
-
-    FT_LCD_FILTER_MAX   /* do not remove */
-
-  } FT_LcdFilter;
-
-

-
-

A list of values to identify various types of LCD filters.

-

-
values
-

- - - - - -
FT_LCD_FILTER_NONE -

Do not perform filtering. When used with subpixel rendering, this results in sometimes severe color fringes.

-
FT_LCD_FILTER_DEFAULT -

The default filter reduces color fringes considerably, at the cost of a slight blurriness in the output.

-
FT_LCD_FILTER_LIGHT -

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.

-
FT_LCD_FILTER_LEGACY -

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 and high-quality hinted fonts are used.

-

This filter is only provided for comparison purposes, and might be disabled or stay unsupported in the future.

-
-
-
since
-

2.3.0

-
-
-
- - -
[Index][TOC]
- -
-

FT_Library_SetLcdFilter

-
-Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Library_SetLcdFilter( FT_Library    library,
-                           FT_LcdFilter  filter );
-
-

-
-

This function is used to apply color filtering to LCD decimated bitmaps, like the ones used when calling FT_Render_Glyph with FT_RENDER_MODE_LCD or FT_RENDER_MODE_LCD_V.

-

-
input
-

- - - -
library -

A handle to the target library instance.

-
filter -

The filter type.

-

You can use FT_LCD_FILTER_NONE here to disable this feature, or FT_LCD_FILTER_DEFAULT to use a default filter that should work well on most LCD screens.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This feature is always disabled by default. Clients must make an explicit call to this function with a ‘filter’ value other than FT_LCD_FILTER_NONE in order to enable it.

-

Due to PATENTS 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.

-

The filter affects glyph bitmaps rendered through FT_Render_Glyph, FT_Outline_Get_Bitmap, FT_Load_Glyph, and FT_Load_Char.

-

It does not affect the output of FT_Outline_Render and FT_Outline_Get_Bitmap.

-

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 FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and up to 3 pixels to the right.

-

The bitmap offset values are adjusted correctly, so clients shouldn't need to modify their layout and glyph positioning code when enabling the filter.

-
-
since
-

2.3.0

-
-
-
- - -
[Index][TOC]
- -
-

FT_Library_SetLcdFilterWeights

-
-Defined in FT_LCD_FILTER_H (freetype/ftlcdfil.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Library_SetLcdFilterWeights( FT_Library      library,
-                                  unsigned char  *weights );
-
-

-
-

Use this function to override the filter weights selected by FT_Library_SetLcdFilter. 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.

-

-
input
-

- - - -
library -

A handle to the target library instance.

-
weights -

A pointer to an array; the function copies the first five bytes and uses them to specify the filter weights.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

Due to PATENTS 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.

-

This function must be called after FT_Library_SetLcdFilter to have any effect.

-
-
since
-

2.4.0

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-list_processing.html b/libs/freetype-2.5.0.1/docs/reference/ft2-list_processing.html deleted file mode 100644 index b885f0ac..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-list_processing.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-List Processing -

-

Synopsis

- - - - - - -
FT_ListFT_List_AddFT_List_Iterate
FT_ListNodeFT_List_InsertFT_List_Destructor
FT_ListRecFT_List_RemoveFT_List_Finalize
FT_ListNodeRecFT_List_Up
FT_List_FindFT_List_Iterator


- -
-

This section contains various definitions related to list processing using doubly-linked nodes.

-

-
-

FT_List

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct FT_ListRec_*  FT_List;
-
-

-
-

A handle to a list record (see FT_ListRec).

-

-
-
- - -
[Index][TOC]
- -
-

FT_ListNode

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct FT_ListNodeRec_*  FT_ListNode;
-
-

-
-

Many elements and objects in FreeType are listed through an FT_List record (see FT_ListRec). As its name suggests, an FT_ListNode is a handle to a single list element.

-

-
-
- - -
[Index][TOC]
- -
-

FT_ListRec

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct  FT_ListRec_
-  {
-    FT_ListNode  head;
-    FT_ListNode  tail;
-
-  } FT_ListRec;
-
-

-
-

A structure used to hold a simple doubly-linked list. These are used in many parts of FreeType.

-

-
fields
-

- - - -
head -

The head (first element) of doubly-linked list.

-
tail -

The tail (last element) of doubly-linked list.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_ListNodeRec

-
-Defined in FT_TYPES_H (freetype/fttypes.h). -

-
-
-  typedef struct  FT_ListNodeRec_
-  {
-    FT_ListNode  prev;
-    FT_ListNode  next;
-    void*        data;
-
-  } FT_ListNodeRec;
-
-

-
-

A structure used to hold a single list element.

-

-
fields
-

- - - - -
prev -

The previous element in the list. NULL if first.

-
next -

The next element in the list. NULL if last.

-
data -

A typeless pointer to the listed object.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Find

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( FT_ListNode )
-  FT_List_Find( FT_List  list,
-                void*    data );
-
-

-
-

Find the list node for a given listed object.

-

-
input
-

- - - -
list -

A pointer to the parent list.

-
data -

The address of the listed object.

-
-
-
return
-

List node. NULL if it wasn't found.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Add

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( void )
-  FT_List_Add( FT_List      list,
-               FT_ListNode  node );
-
-

-
-

Append an element to the end of a list.

-

-
inout
-

- - - -
list -

A pointer to the parent list.

-
node -

The node to append.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Insert

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( void )
-  FT_List_Insert( FT_List      list,
-                  FT_ListNode  node );
-
-

-
-

Insert an element at the head of a list.

-

-
inout
-

- - - -
list -

A pointer to parent list.

-
node -

The node to insert.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Remove

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( void )
-  FT_List_Remove( FT_List      list,
-                  FT_ListNode  node );
-
-

-
-

Remove a node from a list. This function doesn't check whether the node is in the list!

-

-
input
-

- - -
node -

The node to remove.

-
-
-
inout
-

- - -
list -

A pointer to the parent list.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Up

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( void )
-  FT_List_Up( FT_List      list,
-              FT_ListNode  node );
-
-

-
-

Move a node to the head/top of a list. Used to maintain LRU lists.

-

-
inout
-

- - - -
list -

A pointer to the parent list.

-
node -

The node to move.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Iterator

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  typedef FT_Error
-  (*FT_List_Iterator)( FT_ListNode  node,
-                       void*        user );
-
-

-
-

An FT_List iterator function which is called during a list parse by FT_List_Iterate.

-

-
input
-

- - - -
node -

The current iteration list node.

-
user -

A typeless pointer passed to FT_List_Iterate. Can be used to point to the iteration's state.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Iterate

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_List_Iterate( FT_List           list,
-                   FT_List_Iterator  iterator,
-                   void*             user );
-
-

-
-

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.

-

-
input
-

- - - - -
list -

A handle to the list.

-
iterator -

An iterator function, called on each node of the list.

-
user -

A user-supplied field which is passed as the second argument to the iterator.

-
-
-
return
-

The result (a FreeType error code) of the last iterator call.

-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Destructor

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  typedef void
-  (*FT_List_Destructor)( FT_Memory  memory,
-                         void*      data,
-                         void*      user );
-
-

-
-

An FT_List iterator function which is called during a list finalization by FT_List_Finalize to destroy all elements in a given list.

-

-
input
-

- - - - -
system -

The current system object.

-
data -

The current object to destroy.

-
user -

A typeless pointer passed to FT_List_Iterate. It can be used to point to the iteration's state.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_List_Finalize

-
-Defined in FT_LIST_H (freetype/ftlist.h). -

-
-
-  FT_EXPORT( void )
-  FT_List_Finalize( FT_List             list,
-                    FT_List_Destructor  destroy,
-                    FT_Memory           memory,
-                    void*               user );
-
-

-
-

Destroy all elements in the list as well as the list itself.

-

-
input
-

- - - - - -
list -

A handle to the list.

-
destroy -

A list destructor that will be applied to each element of the list.

-
memory -

The current memory object which handles deallocation.

-
user -

A user-supplied field which is passed as the last argument to the destructor.

-
-
-
note
-

This function expects that all nodes added by FT_List_Add or FT_List_Insert have been dynamically allocated.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-lzw.html b/libs/freetype-2.5.0.1/docs/reference/ft2-lzw.html deleted file mode 100644 index 6010bfe3..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-lzw.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-LZW Streams -

-

Synopsis

- - -
FT_Stream_OpenLZW


- -
-

This section contains the declaration of LZW-specific functions.

-

-
-

FT_Stream_OpenLZW

-
-Defined in FT_LZW_H (freetype/ftlzw.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Stream_OpenLZW( FT_Stream  stream,
-                     FT_Stream  source );
-
-

-
-

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.

-

-
input
-

- - - -
stream -

The target embedding stream.

-
source -

The source stream.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The source stream must be opened before calling this function.

-

Calling the internal function ‘FT_Stream_Close’ on the new stream will not call ‘FT_Stream_Close’ on the source stream. None of the stream objects will be released to the heap.

-

The stream implementation is very basic and resets the decompression process each time seeking backwards is needed within the stream

-

In certain builds of the library, LZW compression recognition is automatically handled when calling FT_New_Face or FT_Open_Face. 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.

-

This function may return ‘FT_Err_Unimplemented_Feature’ if your build of FreeType was not compiled with LZW support.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-mac_specific.html b/libs/freetype-2.5.0.1/docs/reference/ft2-mac_specific.html deleted file mode 100644 index 3c1aa895..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-mac_specific.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Mac Specific Interface -

-

Synopsis

- - - - -
FT_New_Face_From_FONDFT_GetFilePath_From_Mac_ATS_Name
FT_GetFile_From_Mac_NameFT_New_Face_From_FSSpec
FT_GetFile_From_Mac_ATS_NameFT_New_Face_From_FSRef


- -
-

The following definitions are only available if FreeType is compiled on a Macintosh.

-

-
-

FT_New_Face_From_FOND

-
-Defined in FT_MAC_H (freetype/ftmac.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Face_From_FOND( FT_Library  library,
-                         Handle      fond,
-                         FT_Long     face_index,
-                         FT_Face    *aface )
-                       FT_DEPRECATED_ATTRIBUTE;
-
-

-
-

Create a new face object from a FOND resource.

-

-
inout
-

- - -
library -

A handle to the library resource.

-
-
-
input
-

- - - -
fond -

A FOND resource.

-
face_index -

Only supported for the -1 ‘sanity check’ special case.

-
-
-
output
-

- - -
aface -

A handle to a new face object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
notes
-

This function can be used to create FT_Face objects from fonts that are installed in the system as follows.

-
-  fond = GetResource( 'FOND', fontName );                          
-  error = FT_New_Face_From_FOND( library, fond, 0, &face );        
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_GetFile_From_Mac_Name

-
-Defined in FT_MAC_H (freetype/ftmac.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_GetFile_From_Mac_Name( const char*  fontName,
-                            FSSpec*      pathSpec,
-                            FT_Long*     face_index )
-                          FT_DEPRECATED_ATTRIBUTE;
-
-

-
-

Return an FSSpec for the disk file containing the named font.

-

-
input
-

- - -
fontName -

Mac OS name of the font (e.g., Times New Roman Bold).

-
-
-
output
-

- - - -
pathSpec -

FSSpec to the file. For passing to FT_New_Face_From_FSSpec.

-
face_index -

Index of the face. For passing to FT_New_Face_From_FSSpec.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GetFile_From_Mac_ATS_Name

-
-Defined in FT_MAC_H (freetype/ftmac.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_GetFile_From_Mac_ATS_Name( const char*  fontName,
-                                FSSpec*      pathSpec,
-                                FT_Long*     face_index )
-                              FT_DEPRECATED_ATTRIBUTE;
-
-

-
-

Return an FSSpec for the disk file containing the named font.

-

-
input
-

- - -
fontName -

Mac OS name of the font in ATS framework.

-
-
-
output
-

- - - -
pathSpec -

FSSpec to the file. For passing to FT_New_Face_From_FSSpec.

-
face_index -

Index of the face. For passing to FT_New_Face_From_FSSpec.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_GetFilePath_From_Mac_ATS_Name

-
-Defined in FT_MAC_H (freetype/ftmac.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,
-                                    UInt8*       path,
-                                    UInt32       maxPathSize,
-                                    FT_Long*     face_index )
-                                  FT_DEPRECATED_ATTRIBUTE;
-
-

-
-

Return a pathname of the disk file and face index for given font name which is handled by ATS framework.

-

-
input
-

- - -
fontName -

Mac OS name of the font in ATS framework.

-
-
-
output
-

- - - - -
path -

Buffer to store pathname of the file. For passing to FT_New_Face. The client must allocate this buffer before calling this function.

-
maxPathSize -

Lengths of the buffer ‘path’ that client allocated.

-
face_index -

Index of the face. For passing to FT_New_Face.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Face_From_FSSpec

-
-Defined in FT_MAC_H (freetype/ftmac.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Face_From_FSSpec( FT_Library     library,
-                           const FSSpec  *spec,
-                           FT_Long        face_index,
-                           FT_Face       *aface )
-                         FT_DEPRECATED_ATTRIBUTE;
-
-

-
-

Create a new face object from a given resource and typeface index using an FSSpec to the font file.

-

-
inout
-

- - -
library -

A handle to the library resource.

-
-
-
input
-

- - - -
spec -

FSSpec to the font file.

-
face_index -

The index of the face within the resource. The first face has index 0.

-
-
-
output
-

- - -
aface -

A handle to a new face object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

FT_New_Face_From_FSSpec is identical to FT_New_Face except it accepts an FSSpec instead of a path.

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Face_From_FSRef

-
-Defined in FT_MAC_H (freetype/ftmac.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Face_From_FSRef( FT_Library    library,
-                          const FSRef  *ref,
-                          FT_Long       face_index,
-                          FT_Face      *aface )
-                        FT_DEPRECATED_ATTRIBUTE;
-
-

-
-

Create a new face object from a given resource and typeface index using an FSRef to the font file.

-

-
inout
-

- - -
library -

A handle to the library resource.

-
-
-
input
-

- - - -
spec -

FSRef to the font file.

-
face_index -

The index of the face within the resource. The first face has index 0.

-
-
-
output
-

- - -
aface -

A handle to a new face object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

FT_New_Face_From_FSRef is identical to FT_New_Face except it accepts an FSRef instead of a path.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-module_management.html b/libs/freetype-2.5.0.1/docs/reference/ft2-module_management.html deleted file mode 100644 index b9bcd8fa..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-module_management.html +++ /dev/null @@ -1,819 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Module Management -

-

Synopsis

- - - - - - - -
FT_Module_ConstructorFT_Remove_ModuleFT_Set_Debug_Hook
FT_Module_DestructorFT_Property_SetFT_Add_Default_Modules
FT_Module_RequesterFT_Property_GetFT_Renderer_Class
FT_Module_ClassFT_Reference_LibraryFT_Get_Renderer
FT_Add_ModuleFT_New_LibraryFT_Set_Renderer
FT_Get_ModuleFT_Done_Library


- -
-

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.

-

Here is a list of possible values of the ‘module_name’ field in the FT_Module_Class structure.

-
-  autofitter                                                       
-  bdf                                                              
-  cff                                                              
-  gxvalid                                                          
-  otvalid                                                          
-  pcf                                                              
-  pfr                                                              
-  psaux                                                            
-  pshinter                                                         
-  psnames                                                          
-  raster1, raster5                                                 
-  sfnt                                                             
-  smooth, smooth-lcd, smooth-lcdv                                  
-  truetype                                                         
-  type1                                                            
-  type42                                                           
-  t1cid                                                            
-  winfonts                                                         
-
-

Note that the FreeType Cache sub-system is not a FreeType module.

-

-
-

FT_Module_Constructor

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  typedef FT_Error
-  (*FT_Module_Constructor)( FT_Module  module );
-
-

-
-

A function used to initialize (not create) a new module object.

-

-
input
-

- - -
module -

The module to initialize.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Module_Destructor

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  typedef void
-  (*FT_Module_Destructor)( FT_Module  module );
-
-

-
-

A function used to finalize (not destroy) a given module object.

-

-
input
-

- - -
module -

The module to finalize.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Module_Requester

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  typedef FT_Module_Interface
-  (*FT_Module_Requester)( FT_Module    module,
-                          const char*  name );
-
-

-
-

A function used to query a given module for a specific interface.

-

-
input
-

- - - -
module -

The module to be searched.

-
name -

The name of the interface in the module.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Module_Class

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  typedef struct  FT_Module_Class_
-  {
-    FT_ULong               module_flags;
-    FT_Long                module_size;
-    const FT_String*       module_name;
-    FT_Fixed               module_version;
-    FT_Fixed               module_requires;
-
-    const void*            module_interface;
-
-    FT_Module_Constructor  module_init;
-    FT_Module_Destructor   module_done;
-    FT_Module_Requester    get_interface;
-
-  } FT_Module_Class;
-
-

-
-

The module class descriptor.

-

-
fields
-

- - - - - - - - - -
module_flags -

Bit flags describing the module.

-
module_size -

The size of one module object/instance in bytes.

-
module_name -

The name of the module.

-
module_version -

The version, as a 16.16 fixed number (major.minor).

-
module_requires -

The version of FreeType this module requires, as a 16.16 fixed number (major.minor). Starts at version 2.0, i.e., 0x20000.

-
module_init -

The initializing function.

-
module_done -

The finalizing function.

-
get_interface -

The interface requesting function.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Add_Module

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Add_Module( FT_Library              library,
-                 const FT_Module_Class*  clazz );
-
-

-
-

Add a new module to a given library instance.

-

-
inout
-

- - -
library -

A handle to the library object.

-
-
-
input
-

- - -
clazz -

A pointer to class descriptor for the module.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Module

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Module )
-  FT_Get_Module( FT_Library   library,
-                 const char*  module_name );
-
-

-
-

Find a module by its name.

-

-
input
-

- - - -
library -

A handle to the library object.

-
module_name -

The module's name (as an ASCII string).

-
-
-
return
-

A module handle. 0 if none was found.

-
-
note
-

FreeType's internal modules aren't documented very well, and you should look up the source code for details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Remove_Module

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Remove_Module( FT_Library  library,
-                    FT_Module   module );
-
-

-
-

Remove a given module from a library instance.

-

-
inout
-

- - -
library -

A handle to a library object.

-
-
-
input
-

- - -
module -

A handle to a module object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The module object is destroyed by the function in case of success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Property_Set

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Property_Set( FT_Library        library,
-                   const FT_String*  module_name,
-                   const FT_String*  property_name,
-                   const void*       value );
-
-

-
-

Set a property for a given module.

-

-
input
-

- - - - - -
library -

A handle to the library the module is part of.

-
module_name -

The module name.

-
property_name -

The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.

-

Note that only a few modules have properties.

-
value -

A generic pointer to a variable or structure which 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.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-

The following example sets property ‘bar’ (a simple integer) in module ‘foo’ to value 1.

-
-  FT_UInt  bar;
-
-
-  bar = 1;
-  FT_Property_Set( library, "foo", "bar", &bar );
-
-

Note that the FreeType Cache sub-system doesn't recognize module property changes. To avoid glyph lookup confusion within the cache you should call FTC_Manager_Reset to completely flush the cache if a module property gets changed after FTC_Manager_New has been called.

-

It is not possible to set properties of the FreeType Cache sub-system itself with FT_Property_Set; use ?FTC_Property_Set? instead.

-
-
since
-

2.4.11

-
-
-
- - -
[Index][TOC]
- -
-

FT_Property_Get

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Property_Get( FT_Library        library,
-                   const FT_String*  module_name,
-                   const FT_String*  property_name,
-                   void*             value );
-
-

-
-

Get a module's property value.

-

-
input
-

- - - - -
library -

A handle to the library the module is part of.

-
module_name -

The module name.

-
property_name -

The property name. Properties are described in the ‘Synopsis’ subsection of the module's documentation.

-
-
-
inout
-

- - -
value -

A generic pointer to a variable or structure which 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.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-

The following example gets property ‘baz’ (a range) in module ‘foo’.

-
-  typedef  range_
-  {
-    FT_Int32  min;
-    FT_Int32  max;
-
-  } range;
-
-  range  baz;
-
-
-  FT_Property_Get( library, "foo", "baz", &baz );
-
-

It is not possible to retrieve properties of the FreeType Cache sub-system with FT_Property_Get; use ?FTC_Property_Get? instead.

-
-
since
-

2.4.11

-
-
-
- - -
[Index][TOC]
- -
-

FT_Reference_Library

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Reference_Library( FT_Library  library );
-
-

-
-

A counter gets initialized to 1 at the time an FT_Library structure is created. This function increments the counter. FT_Done_Library then only destroys a library if the counter is 1, otherwise it simply decrements the counter.

-

This function helps in managing life-cycles of structures which reference FT_Library objects.

-

-
input
-

- - -
library -

A handle to a target library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
since
-

2.4.2

-
-
-
- - -
[Index][TOC]
- -
-

FT_New_Library

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Library( FT_Memory    memory,
-                  FT_Library  *alibrary );
-
-

-
-

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.

-

Normally, you would call this function (followed by a call to FT_Add_Default_Modules or a series of calls to FT_Add_Module) instead of FT_Init_FreeType to initialize the FreeType library.

-

Don't use FT_Done_FreeType but FT_Done_Library to destroy a library instance.

-

-
input
-

- - -
memory -

A handle to the original memory object.

-
-
-
output
-

- - -
alibrary -

A pointer to handle of a new library object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

See the discussion of reference counters in the description of FT_Reference_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Library

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Done_Library( FT_Library  library );
-
-

-
-

Discard a given library object. This closes all drivers and discards all resource objects.

-

-
input
-

- - -
library -

A handle to the target library.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

See the discussion of reference counters in the description of FT_Reference_Library.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Debug_Hook

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( void )
-  FT_Set_Debug_Hook( FT_Library         library,
-                     FT_UInt            hook_index,
-                     FT_DebugHook_Func  debug_hook );
-
-

-
-

Set a debug hook function for debugging the interpreter of a font format.

-

-
inout
-

- - -
library -

A handle to the library object.

-
-
-
input
-

- - - -
hook_index -

The index of the debug hook. You should use the values defined in ‘ftobjs.h’, e.g., ‘FT_DEBUG_HOOK_TRUETYPE’.

-
debug_hook -

The function used to debug the interpreter.

-
-
-
note
-

Currently, four debug hook slots are available, but only two (for the TrueType and the Type 1 interpreter) are defined.

-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Add_Default_Modules

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( void )
-  FT_Add_Default_Modules( FT_Library  library );
-
-

-
-

Add the set of default drivers to a given library object. This is only useful when you create a library object with FT_New_Library (usually to plug a custom memory manager).

-

-
inout
-

- - -
library -

A handle to a new library object.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Renderer_Class

-
-Defined in FT_RENDER_H (freetype/ftrender.h). -

-
-
-  typedef struct  FT_Renderer_Class_
-  {
-    FT_Module_Class            root;
-
-    FT_Glyph_Format            glyph_format;
-
-    FT_Renderer_RenderFunc     render_glyph;
-    FT_Renderer_TransformFunc  transform_glyph;
-    FT_Renderer_GetCBoxFunc    get_glyph_cbox;
-    FT_Renderer_SetModeFunc    set_mode;
-
-    FT_Raster_Funcs*           raster_class;
-
-  } FT_Renderer_Class;
-
-

-
-

The renderer module class descriptor.

-

-
fields
-

- - - - - - - - -
root -

The root FT_Module_Class fields.

-
glyph_format -

The glyph image format this renderer handles.

-
render_glyph -

A method used to render the image that is in a given glyph slot into a bitmap.

-
transform_glyph -

A method used to transform the image that is in a given glyph slot.

-
get_glyph_cbox -

A method used to access the glyph's cbox.

-
set_mode -

A method used to pass additional parameters.

-
raster_class -

For FT_GLYPH_FORMAT_OUTLINE renderers only. This is a pointer to its raster's class.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Renderer

-
-Defined in FT_RENDER_H (freetype/ftrender.h). -

-
-
-  FT_EXPORT( FT_Renderer )
-  FT_Get_Renderer( FT_Library       library,
-                   FT_Glyph_Format  format );
-
-

-
-

Retrieve the current renderer for a given glyph format.

-

-
input
-

- - - -
library -

A handle to the library object.

-
format -

The glyph format.

-
-
-
return
-

A renderer handle. 0 if none found.

-
-
note
-

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.

-

To add a new renderer, simply use FT_Add_Module. To retrieve a renderer by its name, use FT_Get_Module.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Renderer

-
-Defined in FT_RENDER_H (freetype/ftrender.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Renderer( FT_Library     library,
-                   FT_Renderer    renderer,
-                   FT_UInt        num_params,
-                   FT_Parameter*  parameters );
-
-

-
-

Set the current renderer to use, and set additional mode.

-

-
inout
-

- - -
library -

A handle to the library object.

-
-
-
input
-

- - - - -
renderer -

A handle to the renderer object.

-
num_params -

The number of additional parameters.

-
parameters -

Additional parameters.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

In case of success, the renderer will be used to convert glyph images in the renderer's known format into bitmaps.

-

This doesn't change the current renderer for other formats.

-

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.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-multiple_masters.html b/libs/freetype-2.5.0.1/docs/reference/ft2-multiple_masters.html deleted file mode 100644 index 541612ec..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-multiple_masters.html +++ /dev/null @@ -1,511 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Multiple Masters -

-

Synopsis

- - - - - - - -
FT_MM_AxisFT_Get_MM_Var
FT_Multi_MasterFT_Set_MM_Design_Coordinates
FT_Var_AxisFT_Set_Var_Design_Coordinates
FT_Var_Named_StyleFT_Set_MM_Blend_Coordinates
FT_MM_VarFT_Set_Var_Blend_Coordinates
FT_Get_Multi_Master


- -
-

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.

-

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.

-

-
-

FT_MM_Axis

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  typedef struct  FT_MM_Axis_
-  {
-    FT_String*  name;
-    FT_Long     minimum;
-    FT_Long     maximum;
-
-  } FT_MM_Axis;
-
-

-
-

A simple structure used to model a given axis in design space for Multiple Masters fonts.

-

This structure can't be used for GX var fonts.

-

-
fields
-

- - - - -
name -

The axis's name.

-
minimum -

The axis's minimum design coordinate.

-
maximum -

The axis's maximum design coordinate.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Multi_Master

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  typedef struct  FT_Multi_Master_
-  {
-    FT_UInt     num_axis;
-    FT_UInt     num_designs;
-    FT_MM_Axis  axis[T1_MAX_MM_AXIS];
-
-  } FT_Multi_Master;
-
-

-
-

A structure used to model the axes and space of a Multiple Masters font.

-

This structure can't be used for GX var fonts.

-

-
fields
-

- - - - -
num_axis -

Number of axes. Cannot exceed 4.

-
num_designs -

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.

-
axis -

A table of axis descriptors.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Var_Axis

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  typedef struct  FT_Var_Axis_
-  {
-    FT_String*  name;
-
-    FT_Fixed    minimum;
-    FT_Fixed    def;
-    FT_Fixed    maximum;
-
-    FT_ULong    tag;
-    FT_UInt     strid;
-
-  } FT_Var_Axis;
-
-

-
-

A simple structure used to model a given axis in design space for Multiple Masters and GX var fonts.

-

-
fields
-

- - - - - - - -
name -

The axis's name. Not always meaningful for GX.

-
minimum -

The axis's minimum design coordinate.

-
def -

The axis's default design coordinate. FreeType computes meaningful default values for MM; it is then an integer value, not in 16.16 format.

-
maximum -

The axis's maximum design coordinate.

-
tag -

The axis's tag (the GX equivalent to ‘name’). FreeType provides default values for MM if possible.

-
strid -

The entry in ‘name’ table (another GX version of ‘name’). Not meaningful for MM.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Var_Named_Style

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  typedef struct  FT_Var_Named_Style_
-  {
-    FT_Fixed*  coords;
-    FT_UInt    strid;
-
-  } FT_Var_Named_Style;
-
-

-
-

A simple structure used to model a named style in a GX var font.

-

This structure can't be used for MM fonts.

-

-
fields
-

- - - -
coords -

The design coordinates for this style. This is an array with one entry for each axis.

-
strid -

The entry in ‘name’ table identifying this style.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_MM_Var

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  typedef struct  FT_MM_Var_
-  {
-    FT_UInt              num_axis;
-    FT_UInt              num_designs;
-    FT_UInt              num_namedstyles;
-    FT_Var_Axis*         axis;
-    FT_Var_Named_Style*  namedstyle;
-
-  } FT_MM_Var;
-
-

-
-

A structure used to model the axes and space of a Multiple Masters or GX var distortable font.

-

Some fields are specific to one format and not to the other.

-

-
fields
-

- - - - - - -
num_axis -

The number of axes. The maximum value is 4 for MM; no limit in GX.

-
num_designs -

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).

-
num_namedstyles -

The number of named styles; only meaningful for GX which 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’.

-
axis -

A table of axis descriptors. GX fonts contain slightly more data than MM.

-
namedstyles -

A table of named styles. Only meaningful with GX.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Multi_Master

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Multi_Master( FT_Face           face,
-                       FT_Multi_Master  *amaster );
-
-

-
-

Retrieve the Multiple Master descriptor of a given font.

-

This function can't be used with GX fonts.

-

-
input
-

- - -
face -

A handle to the source face.

-
-
-
output
-

- - -
amaster -

The Multiple Masters descriptor.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_MM_Var

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_MM_Var( FT_Face      face,
-                 FT_MM_Var*  *amaster );
-
-

-
-

Retrieve the Multiple Master/GX var descriptor of a given font.

-

-
input
-

- - -
face -

A handle to the source face.

-
-
-
output
-

- - -
amaster -

The Multiple Masters/GX var descriptor. Allocates a data structure, which the user must free (a single call to FT_FREE will do it).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_MM_Design_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_MM_Design_Coordinates( FT_Face   face,
-                                FT_UInt   num_coords,
-                                FT_Long*  coords );
-
-

-
-

For Multiple Masters fonts, choose an interpolated font design through design coordinates.

-

This function can't be used with GX fonts.

-

-
inout
-

- - -
face -

A handle to the source face.

-
-
-
input
-

- - - -
num_coords -

The number of design coordinates (must be equal to the number of axes in the font).

-
coords -

An array of design coordinates.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Var_Design_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Var_Design_Coordinates( FT_Face    face,
-                                 FT_UInt    num_coords,
-                                 FT_Fixed*  coords );
-
-

-
-

For Multiple Master or GX Var fonts, choose an interpolated font design through design coordinates.

-

-
inout
-

- - -
face -

A handle to the source face.

-
-
-
input
-

- - - -
num_coords -

The number of design coordinates (must be equal to the number of axes in the font).

-
coords -

An array of design coordinates.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_MM_Blend_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_MM_Blend_Coordinates( FT_Face    face,
-                               FT_UInt    num_coords,
-                               FT_Fixed*  coords );
-
-

-
-

For Multiple Masters and GX var fonts, choose an interpolated font design through normalized blend coordinates.

-

-
inout
-

- - -
face -

A handle to the source face.

-
-
-
input
-

- - - -
num_coords -

The number of design coordinates (must be equal to the number of axes in the font).

-
coords -

The design coordinates array (each element must be between 0 and 1.0).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Set_Var_Blend_Coordinates

-
-Defined in FT_MULTIPLE_MASTERS_H (freetype/ftmm.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Set_Var_Blend_Coordinates( FT_Face    face,
-                                FT_UInt    num_coords,
-                                FT_Fixed*  coords );
-
-

-
-

This is another name of FT_Set_MM_Blend_Coordinates.

-

-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-ot_validation.html b/libs/freetype-2.5.0.1/docs/reference/ft2-ot_validation.html deleted file mode 100644 index 555f648b..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-ot_validation.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-OpenType Validation -

-

Synopsis

- - -
FT_VALIDATE_OTXXXFT_OpenType_ValidateFT_OpenType_Free


- -
-

This section contains the declaration of functions to validate some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

-

-
-

FT_VALIDATE_OTXXX

-
-Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). -

-
-
-#define FT_VALIDATE_BASE  0x0100
-#define FT_VALIDATE_GDEF  0x0200
-#define FT_VALIDATE_GPOS  0x0400
-#define FT_VALIDATE_GSUB  0x0800
-#define FT_VALIDATE_JSTF  0x1000
-#define FT_VALIDATE_MATH  0x2000
-
-#define FT_VALIDATE_OT  FT_VALIDATE_BASE | \
-                        FT_VALIDATE_GDEF | \
-                        FT_VALIDATE_GPOS | \
-                        FT_VALIDATE_GSUB | \
-                        FT_VALIDATE_JSTF | \
-                        FT_VALIDATE_MATH
-
-

-
-

A list of bit-field constants used with FT_OpenType_Validate to indicate which OpenType tables should be validated.

-

-
values
-

- - - - - - - - -
FT_VALIDATE_BASE -

Validate BASE table.

-
FT_VALIDATE_GDEF -

Validate GDEF table.

-
FT_VALIDATE_GPOS -

Validate GPOS table.

-
FT_VALIDATE_GSUB -

Validate GSUB table.

-
FT_VALIDATE_JSTF -

Validate JSTF table.

-
FT_VALIDATE_MATH -

Validate MATH table.

-
FT_VALIDATE_OT -

Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH).

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_OpenType_Validate

-
-Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_OpenType_Validate( FT_Face    face,
-                        FT_UInt    validation_flags,
-                        FT_Bytes  *BASE_table,
-                        FT_Bytes  *GDEF_table,
-                        FT_Bytes  *GPOS_table,
-                        FT_Bytes  *GSUB_table,
-                        FT_Bytes  *JSTF_table );
-
-

-
-

Validate various OpenType tables to assure that all offsets and indices are valid. The idea is that a higher-level library which actually does the text layout can access those tables without error checking (which can be quite time consuming).

-

-
input
-

- - - -
face -

A handle to the input face.

-
validation_flags -

A bit field which specifies the tables to be validated. See FT_VALIDATE_OTXXX for possible values.

-
-
-
output
-

- - - - - - -
BASE_table -

A pointer to the BASE table.

-
GDEF_table -

A pointer to the GDEF table.

-
GPOS_table -

A pointer to the GPOS table.

-
GSUB_table -

A pointer to the GSUB table.

-
JSTF_table -

A pointer to the JSTF table.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with OpenType fonts, returning an error otherwise.

-

After use, the application should deallocate the five tables with FT_OpenType_Free. A NULL value indicates that the table either doesn't exist in the font, or the application hasn't asked for validation.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OpenType_Free

-
-Defined in FT_OPENTYPE_VALIDATE_H (freetype/ftotval.h). -

-
-
-  FT_EXPORT( void )
-  FT_OpenType_Free( FT_Face   face,
-                    FT_Bytes  table );
-
-

-
-

Free the buffer allocated by OpenType validator.

-

-
input
-

- - - -
face -

A handle to the input face.

-
table -

The pointer to the buffer that is allocated by FT_OpenType_Validate.

-
-
-
note
-

This function must be used to free the buffer allocated by FT_OpenType_Validate only.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-outline_processing.html b/libs/freetype-2.5.0.1/docs/reference/ft2-outline_processing.html deleted file mode 100644 index 0685986c..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-outline_processing.html +++ /dev/null @@ -1,1147 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Outline Processing -

-

Synopsis

- - - - - - - - - - - - - -
FT_Outlineft_outline_flags
FT_OUTLINE_FLAGSFT_Outline_MoveToFunc
FT_Outline_NewFT_Outline_LineToFunc
FT_Outline_DoneFT_Outline_ConicToFunc
FT_Outline_CopyFT_Outline_CubicToFunc
FT_Outline_TranslateFT_Outline_Funcs
FT_Outline_TransformFT_Outline_Decompose
FT_Outline_EmboldenFT_Outline_Get_CBox
FT_Outline_EmboldenXYFT_Outline_Get_Bitmap
FT_Outline_ReverseFT_Outline_Render
FT_Outline_CheckFT_Orientation
FT_Outline_Get_BBoxFT_Outline_Get_Orientation


- -
-

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.

-

-
-

FT_Outline

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Outline_
-  {
-    short       n_contours;      /* number of contours in glyph        */
-    short       n_points;        /* number of points in the glyph      */
-
-    FT_Vector*  points;          /* the outline's points               */
-    char*       tags;            /* the points flags                   */
-    short*      contours;        /* the contour end points             */
-
-    int         flags;           /* outline masks                      */
-
-  } FT_Outline;
-
-  /* Following limits must be consistent with */
-  /* FT_Outline.{n_contours,n_points}         */
-#define FT_OUTLINE_CONTOURS_MAX  SHRT_MAX
-#define FT_OUTLINE_POINTS_MAX    SHRT_MAX
-
-

-
-

This structure is used to describe an outline to the scan-line converter.

-

-
fields
-

- - - - - - - -
n_contours -

The number of contours in the outline.

-
n_points -

The number of points in the outline.

-
points -

A pointer to an array of ‘n_points’ FT_Vector elements, giving the outline's point coordinates.

-
tags -

A pointer to an array of ‘n_points’ chars, giving each outline point's type.

-

If bit 0 is unset, the point is ‘off’ the curve, i.e., a Bézier control point, while it is ‘on’ if set.

-

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.

-

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).

-

Bits 3 and 4 are reserved for internal purposes.

-
contours -

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.

-
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.

-
-
-
note
-

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 FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS in ‘flags’ is then overridden.

-
-
-
- - -
[Index][TOC]
- -
-

FT_OUTLINE_FLAGS

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-#define FT_OUTLINE_NONE             0x0
-#define FT_OUTLINE_OWNER            0x1
-#define FT_OUTLINE_EVEN_ODD_FILL    0x2
-#define FT_OUTLINE_REVERSE_FILL     0x4
-#define FT_OUTLINE_IGNORE_DROPOUTS  0x8
-#define FT_OUTLINE_SMART_DROPOUTS   0x10
-#define FT_OUTLINE_INCLUDE_STUBS    0x20
-
-#define FT_OUTLINE_HIGH_PRECISION   0x100
-#define FT_OUTLINE_SINGLE_PASS      0x200
-
-

-
-

A list of bit-field constants use for the flags in an outline's ‘flags’ field.

-

-
values
-

- - - - - - - - - - - - - - - - -
FT_OUTLINE_NONE -

Value 0 is reserved.

-
FT_OUTLINE_OWNER -

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.

-
FT_OUTLINE_EVEN_ODD_FILL
-

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).

-
FT_OUTLINE_REVERSE_FILL
-

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.

-
FT_OUTLINE_IGNORE_DROPOUTS
-

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.

-
FT_OUTLINE_SMART_DROPOUTS
-

Select smart dropout control. If unset, use simple dropout control. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

-
FT_OUTLINE_INCLUDE_STUBS
-

If set, turn pixels on for ‘stubs’, otherwise exclude them. Ignored if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information.

-
FT_OUTLINE_HIGH_PRECISION
-

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.

-
FT_OUTLINE_SINGLE_PASS -

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.

-
-
-
note
-

The flags FT_OUTLINE_IGNORE_DROPOUTS, FT_OUTLINE_SMART_DROPOUTS, and FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth rasterizer.

-

There exists a second mechanism to pass the drop-out mode to the B/W rasterizer; see the ‘tags’ field in FT_Outline.

-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_New

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_New( FT_Library   library,
-                  FT_UInt      numPoints,
-                  FT_Int       numContours,
-                  FT_Outline  *anoutline );
-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_New_Internal( FT_Memory    memory,
-                           FT_UInt      numPoints,
-                           FT_Int       numContours,
-                           FT_Outline  *anoutline );
-
-

-
-

Create a new outline of a given size.

-

-
input
-

- - - - -
library -

A handle to the library object from where the outline is allocated. Note however that the new outline will not necessarily be freed, when destroying the library, by FT_Done_FreeType.

-
numPoints -

The maximum number of points within the outline. Must be smaller than or equal to 0xFFFF (65535).

-
numContours -

The maximum number of contours within the outline. This value must be in the range 0 to ‘numPoints’.

-
-
-
output
-

- - -
anoutline -

A handle to the new outline.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The reason why this function takes a ‘library’ parameter is simply to use the library's memory allocator.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Done

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Done( FT_Library   library,
-                   FT_Outline*  outline );
-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Done_Internal( FT_Memory    memory,
-                            FT_Outline*  outline );
-
-

-
-

Destroy an outline created with FT_Outline_New.

-

-
input
-

- - - -
library -

A handle of the library object used to allocate the outline.

-
outline -

A pointer to the outline object to be discarded.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If the outline's ‘owner’ field is not set, only the outline descriptor will be released.

-

The reason why this function takes an ‘library’ parameter is simply to use ft_mem_free().

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Copy

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Copy( const FT_Outline*  source,
-                   FT_Outline        *target );
-
-

-
-

Copy an outline into another one. Both objects must have the same sizes (number of points & number of contours) when this function is called.

-

-
input
-

- - -
source -

A handle to the source outline.

-
-
-
output
-

- - -
target -

A handle to the target outline.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Translate

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( void )
-  FT_Outline_Translate( const FT_Outline*  outline,
-                        FT_Pos             xOffset,
-                        FT_Pos             yOffset );
-
-

-
-

Apply a simple translation to the points of an outline.

-

-
inout
-

- - -
outline -

A pointer to the target outline descriptor.

-
-
-
input
-

- - - -
xOffset -

The horizontal offset.

-
yOffset -

The vertical offset.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Transform

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( void )
-  FT_Outline_Transform( const FT_Outline*  outline,
-                        const FT_Matrix*   matrix );
-
-

-
-

Apply a simple 2x2 matrix to all of an outline's points. Useful for applying rotations, slanting, flipping, etc.

-

-
inout
-

- - -
outline -

A pointer to the target outline descriptor.

-
-
-
input
-

- - -
matrix -

A pointer to the transformation matrix.

-
-
-
note
-

You can use FT_Outline_Translate if you need to translate the outline's points.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Embolden

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Embolden( FT_Outline*  outline,
-                       FT_Pos       strength );
-
-

-
-

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.

-

Negative ‘strength’ values to reduce the outline thickness are possible also.

-

-
inout
-

- - -
outline -

A handle to the target outline.

-
-
-
input
-

- - -
strength -

How strong the glyph is emboldened. Expressed in 26.6 pixel format.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-

If you need ‘better’ metrics values you should call FT_Outline_Get_CBox or FT_Outline_Get_BBox.

-

Example call:

-
-  FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );                   
-  if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE )             
-    FT_Outline_Embolden( &face->slot->outline, strength );         
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_EmboldenXY

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_EmboldenXY( FT_Outline*  outline,
-                         FT_Pos       xstrength,
-                         FT_Pos       ystrength );
-
-

-
-

Embolden an outline. The new outline will be ‘xstrength’ pixels wider and ‘ystrength’ pixels higher. Otherwise, it is similar to FT_Outline_Embolden, which uses the same strength in both directions.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Reverse

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( void )
-  FT_Outline_Reverse( FT_Outline*  outline );
-
-

-
-

Reverse the drawing direction of an outline. This is used to ensure consistent fill conventions for mirrored glyphs.

-

-
inout
-

- - -
outline -

A pointer to the target outline descriptor.

-
-
-
note
-

This function toggles the bit flag FT_OUTLINE_REVERSE_FILL in the outline's ‘flags’ field.

-

It shouldn't be used by a normal client application, unless it knows what it is doing.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Check

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Check( FT_Outline*  outline );
-
-

-
-

Check the contents of an outline descriptor.

-

-
input
-

- - -
outline -

A handle to a source outline.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_BBox

-
-Defined in FT_BBOX_H (freetype/ftbbox.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Get_BBox( FT_Outline*  outline,
-                       FT_BBox     *abbox );
-
-

-
-

Compute the exact bounding box of an outline. This is slower than computing the control box. However, it uses an advanced algorithm which returns very quickly when the two boxes coincide. Otherwise, the outline Bézier arcs are traversed to extract their extrema.

-

-
input
-

- - -
outline -

A pointer to the source outline.

-
-
-
output
-

- - -
abbox -

The outline's exact bounding box.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If the font is tricky and the glyph has been loaded with FT_LOAD_NO_SCALE, 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.

-
-
-
- - -
[Index][TOC]
- -
-

ft_outline_flags

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-#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
-#define ft_outline_reverse_fill     FT_OUTLINE_REVERSE_FILL
-#define ft_outline_ignore_dropouts  FT_OUTLINE_IGNORE_DROPOUTS
-#define ft_outline_high_precision   FT_OUTLINE_HIGH_PRECISION
-#define ft_outline_single_pass      FT_OUTLINE_SINGLE_PASS
-
-

-
-

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_MoveToFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Outline_MoveToFunc)( const FT_Vector*  to,
-                            void*             user );
-
-#define FT_Outline_MoveTo_Func  FT_Outline_MoveToFunc
-
-

-
-

A function pointer type used to describe the signature of a ‘move to’ function during outline walking/decomposition.

-

A ‘move to’ is emitted to start a new contour in an outline.

-

-
input
-

- - - -
to -

A pointer to the target point of the ‘move to’.

-
user -

A typeless pointer which is passed from the caller of the decomposition function.

-
-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_LineToFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Outline_LineToFunc)( const FT_Vector*  to,
-                            void*             user );
-
-#define FT_Outline_LineTo_Func  FT_Outline_LineToFunc
-
-

-
-

A function pointer type used to describe the signature of a ‘line to’ function during outline walking/decomposition.

-

A ‘line to’ is emitted to indicate a segment in the outline.

-

-
input
-

- - - -
to -

A pointer to the target point of the ‘line to’.

-
user -

A typeless pointer which is passed from the caller of the decomposition function.

-
-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_ConicToFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Outline_ConicToFunc)( const FT_Vector*  control,
-                             const FT_Vector*  to,
-                             void*             user );
-
-#define FT_Outline_ConicTo_Func  FT_Outline_ConicToFunc
-
-

-
-

A function pointer type used to describe the signature of a ‘conic to’ function during outline walking or decomposition.

-

A ‘conic to’ is emitted to indicate a second-order Bézier arc in the outline.

-

-
input
-

- - - - -
control -

An intermediate control point between the last position and the new target in ‘to’.

-
to -

A pointer to the target end point of the conic arc.

-
user -

A typeless pointer which is passed from the caller of the decomposition function.

-
-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_CubicToFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Outline_CubicToFunc)( const FT_Vector*  control1,
-                             const FT_Vector*  control2,
-                             const FT_Vector*  to,
-                             void*             user );
-
-#define FT_Outline_CubicTo_Func  FT_Outline_CubicToFunc
-
-

-
-

A function pointer type used to describe the signature of a ‘cubic to’ function during outline walking or decomposition.

-

A ‘cubic to’ is emitted to indicate a third-order Bézier arc.

-

-
input
-

- - - - - -
control1 -

A pointer to the first Bézier control point.

-
control2 -

A pointer to the second Bézier control point.

-
to -

A pointer to the target end point.

-
user -

A typeless pointer which is passed from the caller of the decomposition function.

-
-
-
return
-

Error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Funcs

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Outline_Funcs_
-  {
-    FT_Outline_MoveToFunc   move_to;
-    FT_Outline_LineToFunc   line_to;
-    FT_Outline_ConicToFunc  conic_to;
-    FT_Outline_CubicToFunc  cubic_to;
-
-    int                     shift;
-    FT_Pos                  delta;
-
-  } FT_Outline_Funcs;
-
-

-
-

A structure to hold various function pointers used during outline decomposition in order to emit segments, conic, and cubic Béziers.

-

-
fields
-

- - - - - - - -
move_to -

The ‘move to’ emitter.

-
line_to -

The segment emitter.

-
conic_to -

The second-order Bézier arc emitter.

-
cubic_to -

The third-order Bézier arc emitter.

-
shift -

The shift that is applied to coordinates before they are sent to the emitter.

-
delta -

The delta that is applied to coordinates before they are sent to the emitter, but after the shift.

-
-
-
note
-

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:

-
-  x' = (x << shift) - delta                                        
-  y' = (x << shift) - delta                                        
-
-

Set the values of ‘shift’ and ‘delta’ to 0 to get the original point coordinates.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Decompose

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Decompose( FT_Outline*              outline,
-                        const FT_Outline_Funcs*  func_interface,
-                        void*                    user );
-
-

-
-

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.

-

-
input
-

- - - -
outline -

A pointer to the source target.

-
func_interface -

A table of ‘emitters’, i.e., function pointers called during decomposition to indicate path operations.

-
-
-
inout
-

- - -
user -

A typeless pointer which is passed to each emitter during the decomposition. It can be used to store the state during the decomposition.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_CBox

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( void )
-  FT_Outline_Get_CBox( const FT_Outline*  outline,
-                       FT_BBox           *acbox );
-
-

-
-

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 which contains Bézier outside arcs).

-

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.

-

-
input
-

- - -
outline -

A pointer to the source outline descriptor.

-
-
-
output
-

- - -
acbox -

The outline's control box.

-
-
-
note
-

See FT_Glyph_Get_CBox for a discussion of tricky fonts.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_Bitmap

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Get_Bitmap( FT_Library        library,
-                         FT_Outline*       outline,
-                         const FT_Bitmap  *abitmap );
-
-

-
-

Render an outline within a bitmap. The outline's image is simply OR-ed to the target bitmap.

-

-
input
-

- - - -
library -

A handle to a FreeType library object.

-
outline -

A pointer to the source outline descriptor.

-
-
-
inout
-

- - -
abitmap -

A pointer to the target bitmap descriptor.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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.

-

It will use the raster corresponding to the default glyph format.

-

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 FT_Outline_Render directly.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Render

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Outline_Render( FT_Library         library,
-                     FT_Outline*        outline,
-                     FT_Raster_Params*  params );
-
-

-
-

Render an outline within a bitmap using the current scan-convert. This function uses an FT_Raster_Params structure as an argument, allowing advanced features like direct composition, translucency, etc.

-

-
input
-

- - - -
library -

A handle to a FreeType library object.

-
outline -

A pointer to the source outline descriptor.

-
-
-
inout
-

- - -
params -

A pointer to an FT_Raster_Params structure used to describe the rendering operation.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You should know what you are doing and how FT_Raster_Params works to use this function.

-

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.

-

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 FT_RASTER_FLAG_DIRECT value of the ‘flags’ field in the FT_Raster_Params structure for more details.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Orientation

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  typedef enum  FT_Orientation_
-  {
-    FT_ORIENTATION_TRUETYPE   = 0,
-    FT_ORIENTATION_POSTSCRIPT = 1,
-    FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE,
-    FT_ORIENTATION_FILL_LEFT  = FT_ORIENTATION_POSTSCRIPT,
-    FT_ORIENTATION_NONE
-
-  } FT_Orientation;
-
-

-
-

A list of values used to describe an outline's contour orientation.

-

The TrueType and PostScript specifications use different conventions to determine whether outline contours should be filled or unfilled.

-

-
values
-

- - - - - - - - - - -
FT_ORIENTATION_TRUETYPE
-

According to the TrueType specification, clockwise contours must be filled, and counter-clockwise ones must be unfilled.

-
FT_ORIENTATION_POSTSCRIPT
-

According to the PostScript specification, counter-clockwise contours must be filled, and clockwise ones must be unfilled.

-
FT_ORIENTATION_FILL_RIGHT
-

This is identical to FT_ORIENTATION_TRUETYPE, but is used to remember that in TrueType, everything that is to the right of the drawing direction of a contour must be filled.

-
FT_ORIENTATION_FILL_LEFT
-

This is identical to FT_ORIENTATION_POSTSCRIPT, but is used to remember that in PostScript, everything that is to the left of the drawing direction of a contour must be filled.

-
FT_ORIENTATION_NONE -

The orientation cannot be determined. That is, different parts of the glyph have different orientation.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Outline_Get_Orientation

-
-Defined in FT_OUTLINE_H (freetype/ftoutln.h). -

-
-
-  FT_EXPORT( FT_Orientation )
-  FT_Outline_Get_Orientation( FT_Outline*  outline );
-
-

-
-

This function analyzes a glyph outline and tries to compute its fill orientation (see FT_Orientation). This is done by computing the direction of each global horizontal and/or vertical extrema within the outline.

-

Note that this will return FT_ORIENTATION_TRUETYPE for empty outlines.

-

-
input
-

- - -
outline -

A handle to the source outline.

-
-
-
return
-

The orientation.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-pfr_fonts.html b/libs/freetype-2.5.0.1/docs/reference/ft2-pfr_fonts.html deleted file mode 100644 index 86777fbe..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-pfr_fonts.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-PFR Fonts -

-

Synopsis

- - -
FT_Get_PFR_MetricsFT_Get_PFR_KerningFT_Get_PFR_Advance


- -
-

This section contains the declaration of PFR-specific functions.

-

-
-

FT_Get_PFR_Metrics

-
-Defined in FT_PFR_H (freetype/ftpfr.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_PFR_Metrics( FT_Face    face,
-                      FT_UInt   *aoutline_resolution,
-                      FT_UInt   *ametrics_resolution,
-                      FT_Fixed  *ametrics_x_scale,
-                      FT_Fixed  *ametrics_y_scale );
-
-

-
-

Return the outline and metrics resolutions of a given PFR face.

-

-
input
-

- - -
face -

Handle to the input face. It can be a non-PFR face.

-
-
-
output
-

- - - - - -
aoutline_resolution -

Outline resolution. This is equivalent to ‘face->units_per_EM’ for non-PFR fonts. Optional (parameter can be NULL).

-
ametrics_resolution -

Metrics resolution. This is equivalent to ‘outline_resolution’ for non-PFR fonts. Optional (parameter can be NULL).

-
ametrics_x_scale -

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).

-
ametrics_y_scale -

Same as ‘ametrics_x_scale’ but for the vertical direction. optional (parameter can be NULL).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If the input face is not a PFR, this function will return an error. However, in all cases, it will return valid values.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_PFR_Kerning

-
-Defined in FT_PFR_H (freetype/ftpfr.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_PFR_Kerning( FT_Face     face,
-                      FT_UInt     left,
-                      FT_UInt     right,
-                      FT_Vector  *avector );
-
-

-
-

Return the kerning pair corresponding to two glyphs in a PFR face. The distance is expressed in metrics units, unlike the result of FT_Get_Kerning.

-

-
input
-

- - - - -
face -

A handle to the input face.

-
left -

Index of the left glyph.

-
right -

Index of the right glyph.

-
-
-
output
-

- - -
avector -

A kerning vector.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function always return distances in original PFR metrics units. This is unlike FT_Get_Kerning with the FT_KERNING_UNSCALED mode, which always returns distances converted to outline units.

-

You can use the value of the ‘x_scale’ and ‘y_scale’ parameters returned by FT_Get_PFR_Metrics to scale these to device sub-pixels.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_PFR_Advance

-
-Defined in FT_PFR_H (freetype/ftpfr.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_PFR_Advance( FT_Face   face,
-                      FT_UInt   gindex,
-                      FT_Pos   *aadvance );
-
-

-
-

Return a given glyph advance, expressed in original metrics units, from a PFR font.

-

-
input
-

- - - -
face -

A handle to the input face.

-
gindex -

The glyph index.

-
-
-
output
-

- - -
aadvance -

The glyph advance in metrics units.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You can use the ‘x_scale’ or ‘y_scale’ results of FT_Get_PFR_Metrics to convert the advance to device sub-pixels (i.e., 1/64th of pixels).

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-quick_advance.html b/libs/freetype-2.5.0.1/docs/reference/ft2-quick_advance.html deleted file mode 100644 index b7a941b7..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-quick_advance.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Quick retrieval of advance values -

-

Synopsis

- - - -
FT_ADVANCE_FLAG_FAST_ONLYFT_Get_Advances
FT_Get_Advance


- -
-

This section contains functions to quickly extract advance values without handling glyph outlines, if possible.

-

-
-

FT_ADVANCE_FLAG_FAST_ONLY

-
-Defined in FT_ADVANCES_H (freetype/ftadvanc.h). -

-
-
-#define FT_ADVANCE_FLAG_FAST_ONLY  0x20000000UL
-
-

-
-

A bit-flag to be OR-ed with the ‘flags’ parameter of the FT_Get_Advance and FT_Get_Advances functions.

-

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.

-

Typically, glyphs which are either unscaled, unhinted, bitmapped, or light-hinted can have their advance width computed very quickly.

-

Normal and bytecode hinted modes, which require loading, scaling, and hinting of the glyph outline, are extremely slow by comparison.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_Advance

-
-Defined in FT_ADVANCES_H (freetype/ftadvanc.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Advance( FT_Face    face,
-                  FT_UInt    gindex,
-                  FT_Int32   load_flags,
-                  FT_Fixed  *padvance );
-
-

-
-

Retrieve the advance value of a given glyph outline in an FT_Face.

-

-
input
-

- - - - -
face -

The source FT_Face handle.

-
gindex -

The glyph index.

-
load_flags -

A set of bit flags similar to those used when calling FT_Load_Glyph, used to determine what kind of advances you need.

-
-
-
output
-

- - -
padvance -

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.

-

If FT_LOAD_VERTICAL_LAYOUT is set, this is the vertical advance corresponding to a vertical layout. Otherwise, it is the horizontal advance in a horizontal layout.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function may fail if you use FT_ADVANCE_FLAG_FAST_ONLY and if the corresponding font backend doesn't have a quick way to retrieve the advances.

-

A scaled advance is returned in 16.16 format but isn't transformed by the affine transformation specified by FT_Set_Transform.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Advances

-
-Defined in FT_ADVANCES_H (freetype/ftadvanc.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Advances( FT_Face    face,
-                   FT_UInt    start,
-                   FT_UInt    count,
-                   FT_Int32   load_flags,
-                   FT_Fixed  *padvances );
-
-

-
-

Retrieve the advance values of several glyph outlines in an FT_Face.

-

-
input
-

- - - - - -
face -

The source FT_Face handle.

-
start -

The first glyph index.

-
count -

The number of advance values you want to retrieve.

-
load_flags -

A set of bit flags similar to those used when calling FT_Load_Glyph.

-
-
-
output
-

- - -
padvance -

The advance values. This array, to be provided by the caller, must contain at least ‘count’ elements.

-

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.

-

If FT_LOAD_VERTICAL_LAYOUT is set, these are the vertical advances corresponding to a vertical layout. Otherwise, they are the horizontal advances in a horizontal layout.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function may fail if you use FT_ADVANCE_FLAG_FAST_ONLY and if the corresponding font backend doesn't have a quick way to retrieve the advances.

-

Scaled advances are returned in 16.16 format but aren't transformed by the affine transformation specified by FT_Set_Transform.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-raster.html b/libs/freetype-2.5.0.1/docs/reference/ft2-raster.html deleted file mode 100644 index b948f68a..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-raster.html +++ /dev/null @@ -1,606 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Scanline Converter -

-

Synopsis

- - - - - - -
FT_RasterFT_RASTER_FLAG_XXXFT_Raster_SetModeFunc
FT_SpanFT_Raster_ParamsFT_Raster_RenderFunc
FT_SpanFuncFT_Raster_NewFuncFT_Raster_Funcs
FT_Raster_BitTest_FuncFT_Raster_DoneFunc
FT_Raster_BitSet_FuncFT_Raster_ResetFunc


- -
-

This section contains technical definitions.

-

-
-

FT_Raster

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct FT_RasterRec_*  FT_Raster;
-
-

-
-

A handle (pointer) to a raster object. Each object can be used independently to convert an outline into a bitmap or pixmap.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Span

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Span_
-  {
-    short           x;
-    unsigned short  len;
-    unsigned char   coverage;
-
-  } FT_Span;
-
-

-
-

A structure used to model a single span of gray (or black) pixels when rendering a monochrome or anti-aliased bitmap.

-

-
fields
-

- - - - -
x -

The span's horizontal start position.

-
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.

-
-
-
note
-

This structure is used by the span drawing callback type named FT_SpanFunc which takes the y coordinate of the span as a a parameter.

-

The coverage value is always between 0 and 255. If you want less gray values, the callback function has to reduce them.

-
-
-
- - -
[Index][TOC]
- -
-

FT_SpanFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef void
-  (*FT_SpanFunc)( int             y,
-                  int             count,
-                  const FT_Span*  spans,
-                  void*           user );
-
-#define FT_Raster_Span_Func  FT_SpanFunc
-
-

-
-

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.

-

-
input
-

- - - - - -
y -

The scanline's y coordinate.

-
count -

The number of spans to draw on this scanline.

-
spans -

A table of ‘count’ spans to draw on the scanline.

-
user -

User-supplied data that is passed to the callback.

-
-
-
note
-

This callback allows client applications to directly render the gray spans of the anti-aliased bitmap to any kind of surfaces.

-

This can be used to write anti-aliased outlines directly to a given background bitmap, and even perform translucency.

-

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.

-

Otherwise, the callback is only called once per scan-line, and only for those scanlines that do have ‘gray’ pixels on them.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_BitTest_Func

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Raster_BitTest_Func)( int    y,
-                             int    x,
-                             void*  user );
-
-

-
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_BitSet_Func

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef void
-  (*FT_Raster_BitSet_Func)( int    y,
-                            int    x,
-                            void*  user );
-
-

-
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_RASTER_FLAG_XXX

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-#define FT_RASTER_FLAG_DEFAULT  0x0
-#define FT_RASTER_FLAG_AA       0x1
-#define FT_RASTER_FLAG_DIRECT   0x2
-#define FT_RASTER_FLAG_CLIP     0x4
-
-  /* deprecated */
-#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
-#define ft_raster_flag_clip     FT_RASTER_FLAG_CLIP
-
-

-
-

A list of bit flag constants as used in the ‘flags’ field of a FT_Raster_Params structure.

-

-
values
-

- - - - - -
FT_RASTER_FLAG_DEFAULT -

This value is 0.

-
FT_RASTER_FLAG_AA -

This flag is set to indicate that an anti-aliased glyph image should be generated. Otherwise, it will be monochrome (1-bit).

-
FT_RASTER_FLAG_DIRECT -

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 must be zeroed before rendering.

-

Note that for now, 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 be clipped to a box specified in the ‘clip_box’ field of the FT_Raster_Params structure.

-

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.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_Params

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Raster_Params_
-  {
-    const FT_Bitmap*        target;
-    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! */
-    void*                   user;
-    FT_BBox                 clip_box;
-
-  } FT_Raster_Params;
-
-

-
-

A structure to hold the arguments used by a raster's render function.

-

-
fields
-

- - - - - - - - - - -
target -

The target bitmap.

-
source -

A pointer to the source glyph image (e.g., an FT_Outline).

-
flags -

The rendering flags.

-
gray_spans -

The gray span drawing callback.

-
black_spans -

The black span drawing callback. UNIMPLEMENTED!

-
bit_test -

The bit test callback. UNIMPLEMENTED!

-
bit_set -

The bit set callback. UNIMPLEMENTED!

-
user -

User-supplied data that is passed to each drawing callback.

-
clip_box -

An optional clipping box. It is only used in direct rendering mode. Note that coordinates here should be expressed in integer pixels (and not in 26.6 fixed-point units).

-
-
-
note
-

An anti-aliased glyph bitmap is drawn if the FT_RASTER_FLAG_AA bit flag is set in the ‘flags’ field, otherwise a monochrome bitmap is generated.

-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_NewFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Raster_NewFunc)( void*       memory,
-                        FT_Raster*  raster );
-
-#define FT_Raster_New_Func  FT_Raster_NewFunc
-
-

-
-

A function used to create a new raster object.

-

-
input
-

- - -
memory -

A handle to the memory allocator.

-
-
-
output
-

- - -
raster -

A handle to the new raster object.

-
-
-
return
-

Error code. 0 means success.

-
-
note
-

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 FT_Memory object, i.e., a handle to the standard FreeType memory allocator. However, this field can be completely ignored by a given raster implementation.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_DoneFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef void
-  (*FT_Raster_DoneFunc)( FT_Raster  raster );
-
-#define FT_Raster_Done_Func  FT_Raster_DoneFunc
-
-

-
-

A function used to destroy a given raster object.

-

-
input
-

- - -
raster -

A handle to the raster object.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_ResetFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef void
-  (*FT_Raster_ResetFunc)( FT_Raster       raster,
-                          unsigned char*  pool_base,
-                          unsigned long   pool_size );
-
-#define FT_Raster_Reset_Func  FT_Raster_ResetFunc
-
-

-
-

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.

-

This function is called each time the render pool changes, or just after a new raster object is created.

-

-
input
-

- - - - -
raster -

A handle to the new raster object.

-
pool_base -

The address in memory of the render pool.

-
pool_size -

The size in bytes of the render pool.

-
-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_SetModeFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Raster_SetModeFunc)( FT_Raster      raster,
-                            unsigned long  mode,
-                            void*          args );
-
-#define FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
-
-

-
-

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.

-

-
input
-

- - - - -
raster -

A handle to the new raster object.

-
mode -

A 4-byte tag used to name the mode or property.

-
args -

A pointer to the new mode/property to use.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_RenderFunc

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef int
-  (*FT_Raster_RenderFunc)( FT_Raster                raster,
-                           const FT_Raster_Params*  params );
-
-#define FT_Raster_Render_Func  FT_Raster_RenderFunc
-
-

-
-

Invoke a given raster to scan-convert a given glyph image into a target bitmap.

-

-
input
-

- - - -
raster -

A handle to the raster object.

-
params -

A pointer to an FT_Raster_Params structure used to store the rendering parameters.

-
-
-
return
-

Error code. 0 means success.

-
-
note
-

The exact format of the source image depends on the raster's glyph format defined in its FT_Raster_Funcs structure. It can be an FT_Outline or anything else in order to support a large array of glyph formats.

-

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.

-

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 which support direct composition).

-
-
-
- - -
[Index][TOC]
- -
-

FT_Raster_Funcs

-
-Defined in FT_IMAGE_H (freetype/ftimage.h). -

-
-
-  typedef struct  FT_Raster_Funcs_
-  {
-    FT_Glyph_Format        glyph_format;
-    FT_Raster_NewFunc      raster_new;
-    FT_Raster_ResetFunc    raster_reset;
-    FT_Raster_SetModeFunc  raster_set_mode;
-    FT_Raster_RenderFunc   raster_render;
-    FT_Raster_DoneFunc     raster_done;
-
-  } FT_Raster_Funcs;
-
-

-
-

A structure used to describe a given raster class to the library.

-

-
fields
-

- - - - - - -
glyph_format -

The supported glyph format for this raster.

-
raster_new -

The raster constructor.

-
raster_reset -

Used to reset the render pool within the raster.

-
raster_render -

A function to render a glyph into a given bitmap.

-
raster_done -

The raster destructor.

-
-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-sfnt_names.html b/libs/freetype-2.5.0.1/docs/reference/ft2-sfnt_names.html deleted file mode 100644 index 64be2e01..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-sfnt_names.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-SFNT Names -

-

Synopsis

- - - - - - -
FT_SfntName
FT_Get_Sfnt_Name_Count
FT_Get_Sfnt_Name
FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY


- -
-

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.

-

The definitions below are used to access them if available.

-

Note that this has nothing to do with glyph names!

-

-
-

FT_SfntName

-
-Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

-
-
-  typedef struct  FT_SfntName_
-  {
-    FT_UShort  platform_id;
-    FT_UShort  encoding_id;
-    FT_UShort  language_id;
-    FT_UShort  name_id;
-
-    FT_Byte*   string;      /* this string is *not* null-terminated! */
-    FT_UInt    string_len;  /* in bytes */
-
-  } FT_SfntName;
-
-

-
-

A structure used to model an SFNT ‘name’ table entry.

-

-
fields
-

- - - - - - - -
platform_id -

The platform ID for ‘string’.

-
encoding_id -

The encoding ID for ‘string’.

-
language_id -

The language ID for ‘string’.

-
name_id -

An identifier for ‘string’.

-
string -

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.

-

Generally speaking, the string is not zero-terminated. Please refer to the TrueType specification for details.

-
string_len -

The length of ‘string’ in bytes.

-
-
-
note
-

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.

-

See also TT_PLATFORM_XXX, TT_APPLE_ID_XXX, TT_MAC_ID_XXX, TT_ISO_ID_XXX, and TT_MS_ID_XXX.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Sfnt_Name_Count

-
-Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

-
-
-  FT_EXPORT( FT_UInt )
-  FT_Get_Sfnt_Name_Count( FT_Face  face );
-
-

-
-

Retrieve the number of name strings in the SFNT ‘name’ table.

-

-
input
-

- - -
face -

A handle to the source face.

-
-
-
return
-

The number of strings in the ‘name’ table.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_Sfnt_Name

-
-Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_Sfnt_Name( FT_Face       face,
-                    FT_UInt       idx,
-                    FT_SfntName  *aname );
-
-

-
-

Retrieve a string of the SFNT ‘name’ table for a given index.

-

-
input
-

- - - -
face -

A handle to the source face.

-
idx -

The index of the ‘name’ string.

-
-
-
output
-

- - -
aname -

The indexed FT_SfntName structure.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The ‘string’ array returned in the ‘aname’ structure is not null-terminated. The application should deallocate it if it is no longer in use.

-

Use FT_Get_Sfnt_Name_Count to get the total number of available ‘name’ table entries, then do a loop until you get the right platform, encoding, and name ID.

-
-
-
- - -
[Index][TOC]
- -
-

FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY

-
-Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

-
-
-#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY  FT_MAKE_TAG( 'i', 'g', 'p', 'f' )
-
-

-
-

A constant used as the tag of FT_Parameter 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 which has 4-face-per-family restriction.

-

-
-
- - -
[Index][TOC]
- -
-

FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY

-
-Defined in FT_SFNT_NAMES_H (freetype/ftsnames.h). -

-
-
-#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY  FT_MAKE_TAG( 'i', 'g', 'p', 's' )
-
-

-
-

A constant used as the tag of FT_Parameter structures to make FT_Open_Face() ignore preferred subfamily names in ‘name’ table since OpenType version 1.4. For backwards compatibility with legacy systems which has 4-face-per-family restriction.

-

-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-sizes_management.html b/libs/freetype-2.5.0.1/docs/reference/ft2-sizes_management.html deleted file mode 100644 index 3164eff0..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-sizes_management.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Size Management -

-

Synopsis

- - -
FT_New_SizeFT_Done_SizeFT_Activate_Size


- -
-

When creating a new face object (e.g., with FT_New_Face), an FT_Size object is automatically created and used to store all pixel-size dependent information, available in the ‘face->size’ field.

-

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 FT_New_Size and FT_Done_Size.

-

Note that FT_Set_Pixel_Sizes and FT_Set_Char_Size only modify the contents of the current ‘active’ size; you thus need to use FT_Activate_Size to change it.

-

99% of applications won't need the functions provided here, especially if they use the caching sub-system, so be cautious when using these.

-

-
-

FT_New_Size

-
-Defined in FT_SIZES_H (freetype/ftsizes.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_New_Size( FT_Face   face,
-               FT_Size*  size );
-
-

-
-

Create a new size object from a given face object.

-

-
input
-

- - -
face -

A handle to a parent face object.

-
-
-
output
-

- - -
asize -

A handle to a new size object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

You need to call FT_Activate_Size in order to select the new size for upcoming calls to FT_Set_Pixel_Sizes, FT_Set_Char_Size, FT_Load_Glyph, FT_Load_Char, etc.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Done_Size

-
-Defined in FT_SIZES_H (freetype/ftsizes.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Done_Size( FT_Size  size );
-
-

-
-

Discard a given size object. Note that FT_Done_Face automatically discards all size objects allocated with FT_New_Size.

-

-
input
-

- - -
size -

A handle to a target size object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Activate_Size

-
-Defined in FT_SIZES_H (freetype/ftsizes.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Activate_Size( FT_Size  size );
-
-

-
-

Even though it is possible to create several size objects for a given face (see FT_New_Size for details), functions like FT_Load_Glyph or FT_Load_Char only use the one which has been activated last to determine the ‘current character pixel size’.

-

This function can be used to ‘activate’ a previously created size object.

-

-
input
-

- - -
size -

A handle to a target size object.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

If ‘face’ is the size's parent face object, this function changes the value of ‘face->size’ to the input size handle.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-system_interface.html b/libs/freetype-2.5.0.1/docs/reference/ft2-system_interface.html deleted file mode 100644 index e17f5f16..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-system_interface.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-System Interface -

-

Synopsis

- - - - - -
FT_MemoryFT_MemoryRecFT_Stream_CloseFunc
FT_Alloc_FuncFT_StreamFT_StreamRec
FT_Free_FuncFT_StreamDesc
FT_Realloc_FuncFT_Stream_IoFunc


- -
-

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.

-

-
-

FT_Memory

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef struct FT_MemoryRec_*  FT_Memory;
-
-

-
-

A handle to a given memory manager object, defined with an FT_MemoryRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Alloc_Func

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef void*
-  (*FT_Alloc_Func)( FT_Memory  memory,
-                    long       size );
-
-

-
-

A function used to allocate ‘size’ bytes from ‘memory’.

-

-
input
-

- - - -
memory -

A handle to the source memory manager.

-
size -

The size in bytes to allocate.

-
-
-
return
-

Address of new memory block. 0 in case of failure.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Free_Func

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef void
-  (*FT_Free_Func)( FT_Memory  memory,
-                   void*      block );
-
-

-
-

A function used to release a given block of memory.

-

-
input
-

- - - -
memory -

A handle to the source memory manager.

-
block -

The address of the target memory block.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Realloc_Func

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef void*
-  (*FT_Realloc_Func)( FT_Memory  memory,
-                      long       cur_size,
-                      long       new_size,
-                      void*      block );
-
-

-
-

A function used to re-allocate a given block of memory.

-

-
input
-

- - - - - -
memory -

A handle to the source memory manager.

-
cur_size -

The block's current size in bytes.

-
new_size -

The block's requested new size.

-
block -

The block's current address.

-
-
-
return
-

New block address. 0 in case of memory shortage.

-
-
note
-

In case of error, the old block must still be available.

-
-
-
- - -
[Index][TOC]
- -
-

FT_MemoryRec

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  struct  FT_MemoryRec_
-  {
-    void*            user;
-    FT_Alloc_Func    alloc;
-    FT_Free_Func     free;
-    FT_Realloc_Func  realloc;
-  };
-
-

-
-

A structure used to describe a given memory manager to FreeType 2.

-

-
fields
-

- - - - - -
user -

A generic typeless pointer for user data.

-
alloc -

A pointer type to an allocation function.

-
free -

A pointer type to an memory freeing function.

-
realloc -

A pointer type to a reallocation function.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Stream

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef struct FT_StreamRec_*  FT_Stream;
-
-

-
-

A handle to an input stream.

-

-
-
- - -
[Index][TOC]
- -
-

FT_StreamDesc

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef union  FT_StreamDesc_
-  {
-    long   value;
-    void*  pointer;
-
-  } FT_StreamDesc;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Stream_IoFunc

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef unsigned long
-  (*FT_Stream_IoFunc)( FT_Stream       stream,
-                       unsigned long   offset,
-                       unsigned char*  buffer,
-                       unsigned long   count );
-
-

-
-

A function used to seek and read data from a given input stream.

-

-
input
-

- - - - - -
stream -

A handle to the source stream.

-
offset -

The offset of read in stream (always from start).

-
buffer -

The address of the read buffer.

-
count -

The number of bytes to read from the stream.

-
-
-
return
-

The number of bytes effectively read by the stream.

-
-
note
-

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.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Stream_CloseFunc

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef void
-  (*FT_Stream_CloseFunc)( FT_Stream  stream );
-
-

-
-

A function used to close a given input stream.

-

-
input
-

- - -
stream -

A handle to the target stream.

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_StreamRec

-
-Defined in FT_SYSTEM_H (freetype/ftsystem.h). -

-
-
-  typedef struct  FT_StreamRec_
-  {
-    unsigned char*       base;
-    unsigned long        size;
-    unsigned long        pos;
-
-    FT_StreamDesc        descriptor;
-    FT_StreamDesc        pathname;
-    FT_Stream_IoFunc     read;
-    FT_Stream_CloseFunc  close;
-
-    FT_Memory            memory;
-    unsigned char*       cursor;
-    unsigned char*       limit;
-
-  } FT_StreamRec;
-
-

-
-

A structure used to describe an input stream.

-

-
input
-

- - - - - - - - - - - -
base -

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.

-
size -

The stream size in bytes.

-
pos -

The current position within the stream.

-
descriptor -

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.

-
pathname -

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).

-
read -

The stream's input function.

-
close -

The stream's close function.

-
memory -

The memory manager to use to preload frames. This is set internally by FreeType and shouldn't be touched by stream implementations.

-
cursor -

This field is set and used internally by FreeType when parsing frames.

-
limit -

This field is set and used internally by FreeType when parsing frames.

-
-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-toc.html b/libs/freetype-2.5.0.1/docs/reference/ft2-toc.html deleted file mode 100644 index b05760b6..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-toc.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - -
[Index]
-

FreeType-2.5.0 API Reference

- -

Table of Contents

-

General Remarks

  • - - -
    -User allocation -

    How client applications should allocate FreeType data structures.

    -
    -
-

Core API

-

Format-Specific API

-

Controlling FreeType Modules

-

Cache Sub-System

  • - - -
    -Cache Sub-System -

    How to cache face, size, and glyph data with FreeType 2.

    -
    -
-

Support API

-

Miscellaneous

-

Global Index

-
- - -
[Index]
- -
generated on Wed Jun 19 23:29:20 2013
- diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-truetype_engine.html b/libs/freetype-2.5.0.1/docs/reference/ft2-truetype_engine.html deleted file mode 100644 index f9e7919b..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-truetype_engine.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-The TrueType Engine -

-

Synopsis

- - -
FT_TrueTypeEngineTypeFT_Get_TrueType_Engine_Type


- -
-

This section contains a function used to query the level of TrueType bytecode support compiled in this version of the library.

-

-
-

FT_TrueTypeEngineType

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  typedef enum  FT_TrueTypeEngineType_
-  {
-    FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
-    FT_TRUETYPE_ENGINE_TYPE_UNPATENTED,
-    FT_TRUETYPE_ENGINE_TYPE_PATENTED
-
-  } FT_TrueTypeEngineType;
-
-

-
-

A list of values describing which kind of TrueType bytecode engine is implemented in a given FT_Library instance. It is used by the FT_Get_TrueType_Engine_Type function.

-

-
values
-

- - - - - - - -
FT_TRUETYPE_ENGINE_TYPE_NONE
-

The library doesn't implement any kind of bytecode interpreter.

-
FT_TRUETYPE_ENGINE_TYPE_UNPATENTED
-

The library implements a bytecode interpreter that doesn't support the patented operations of the TrueType virtual machine.

-

Its main use is to load certain Asian fonts which position and scale glyph components with bytecode instructions. It produces bad output for most other fonts.

-
FT_TRUETYPE_ENGINE_TYPE_PATENTED
-

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).

-
-
-
since
-

2.2

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_TrueType_Engine_Type

-
-Defined in FT_MODULE_H (freetype/ftmodapi.h). -

-
-
-  FT_EXPORT( FT_TrueTypeEngineType )
-  FT_Get_TrueType_Engine_Type( FT_Library  library );
-
-

-
-

Return an FT_TrueTypeEngineType value to indicate which level of the TrueType virtual machine a given library instance supports.

-

-
input
-

- - -
library -

A library instance.

-
-
-
return
-

A value indicating which level is supported.

-
-
since
-

2.2

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-truetype_tables.html b/libs/freetype-2.5.0.1/docs/reference/ft2-truetype_tables.html deleted file mode 100644 index 769a77a5..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-truetype_tables.html +++ /dev/null @@ -1,1232 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-TrueType Tables -

-

Synopsis

- - - - - - - - - - - -
TT_PLATFORM_XXXTT_Postscript
TT_APPLE_ID_XXXTT_PCLT
TT_MAC_ID_XXXTT_MaxProfile
TT_ISO_ID_XXXFT_Sfnt_Tag
TT_MS_ID_XXXFT_Get_Sfnt_Table
TT_ADOBE_ID_XXXFT_Load_Sfnt_Table
TT_HeaderFT_Sfnt_Table_Info
TT_HoriHeaderFT_Get_CMap_Language_ID
TT_VertHeaderFT_Get_CMap_Format
TT_OS2FT_PARAM_TAG_UNPATENTED_HINTING


- -
-

This section contains the definition of TrueType-specific tables as well as some routines used to access and process them.

-

-
-

TT_PLATFORM_XXX

-
-Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

-
-
-#define TT_PLATFORM_APPLE_UNICODE  0
-#define TT_PLATFORM_MACINTOSH      1
-#define TT_PLATFORM_ISO            2 /* deprecated */
-#define TT_PLATFORM_MICROSOFT      3
-#define TT_PLATFORM_CUSTOM         4
-#define TT_PLATFORM_ADOBE          7 /* artificial */
-
-

-
-

A list of valid values for the ‘platform_id’ identifier code in FT_CharMapRec and FT_SfntName structures.

-

-
values
-

- - - - - - - - -
TT_PLATFORM_APPLE_UNICODE
-

Used by Apple to indicate a Unicode character map and/or name entry. See TT_APPLE_ID_XXX for corresponding ‘encoding_id’ values. Note that name entries in this format are coded as big-endian UCS-2 character codes only.

-
TT_PLATFORM_MACINTOSH -

Used by Apple to indicate a MacOS-specific charmap and/or name entry. See TT_MAC_ID_XXX 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).

-
TT_PLATFORM_ISO -

This value was used to specify ISO/IEC 10646 charmaps. It is however now deprecated. See TT_ISO_ID_XXX for a list of corresponding ‘encoding_id’ values.

-
TT_PLATFORM_MICROSOFT -

Used by Microsoft to indicate Windows-specific charmaps. See TT_MS_ID_XXX for a list of corresponding ‘encoding_id’ values. Note that most fonts contain a Unicode charmap using (TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS).

-
TT_PLATFORM_CUSTOM -

Used to indicate application-specific charmaps.

-
TT_PLATFORM_ADOBE -

This value isn't part of any font format specification, but is used by FreeType to report Adobe-specific charmaps in an FT_CharMapRec structure. See TT_ADOBE_ID_XXX.

-
-
-
-
- - -
[Index][TOC]
- -
-

TT_APPLE_ID_XXX

-
-Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

-
-
-#define TT_APPLE_ID_DEFAULT           0 /* Unicode 1.0 */
-#define TT_APPLE_ID_UNICODE_1_1       1 /* specify Hangul at U+34xx */
-#define TT_APPLE_ID_ISO_10646         2 /* deprecated */
-#define TT_APPLE_ID_UNICODE_2_0       3 /* or later */
-#define TT_APPLE_ID_UNICODE_32        4 /* 2.0 or later, full repertoire */
-#define TT_APPLE_ID_VARIANT_SELECTOR  5 /* variation selector data */
-
-

-
-

A list of valid values for the ‘encoding_id’ for TT_PLATFORM_APPLE_UNICODE charmaps and name entries.

-

-
values
-

- - - - - - - - - - -
TT_APPLE_ID_DEFAULT -

Unicode version 1.0.

-
TT_APPLE_ID_UNICODE_1_1
-

Unicode 1.1; specifies Hangul characters starting at U+34xx.

-
TT_APPLE_ID_ISO_10646 -

Deprecated (identical to preceding).

-
TT_APPLE_ID_UNICODE_2_0
-

Unicode 2.0 and beyond (UTF-16 BMP only).

-
TT_APPLE_ID_UNICODE_32 -

Unicode 3.1 and beyond, using UTF-32.

-
TT_APPLE_ID_VARIANT_SELECTOR
-

From Adobe, not Apple. Not a normal cmap. Specifies variations on a real cmap.

-
-
-
-
- - -
[Index][TOC]
- -
-

TT_MAC_ID_XXX

-
-Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

-
-
-#define TT_MAC_ID_ROMAN                 0
-#define TT_MAC_ID_JAPANESE              1
-#define TT_MAC_ID_TRADITIONAL_CHINESE   2
-#define TT_MAC_ID_KOREAN                3
-#define TT_MAC_ID_ARABIC                4
-#define TT_MAC_ID_HEBREW                5
-#define TT_MAC_ID_GREEK                 6
-#define TT_MAC_ID_RUSSIAN               7
-#define TT_MAC_ID_RSYMBOL               8
-#define TT_MAC_ID_DEVANAGARI            9
-#define TT_MAC_ID_GURMUKHI             10
-#define TT_MAC_ID_GUJARATI             11
-#define TT_MAC_ID_ORIYA                12
-#define TT_MAC_ID_BENGALI              13
-#define TT_MAC_ID_TAMIL                14
-#define TT_MAC_ID_TELUGU               15
-#define TT_MAC_ID_KANNADA              16
-#define TT_MAC_ID_MALAYALAM            17
-#define TT_MAC_ID_SINHALESE            18
-#define TT_MAC_ID_BURMESE              19
-#define TT_MAC_ID_KHMER                20
-#define TT_MAC_ID_THAI                 21
-#define TT_MAC_ID_LAOTIAN              22
-#define TT_MAC_ID_GEORGIAN             23
-#define TT_MAC_ID_ARMENIAN             24
-#define TT_MAC_ID_MALDIVIAN            25
-#define TT_MAC_ID_SIMPLIFIED_CHINESE   25
-#define TT_MAC_ID_TIBETAN              26
-#define TT_MAC_ID_MONGOLIAN            27
-#define TT_MAC_ID_GEEZ                 28
-#define TT_MAC_ID_SLAVIC               29
-#define TT_MAC_ID_VIETNAMESE           30
-#define TT_MAC_ID_SINDHI               31
-#define TT_MAC_ID_UNINTERP             32
-
-

-
-

A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MACINTOSH charmaps and name entries.

-

-
values
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TT_MAC_ID_ROMAN -

-
TT_MAC_ID_JAPANESE -

-
TT_MAC_ID_TRADITIONAL_CHINESE
-

-
TT_MAC_ID_KOREAN -

-
TT_MAC_ID_ARABIC -

-
TT_MAC_ID_HEBREW -

-
TT_MAC_ID_GREEK -

-
TT_MAC_ID_RUSSIAN -

-
TT_MAC_ID_RSYMBOL -

-
TT_MAC_ID_DEVANAGARI -

-
TT_MAC_ID_GURMUKHI -

-
TT_MAC_ID_GUJARATI -

-
TT_MAC_ID_ORIYA -

-
TT_MAC_ID_BENGALI -

-
TT_MAC_ID_TAMIL -

-
TT_MAC_ID_TELUGU -

-
TT_MAC_ID_KANNADA -

-
TT_MAC_ID_MALAYALAM -

-
TT_MAC_ID_SINHALESE -

-
TT_MAC_ID_BURMESE -

-
TT_MAC_ID_KHMER -

-
TT_MAC_ID_THAI -

-
TT_MAC_ID_LAOTIAN -

-
TT_MAC_ID_GEORGIAN -

-
TT_MAC_ID_ARMENIAN -

-
TT_MAC_ID_MALDIVIAN -

-
TT_MAC_ID_SIMPLIFIED_CHINESE
-

-
TT_MAC_ID_TIBETAN -

-
TT_MAC_ID_MONGOLIAN -

-
TT_MAC_ID_GEEZ -

-
TT_MAC_ID_SLAVIC -

-
TT_MAC_ID_VIETNAMESE -

-
TT_MAC_ID_SINDHI -

-
TT_MAC_ID_UNINTERP -

-
-
-
-
- - -
[Index][TOC]
- -
-

TT_ISO_ID_XXX

-
-Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

-
-
-#define TT_ISO_ID_7BIT_ASCII  0
-#define TT_ISO_ID_10646       1
-#define TT_ISO_ID_8859_1      2
-
-

-
-

A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ISO charmaps and name entries.

-

Their use is now deprecated.

-

-
values
-

- - - - -
TT_ISO_ID_7BIT_ASCII -

ASCII.

-
TT_ISO_ID_10646 -

ISO/10646.

-
TT_ISO_ID_8859_1 -

Also known as Latin-1.

-
-
-
-
- - -
[Index][TOC]
- -
-

TT_MS_ID_XXX

-
-Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

-
-
-#define TT_MS_ID_SYMBOL_CS    0
-#define TT_MS_ID_UNICODE_CS   1
-#define TT_MS_ID_SJIS         2
-#define TT_MS_ID_GB2312       3
-#define TT_MS_ID_BIG_5        4
-#define TT_MS_ID_WANSUNG      5
-#define TT_MS_ID_JOHAB        6
-#define TT_MS_ID_UCS_4       10
-
-

-
-

A list of valid values for the ‘encoding_id’ for TT_PLATFORM_MICROSOFT charmaps and name entries.

-

-
values
-

- - - - - - - - - -
TT_MS_ID_SYMBOL_CS -

Corresponds to Microsoft symbol encoding. See FT_ENCODING_MS_SYMBOL.

-
TT_MS_ID_UNICODE_CS -

Corresponds to a Microsoft WGL4 charmap, matching Unicode. See FT_ENCODING_UNICODE.

-
TT_MS_ID_SJIS -

Corresponds to SJIS Japanese encoding. See FT_ENCODING_SJIS.

-
TT_MS_ID_GB2312 -

Corresponds to Simplified Chinese as used in Mainland China. See FT_ENCODING_GB2312.

-
TT_MS_ID_BIG_5 -

Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See FT_ENCODING_BIG5.

-
TT_MS_ID_WANSUNG -

Corresponds to Korean Wansung encoding. See FT_ENCODING_WANSUNG.

-
TT_MS_ID_JOHAB -

Corresponds to Johab encoding. See FT_ENCODING_JOHAB.

-
TT_MS_ID_UCS_4 -

Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType specification version 1.4 (mid-2001.)

-
-
-
-
- - -
[Index][TOC]
- -
-

TT_ADOBE_ID_XXX

-
-Defined in FT_TRUETYPE_IDS_H (freetype/ttnameid.h). -

-
-
-#define TT_ADOBE_ID_STANDARD  0
-#define TT_ADOBE_ID_EXPERT    1
-#define TT_ADOBE_ID_CUSTOM    2
-#define TT_ADOBE_ID_LATIN_1   3
-
-

-
-

A list of valid values for the ‘encoding_id’ for TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific extension!

-

-
values
-

- - - - - -
TT_ADOBE_ID_STANDARD -

Adobe standard encoding.

-
TT_ADOBE_ID_EXPERT -

Adobe expert encoding.

-
TT_ADOBE_ID_CUSTOM -

Adobe custom encoding.

-
TT_ADOBE_ID_LATIN_1 -

Adobe Latin 1 encoding.

-
-
-
-
- - -
[Index][TOC]
- -
-

TT_Header

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_Header_
-  {
-    FT_Fixed   Table_Version;
-    FT_Fixed   Font_Revision;
-
-    FT_Long    CheckSum_Adjust;
-    FT_Long    Magic_Number;
-
-    FT_UShort  Flags;
-    FT_UShort  Units_Per_EM;
-
-    FT_Long    Created [2];
-    FT_Long    Modified[2];
-
-    FT_Short   xMin;
-    FT_Short   yMin;
-    FT_Short   xMax;
-    FT_Short   yMax;
-
-    FT_UShort  Mac_Style;
-    FT_UShort  Lowest_Rec_PPEM;
-
-    FT_Short   Font_Direction;
-    FT_Short   Index_To_Loc_Format;
-    FT_Short   Glyph_Data_Format;
-
-  } TT_Header;
-
-

-
-

A structure used to model a TrueType font header table. All fields follow the TrueType specification.

-

-
-
- - -
[Index][TOC]
- -
-

TT_HoriHeader

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_HoriHeader_
-  {
-    FT_Fixed   Version;
-    FT_Short   Ascender;
-    FT_Short   Descender;
-    FT_Short   Line_Gap;
-
-    FT_UShort  advance_Width_Max;      /* advance width maximum */
-
-    FT_Short   min_Left_Side_Bearing;  /* minimum left-sb       */
-    FT_Short   min_Right_Side_Bearing; /* minimum right-sb      */
-    FT_Short   xMax_Extent;            /* xmax extents          */
-    FT_Short   caret_Slope_Rise;
-    FT_Short   caret_Slope_Run;
-    FT_Short   caret_Offset;
-
-    FT_Short   Reserved[4];
-
-    FT_Short   metric_Data_Format;
-    FT_UShort  number_Of_HMetrics;
-
-    /* The following fields are not defined by the TrueType specification */
-    /* but they are used to connect the metrics header to the relevant    */
-    /* `HMTX' table.                                                      */
-
-    void*      long_metrics;
-    void*      short_metrics;
-
-  } TT_HoriHeader;
-
-

-
-

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.

-

-
fields
-

- - - - - - - - - - - - - - - - -
Version -

The table version.

-
Ascender -

The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.

-

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).

-

You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.

-
Descender -

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.

-

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).

-

You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.

-
Line_Gap -

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.

-
advance_Width_Max -

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.

-
min_Left_Side_Bearing -

The minimum left side bearing of all glyphs within the font.

-
min_Right_Side_Bearing -

The minimum right side bearing of all glyphs within the font.

-
xMax_Extent -

The maximum horizontal extent (i.e., the ‘width’ of a glyph's bounding box) for all glyphs in the font.

-
caret_Slope_Rise -

The rise coefficient of the cursor's slope of the cursor (slope=rise/run).

-
caret_Slope_Run -

The run coefficient of the cursor's slope.

-
Reserved -

8 reserved bytes.

-
metric_Data_Format -

Always 0.

-
number_Of_HMetrics -

Number of HMetrics entries in the ‘hmtx’ table -- this value can be smaller than the total number of glyphs in the font.

-
long_metrics -

A pointer into the ‘hmtx’ table.

-
short_metrics -

A pointer into the ‘hmtx’ table.

-
-
-
note
-

IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.

-

This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.

-
-
-
- - -
[Index][TOC]
- -
-

TT_VertHeader

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_VertHeader_
-  {
-    FT_Fixed   Version;
-    FT_Short   Ascender;
-    FT_Short   Descender;
-    FT_Short   Line_Gap;
-
-    FT_UShort  advance_Height_Max;      /* advance height maximum */
-
-    FT_Short   min_Top_Side_Bearing;    /* minimum left-sb or top-sb       */
-    FT_Short   min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb   */
-    FT_Short   yMax_Extent;             /* xmax or ymax extents            */
-    FT_Short   caret_Slope_Rise;
-    FT_Short   caret_Slope_Run;
-    FT_Short   caret_Offset;
-
-    FT_Short   Reserved[4];
-
-    FT_Short   metric_Data_Format;
-    FT_UShort  number_Of_VMetrics;
-
-    /* The following fields are not defined by the TrueType specification */
-    /* but they're used to connect the metrics header to the relevant     */
-    /* `HMTX' or `VMTX' table.                                            */
-
-    void*      long_metrics;
-    void*      short_metrics;
-
-  } TT_VertHeader;
-
-

-
-

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.

-

-
fields
-

- - - - - - - - - - - - - - - - - - -
Version -

The table version.

-
Ascender -

The font's ascender, i.e., the distance from the baseline to the top-most of all glyph points found in the font.

-

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).

-

You should use the ‘sTypoAscender’ field of the OS/2 table instead if you want the correct one.

-
Descender -

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.

-

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).

-

You should use the ‘sTypoDescender’ field of the OS/2 table instead if you want the correct one.

-
Line_Gap -

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.

-
advance_Height_Max -

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.

-
min_Top_Side_Bearing -

The minimum top side bearing of all glyphs within the font.

-
min_Bottom_Side_Bearing
-

The minimum bottom side bearing of all glyphs within the font.

-
yMax_Extent -

The maximum vertical extent (i.e., the ‘height’ of a glyph's bounding box) for all glyphs in the font.

-
caret_Slope_Rise -

The rise coefficient of the cursor's slope of the cursor (slope=rise/run).

-
caret_Slope_Run -

The run coefficient of the cursor's slope.

-
caret_Offset -

The cursor's offset for slanted fonts. This value is ‘reserved’ in vmtx version 1.0.

-
Reserved -

8 reserved bytes.

-
metric_Data_Format -

Always 0.

-
number_Of_HMetrics -

Number of VMetrics entries in the ‘vmtx’ table -- this value can be smaller than the total number of glyphs in the font.

-
long_metrics -

A pointer into the ‘vmtx’ table.

-
short_metrics -

A pointer into the ‘vmtx’ table.

-
-
-
note
-

IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should be identical except for the names of their fields which are different.

-

This ensures that a single function in the ‘ttload’ module is able to read both the horizontal and vertical headers.

-
-
-
- - -
[Index][TOC]
- -
-

TT_OS2

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_OS2_
-  {
-    FT_UShort  version;                /* 0x0001 - more or 0xFFFF */
-    FT_Short   xAvgCharWidth;
-    FT_UShort  usWeightClass;
-    FT_UShort  usWidthClass;
-    FT_Short   fsType;
-    FT_Short   ySubscriptXSize;
-    FT_Short   ySubscriptYSize;
-    FT_Short   ySubscriptXOffset;
-    FT_Short   ySubscriptYOffset;
-    FT_Short   ySuperscriptXSize;
-    FT_Short   ySuperscriptYSize;
-    FT_Short   ySuperscriptXOffset;
-    FT_Short   ySuperscriptYOffset;
-    FT_Short   yStrikeoutSize;
-    FT_Short   yStrikeoutPosition;
-    FT_Short   sFamilyClass;
-
-    FT_Byte    panose[10];
-
-    FT_ULong   ulUnicodeRange1;        /* Bits 0-31   */
-    FT_ULong   ulUnicodeRange2;        /* Bits 32-63  */
-    FT_ULong   ulUnicodeRange3;        /* Bits 64-95  */
-    FT_ULong   ulUnicodeRange4;        /* Bits 96-127 */
-
-    FT_Char    achVendID[4];
-
-    FT_UShort  fsSelection;
-    FT_UShort  usFirstCharIndex;
-    FT_UShort  usLastCharIndex;
-    FT_Short   sTypoAscender;
-    FT_Short   sTypoDescender;
-    FT_Short   sTypoLineGap;
-    FT_UShort  usWinAscent;
-    FT_UShort  usWinDescent;
-
-    /* only version 1 tables: */
-
-    FT_ULong   ulCodePageRange1;       /* Bits 0-31   */
-    FT_ULong   ulCodePageRange2;       /* Bits 32-63  */
-
-    /* only version 2 tables: */
-
-    FT_Short   sxHeight;
-    FT_Short   sCapHeight;
-    FT_UShort  usDefaultChar;
-    FT_UShort  usBreakChar;
-    FT_UShort  usMaxContext;
-
-  } TT_OS2;
-
-

-
-

A structure used to model a TrueType OS/2 table. This is the long table version. All fields comply to the TrueType specification.

-

Note that we now support old Mac fonts which do not include an OS/2 table. In this case, the ‘version’ field is always set to 0xFFFF.

-

-
-
- - -
[Index][TOC]
- -
-

TT_Postscript

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_Postscript_
-  {
-    FT_Fixed  FormatType;
-    FT_Fixed  italicAngle;
-    FT_Short  underlinePosition;
-    FT_Short  underlineThickness;
-    FT_ULong  isFixedPitch;
-    FT_ULong  minMemType42;
-    FT_ULong  maxMemType42;
-    FT_ULong  minMemType1;
-    FT_ULong  maxMemType1;
-
-    /* Glyph names follow in the file, but we don't   */
-    /* load them by default.  See the ttpost.c file.  */
-
-  } TT_Postscript;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

TT_PCLT

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_PCLT_
-  {
-    FT_Fixed   Version;
-    FT_ULong   FontNumber;
-    FT_UShort  Pitch;
-    FT_UShort  xHeight;
-    FT_UShort  Style;
-    FT_UShort  TypeFamily;
-    FT_UShort  CapHeight;
-    FT_UShort  SymbolSet;
-    FT_Char    TypeFace[16];
-    FT_Char    CharacterComplement[8];
-    FT_Char    FileName[6];
-    FT_Char    StrokeWeight;
-    FT_Char    WidthType;
-    FT_Byte    SerifStyle;
-    FT_Byte    Reserved;
-
-  } TT_PCLT;
-
-

-
-

A structure used to model a TrueType PCLT table. All fields comply to the TrueType specification.

-

-
-
- - -
[Index][TOC]
- -
-

TT_MaxProfile

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  typedef struct  TT_MaxProfile_
-  {
-    FT_Fixed   version;
-    FT_UShort  numGlyphs;
-    FT_UShort  maxPoints;
-    FT_UShort  maxContours;
-    FT_UShort  maxCompositePoints;
-    FT_UShort  maxCompositeContours;
-    FT_UShort  maxZones;
-    FT_UShort  maxTwilightPoints;
-    FT_UShort  maxStorage;
-    FT_UShort  maxFunctionDefs;
-    FT_UShort  maxInstructionDefs;
-    FT_UShort  maxStackElements;
-    FT_UShort  maxSizeOfInstructions;
-    FT_UShort  maxComponentElements;
-    FT_UShort  maxComponentDepth;
-
-  } TT_MaxProfile;
-
-

-
-

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.

-

-
fields
-

- - - - - - - - - - - - - - - - -
version -

The version number.

-
numGlyphs -

The number of glyphs in this TrueType font.

-
maxPoints -

The maximum number of points in a non-composite TrueType glyph. See also the structure element ‘maxCompositePoints’.

-
maxContours -

The maximum number of contours in a non-composite TrueType glyph. See also the structure element ‘maxCompositeContours’.

-
maxCompositePoints -

The maximum number of points in a composite TrueType glyph. See also the structure element ‘maxPoints’.

-
maxCompositeContours -

The maximum number of contours in a composite TrueType glyph. See also the structure element ‘maxContours’.

-
maxZones -

The maximum number of zones used for glyph hinting.

-
maxTwilightPoints -

The maximum number of points in the twilight zone used for glyph hinting.

-
maxStorage -

The maximum number of elements in the storage area used for glyph hinting.

-
maxFunctionDefs -

The maximum number of function definitions in the TrueType bytecode for this font.

-
maxInstructionDefs -

The maximum number of instruction definitions in the TrueType bytecode for this font.

-
maxStackElements -

The maximum number of stack elements used during bytecode interpretation.

-
maxSizeOfInstructions -

The maximum number of TrueType opcodes used for glyph hinting.

-
maxComponentElements -

The maximum number of simple (i.e., non- composite) glyphs in a composite glyph.

-
maxComponentDepth -

The maximum nesting depth of composite glyphs.

-
-
-
note
-

This structure is only used during font loading.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Sfnt_Tag

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  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       */
-
-    sfnt_max   /* internal end mark */
-
-  } FT_Sfnt_Tag;
-
-

-
-

An enumeration used to specify the index of an SFNT table. Used in the FT_Get_Sfnt_Table API function.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_Sfnt_Table

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  FT_EXPORT( void* )
-  FT_Get_Sfnt_Table( FT_Face      face,
-                     FT_Sfnt_Tag  tag );
-
-

-
-

Return a pointer to a given SFNT table within a face.

-

-
input
-

- - - -
face -

A handle to the source.

-
tag -

The index of the SFNT table.

-
-
-
return
-

A type-less pointer to the table. This will be 0 in case of error, or if the corresponding table was not found OR loaded from the file.

-

Use a typecast according to ‘tag’ to access the structure elements.

-
-
note
-

The table is owned by the face object and disappears with it.

-

This function is only useful to access SFNT tables that are loaded by the sfnt, truetype, and opentype drivers. See FT_Sfnt_Tag for a list.

-

Here an example how to access the ‘vhea’ table:

-
-  TT_VertHeader*  vert_header;                                     
-                                                                   
-                                                                   
-  vert_header =                                                    
-    (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea );       
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Load_Sfnt_Table

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Load_Sfnt_Table( FT_Face    face,
-                      FT_ULong   tag,
-                      FT_Long    offset,
-                      FT_Byte*   buffer,
-                      FT_ULong*  length );
-
-

-
-

Load any font table into client memory.

-

-
input
-

- - - - -
face -

A handle to the source face.

-
tag -

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 FT_TRUETYPE_TAGS_H file, or forge a new one with FT_MAKE_TAG.

-
offset -

The starting offset in the table (or file if tag == 0).

-
-
-
output
-

- - -
buffer -

The target buffer address. The client must ensure that the memory array is big enough to hold the data.

-
-
-
inout
-

- - -
length -

If the ‘length’ parameter is NULL, then try to load the whole table. Return an error code if it fails.

-

Else, if ‘*length’ is 0, exit immediately while returning the table's (or file) full size in it.

-

Else the number of bytes to read from the table or file, from the starting offset.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

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:

-
-  FT_ULong  length = 0;
-
-
-  error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
-  if ( error ) { ... table does not exist ... }
-
-  buffer = malloc( length );
-  if ( buffer == NULL ) { ... not enough memory ... }
-
-  error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length );
-  if ( error ) { ... could not load table ... }
-
-
-
-
- - -
[Index][TOC]
- -
-

FT_Sfnt_Table_Info

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Sfnt_Table_Info( FT_Face    face,
-                      FT_UInt    table_index,
-                      FT_ULong  *tag,
-                      FT_ULong  *length );
-
-

-
-

Return information on an SFNT table.

-

-
input
-

- - - -
face -

A handle to the source face.

-
table_index -

The index of an SFNT table. The function returns FT_Err_Table_Missing for an invalid value.

-
-
-
inout
-

- - -
tag -

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.

-
-
-
output
-

- - -
length -

The length of the SFNT table (or the number of SFNT tables, depending on ‘tag’).

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

While parsing fonts, FreeType handles SFNT tables with length zero as missing.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_CMap_Language_ID

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  FT_EXPORT( FT_ULong )
-  FT_Get_CMap_Language_ID( FT_CharMap  charmap );
-
-

-
-

Return TrueType/sfnt specific cmap language ID. Definitions of language ID values are in ‘freetype/ttnameid.h’.

-

-
input
-

- - -
charmap -

The target charmap.

-
-
-
return
-

The language ID of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, just return 0 as the default value.

-

For a format 14 cmap (to access Unicode IVS), the return value is 0xFFFFFFFF.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_CMap_Format

-
-Defined in FT_TRUETYPE_TABLES_H (freetype/tttables.h). -

-
-
-  FT_EXPORT( FT_Long )
-  FT_Get_CMap_Format( FT_CharMap  charmap );
-
-

-
-

Return TrueType/sfnt specific cmap format.

-

-
input
-

- - -
charmap -

The target charmap.

-
-
-
return
-

The format of ‘charmap’. If ‘charmap’ doesn't belong to a TrueType/sfnt face, return -1.

-
-
-
- - -
[Index][TOC]
- -
-

FT_PARAM_TAG_UNPATENTED_HINTING

-
-Defined in FT_UNPATENTED_HINTING_H (freetype/ttunpat.h). -

-
-
-#define FT_PARAM_TAG_UNPATENTED_HINTING  FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
-
-

-
-

A constant used as the tag of an FT_Parameter structure to indicate that unpatented methods only should be used by the TrueType bytecode interpreter for a typeface opened by FT_Open_Face.

-

-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-tt_driver.html b/libs/freetype-2.5.0.1/docs/reference/ft2-tt_driver.html deleted file mode 100644 index b6788ebe..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-tt_driver.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-The TrueType driver -

-

Synopsis

- - -
interpreter-versionTT_INTERPRETER_VERSION_XXX


- -
-

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

-

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

-

-
-

interpreter-version

-
-

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

-

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

-

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

-

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

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

-
note
-

This property can be used with FT_Property_Get also.

-
-
-
- - -
[Index][TOC]
- -
-

TT_INTERPRETER_VERSION_XXX

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

-
-
-#define TT_INTERPRETER_VERSION_35  35
-#define TT_INTERPRETER_VERSION_38  38
-
-

-
-

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

-

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

-

-
values
-

- - - - - -
TT_INTERPRETER_VERSION_35
-

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

-
TT_INTERPRETER_VERSION_38
-

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

-
-
-
note
-

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

-

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

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-type1_tables.html b/libs/freetype-2.5.0.1/docs/reference/ft2-type1_tables.html deleted file mode 100644 index 74f7e3c3..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-type1_tables.html +++ /dev/null @@ -1,689 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Type 1 Tables -

-

Synopsis

- - - - - - - -
PS_FontInfoRecT1_Blend_FlagsFT_Has_PS_Glyph_Names
PS_FontInfoCID_FaceDictRecFT_Get_PS_Font_Info
T1_FontInfoCID_FaceDictFT_Get_PS_Font_Private
PS_PrivateRecCID_FaceInfoRecT1_EncodingType
PS_PrivateCID_FaceInfoPS_Dict_Keys
T1_PrivateCID_InfoFT_Get_PS_Font_Value


- -
-

This section contains the definition of Type 1-specific tables, including structures related to other PostScript font formats.

-

-
-

PS_FontInfoRec

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct  PS_FontInfoRec_
-  {
-    FT_String*  version;
-    FT_String*  notice;
-    FT_String*  full_name;
-    FT_String*  family_name;
-    FT_String*  weight;
-    FT_Long     italic_angle;
-    FT_Bool     is_fixed_pitch;
-    FT_Short    underline_position;
-    FT_UShort   underline_thickness;
-
-  } PS_FontInfoRec;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

PS_FontInfo

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct PS_FontInfoRec_*  PS_FontInfo;
-
-

-
-

A handle to a PS_FontInfoRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

T1_FontInfo

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef PS_FontInfoRec  T1_FontInfo;
-
-

-
-

This type is equivalent to PS_FontInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

-

-
-
- - -
[Index][TOC]
- -
-

PS_PrivateRec

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct  PS_PrivateRec_
-  {
-    FT_Int     unique_id;
-    FT_Int     lenIV;
-
-    FT_Byte    num_blue_values;
-    FT_Byte    num_other_blues;
-    FT_Byte    num_family_blues;
-    FT_Byte    num_family_other_blues;
-
-    FT_Short   blue_values[14];
-    FT_Short   other_blues[10];
-
-    FT_Short   family_blues      [14];
-    FT_Short   family_other_blues[10];
-
-    FT_Fixed   blue_scale;
-    FT_Int     blue_shift;
-    FT_Int     blue_fuzz;
-
-    FT_UShort  standard_width[1];
-    FT_UShort  standard_height[1];
-
-    FT_Byte    num_snap_widths;
-    FT_Byte    num_snap_heights;
-    FT_Bool    force_bold;
-    FT_Bool    round_stem_up;
-
-    FT_Short   snap_widths [13];  /* including std width  */
-    FT_Short   snap_heights[13];  /* including std height */
-
-    FT_Fixed   expansion_factor;
-
-    FT_Long    language_group;
-    FT_Long    password;
-
-    FT_Short   min_feature[2];
-
-  } PS_PrivateRec;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

PS_Private

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct PS_PrivateRec_*  PS_Private;
-
-

-
-

A handle to a PS_PrivateRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

T1_Private

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef PS_PrivateRec  T1_Private;
-
-

-
-

This type is equivalent to PS_PrivateRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

-

-
-
- - -
[Index][TOC]
- -
-

T1_Blend_Flags

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef enum  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
-
-  } T1_Blend_Flags;
-
-

-
-

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.

-

-
-
- - -
[Index][TOC]
- -
-

CID_FaceDictRec

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct  CID_FaceDictRec_
-  {
-    PS_PrivateRec  private_dict;
-
-    FT_UInt        len_buildchar;
-    FT_Fixed       forcebold_threshold;
-    FT_Pos         stroke_width;
-    FT_Fixed       expansion_factor;
-
-    FT_Byte        paint_type;
-    FT_Byte        font_type;
-    FT_Matrix      font_matrix;
-    FT_Vector      font_offset;
-
-    FT_UInt        num_subrs;
-    FT_ULong       subrmap_offset;
-    FT_Int         sd_bytes;
-
-  } CID_FaceDictRec;
-
-

-
-

A structure used to represent data in a CID top-level dictionary.

-

-
-
- - -
[Index][TOC]
- -
-

CID_FaceDict

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct CID_FaceDictRec_*  CID_FaceDict;
-
-

-
-

A handle to a CID_FaceDictRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

CID_FaceInfoRec

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct  CID_FaceInfoRec_
-  {
-    FT_String*      cid_font_name;
-    FT_Fixed        cid_version;
-    FT_Int          cid_font_type;
-
-    FT_String*      registry;
-    FT_String*      ordering;
-    FT_Int          supplement;
-
-    PS_FontInfoRec  font_info;
-    FT_BBox         font_bbox;
-    FT_ULong        uid_base;
-
-    FT_Int          num_xuid;
-    FT_ULong        xuid[16];
-
-    FT_ULong        cidmap_offset;
-    FT_Int          fd_bytes;
-    FT_Int          gd_bytes;
-    FT_ULong        cid_count;
-
-    FT_Int          num_dicts;
-    CID_FaceDict    font_dicts;
-
-    FT_ULong        data_offset;
-
-  } CID_FaceInfoRec;
-
-

-
-

A structure used to represent CID Face information.

-

-
-
- - -
[Index][TOC]
- -
-

CID_FaceInfo

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef struct CID_FaceInfoRec_*  CID_FaceInfo;
-
-

-
-

A handle to a CID_FaceInfoRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

CID_Info

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef CID_FaceInfoRec  CID_Info;
-
-

-
-

This type is equivalent to CID_FaceInfoRec. It is deprecated but kept to maintain source compatibility between various versions of FreeType.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Has_PS_Glyph_Names

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  FT_EXPORT( FT_Int )
-  FT_Has_PS_Glyph_Names( FT_Face  face );
-
-

-
-

Return true if a given face provides reliable PostScript glyph names. This is similar to using the FT_HAS_GLYPH_NAMES macro, except that certain fonts (mostly TrueType) contain incorrect glyph name tables.

-

When this function returns true, the caller is sure that the glyph names returned by FT_Get_Glyph_Name are reliable.

-

-
input
-

- - -
face -

face handle

-
-
-
return
-

Boolean. True if glyph names are reliable.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_PS_Font_Info

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_PS_Font_Info( FT_Face      face,
-                       PS_FontInfo  afont_info );
-
-

-
-

Retrieve the PS_FontInfoRec structure corresponding to a given PostScript font.

-

-
input
-

- - -
face -

PostScript face handle.

-
-
-
output
-

- - -
afont_info -

Output font info structure pointer.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The string pointers within the font info structure are owned by the face and don't need to be freed by the caller.

-

If the font's format is not PostScript-based, this function will return the ‘FT_Err_Invalid_Argument’ error code.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Get_PS_Font_Private

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_PS_Font_Private( FT_Face     face,
-                          PS_Private  afont_private );
-
-

-
-

Retrieve the PS_PrivateRec structure corresponding to a given PostScript font.

-

-
input
-

- - -
face -

PostScript face handle.

-
-
-
output
-

- - -
afont_private -

Output private dictionary structure pointer.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

The string pointers within the PS_PrivateRec structure are owned by the face and don't need to be freed by the caller.

-

If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.

-
-
-
- - -
[Index][TOC]
- -
-

T1_EncodingType

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef enum  T1_EncodingType_
-  {
-    T1_ENCODING_TYPE_NONE = 0,
-    T1_ENCODING_TYPE_ARRAY,
-    T1_ENCODING_TYPE_STANDARD,
-    T1_ENCODING_TYPE_ISOLATIN1,
-    T1_ENCODING_TYPE_EXPERT
-
-  } T1_EncodingType;
-
-

-
-

An enumeration describing the ‘Encoding’ entry in a Type 1 dictionary.

-

-
-
- - -
[Index][TOC]
- -
-

PS_Dict_Keys

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  typedef enum  PS_Dict_Keys_
-  {
-    /* conventionally in the font dictionary */
-    PS_DICT_FONT_TYPE,              /* FT_Byte         */
-    PS_DICT_FONT_MATRIX,            /* FT_Fixed        */
-    PS_DICT_FONT_BBOX,              /* FT_Fixed        */
-    PS_DICT_PAINT_TYPE,             /* FT_Byte         */
-    PS_DICT_FONT_NAME,              /* FT_String*      */
-    PS_DICT_UNIQUE_ID,              /* FT_Int          */
-    PS_DICT_NUM_CHAR_STRINGS,       /* FT_Int          */
-    PS_DICT_CHAR_STRING_KEY,        /* FT_String*      */
-    PS_DICT_CHAR_STRING,            /* FT_String*      */
-    PS_DICT_ENCODING_TYPE,          /* T1_EncodingType */
-    PS_DICT_ENCODING_ENTRY,         /* FT_String*      */
-
-    /* conventionally in the font Private dictionary */
-    PS_DICT_NUM_SUBRS,              /* FT_Int     */
-    PS_DICT_SUBR,                   /* FT_String* */
-    PS_DICT_STD_HW,                 /* FT_UShort  */
-    PS_DICT_STD_VW,                 /* FT_UShort  */
-    PS_DICT_NUM_BLUE_VALUES,        /* FT_Byte    */
-    PS_DICT_BLUE_VALUE,             /* FT_Short   */
-    PS_DICT_BLUE_FUZZ,              /* FT_Int     */
-    PS_DICT_NUM_OTHER_BLUES,        /* FT_Byte    */
-    PS_DICT_OTHER_BLUE,             /* FT_Short   */
-    PS_DICT_NUM_FAMILY_BLUES,       /* FT_Byte    */
-    PS_DICT_FAMILY_BLUE,            /* FT_Short   */
-    PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte    */
-    PS_DICT_FAMILY_OTHER_BLUE,      /* FT_Short   */
-    PS_DICT_BLUE_SCALE,             /* FT_Fixed   */
-    PS_DICT_BLUE_SHIFT,             /* FT_Int     */
-    PS_DICT_NUM_STEM_SNAP_H,        /* FT_Byte    */
-    PS_DICT_STEM_SNAP_H,            /* FT_Short   */
-    PS_DICT_NUM_STEM_SNAP_V,        /* FT_Byte    */
-    PS_DICT_STEM_SNAP_V,            /* FT_Short   */
-    PS_DICT_FORCE_BOLD,             /* FT_Bool    */
-    PS_DICT_RND_STEM_UP,            /* FT_Bool    */
-    PS_DICT_MIN_FEATURE,            /* FT_Short   */
-    PS_DICT_LEN_IV,                 /* FT_Int     */
-    PS_DICT_PASSWORD,               /* FT_Long    */
-    PS_DICT_LANGUAGE_GROUP,         /* FT_Long    */
-
-    /* conventionally in the font FontInfo dictionary */
-    PS_DICT_VERSION,                /* FT_String* */
-    PS_DICT_NOTICE,                 /* FT_String* */
-    PS_DICT_FULL_NAME,              /* FT_String* */
-    PS_DICT_FAMILY_NAME,            /* FT_String* */
-    PS_DICT_WEIGHT,                 /* FT_String* */
-    PS_DICT_IS_FIXED_PITCH,         /* FT_Bool    */
-    PS_DICT_UNDERLINE_POSITION,     /* FT_Short   */
-    PS_DICT_UNDERLINE_THICKNESS,    /* FT_UShort  */
-    PS_DICT_FS_TYPE,                /* FT_UShort  */
-    PS_DICT_ITALIC_ANGLE,           /* FT_Long    */
-
-    PS_DICT_MAX = PS_DICT_ITALIC_ANGLE
-
-  } PS_Dict_Keys;
-
-

-
-

An enumeration used in calls to FT_Get_PS_Font_Value to identify the Type 1 dictionary entry to retrieve.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_PS_Font_Value

-
-Defined in FT_TYPE1_TABLES_H (freetype/t1tables.h). -

-
-
-  FT_EXPORT( FT_Long )
-  FT_Get_PS_Font_Value( FT_Face       face,
-                        PS_Dict_Keys  key,
-                        FT_UInt       idx,
-                        void         *value,
-                        FT_Long       value_len );
-
-

-
-

Retrieve the value for the supplied key from a PostScript font.

-

-
input
-

- - - - - - -
face -

PostScript face handle.

-
key -

An enumeration value representing the dictionary key to retrieve.

-
idx -

For array values, this specifies the index to be returned.

-
value -

A pointer to memory into which to write the value.

-
valen_len -

The size, in bytes, of the memory supplied for the value.

-
-
-
output
-

- - -
value -

The value matching the above key, if it exists.

-
-
-
return
-

The amount of memory (in bytes) required to hold the requested value (if it exists, -1 otherwise).

-
-
note
-

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.

-

‘value’ is a void pointer because the values returned can be of various types.

-

If either ‘value’ is NULL or ‘value_len’ is too small, just the required memory size for the requested entry is returned.

-

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.

-

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).

-

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.

-

If the font's format is not PostScript-based, this function returns the ‘FT_Err_Invalid_Argument’ error code.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-user_allocation.html b/libs/freetype-2.5.0.1/docs/reference/ft2-user_allocation.html deleted file mode 100644 index c9781658..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-user_allocation.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-User allocation -

-
-

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.

-

- - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-version.html b/libs/freetype-2.5.0.1/docs/reference/ft2-version.html deleted file mode 100644 index 20d7a8b2..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-version.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-FreeType Version -

-

Synopsis

- - - -
FREETYPE_XXXFT_Face_CheckTrueTypePatents
FT_Library_VersionFT_Face_SetUnpatentedHinting


- -
-

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.

-

-
-

FREETYPE_XXX

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-#define FREETYPE_MAJOR  2
-#define FREETYPE_MINOR  5
-#define FREETYPE_PATCH  0
-
-

-
-

These three macros identify the FreeType source code version. Use FT_Library_Version to access them at runtime.

-

-
values
-

- - - - -
FREETYPE_MAJOR -

The major version number.

-
FREETYPE_MINOR -

The minor version number.

-
FREETYPE_PATCH -

The patch level.

-
-
-
note
-

The version number of FreeType if built as a dynamic link library with the ‘libtool’ package is not controlled by these three macros.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Library_Version

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( void )
-  FT_Library_Version( FT_Library   library,
-                      FT_Int      *amajor,
-                      FT_Int      *aminor,
-                      FT_Int      *apatch );
-
-

-
-

Return the version of the FreeType library being used. This is useful when dynamically linking to the library, since one cannot use the macros FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH.

-

-
input
-

- - -
library -

A source library handle.

-
-
-
output
-

- - - - -
amajor -

The major version number.

-
aminor -

The minor version number.

-
apatch -

The patch version number.

-
-
-
note
-

The reason why this function takes a ‘library’ argument is because certain programs implement library initialization in a custom way that doesn't use FT_Init_FreeType.

-

In such cases, the library version might not be available before the library object has been created.

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_CheckTrueTypePatents

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Bool )
-  FT_Face_CheckTrueTypePatents( FT_Face  face );
-
-

-
-

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 not use these opcodes.

-

Note that this function parses all glyph instructions in the font file, which may be slow.

-

-
input
-

- - -
face -

A face handle.

-
-
-
return
-

1 if this is a TrueType font that uses one of the patented opcodes, 0 otherwise.

-
-
note
-

Since May 2010, TrueType hinting is no longer patented.

-
-
since
-

2.3.5

-
-
-
- - -
[Index][TOC]
- -
-

FT_Face_SetUnpatentedHinting

-
-Defined in FT_FREETYPE_H (freetype/freetype.h). -

-
-
-  FT_EXPORT( FT_Bool )
-  FT_Face_SetUnpatentedHinting( FT_Face  face,
-                                FT_Bool  value );
-
-

-
-

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 FT_Face_CheckTrueTypePatents).

-

-
input
-

- - - -
face -

A face handle.

-
value -

New boolean setting.

-
-
-
return
-

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.

-
-
note
-

Since May 2010, TrueType hinting is no longer patented.

-
-
since
-

2.3.5

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/docs/reference/ft2-winfnt_fonts.html b/libs/freetype-2.5.0.1/docs/reference/ft2-winfnt_fonts.html deleted file mode 100644 index d83a7375..00000000 --- a/libs/freetype-2.5.0.1/docs/reference/ft2-winfnt_fonts.html +++ /dev/null @@ -1,278 +0,0 @@ - - - - -FreeType-2.5.0 API Reference - - - - - - -
[Index][TOC]
-

FreeType-2.5.0 API Reference

- -

-Window FNT Files -

-

Synopsis

- - - -
FT_WinFNT_ID_XXXFT_WinFNT_Header
FT_WinFNT_HeaderRecFT_Get_WinFNT_Header


- -
-

This section contains the declaration of Windows FNT specific functions.

-

-
-

FT_WinFNT_ID_XXX

-
-Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

-
-
-#define FT_WinFNT_ID_CP1252    0
-#define FT_WinFNT_ID_DEFAULT   1
-#define FT_WinFNT_ID_SYMBOL    2
-#define FT_WinFNT_ID_MAC      77
-#define FT_WinFNT_ID_CP932   128
-#define FT_WinFNT_ID_CP949   129
-#define FT_WinFNT_ID_CP1361  130
-#define FT_WinFNT_ID_CP936   134
-#define FT_WinFNT_ID_CP950   136
-#define FT_WinFNT_ID_CP1253  161
-#define FT_WinFNT_ID_CP1254  162
-#define FT_WinFNT_ID_CP1258  163
-#define FT_WinFNT_ID_CP1255  177
-#define FT_WinFNT_ID_CP1256  178
-#define FT_WinFNT_ID_CP1257  186
-#define FT_WinFNT_ID_CP1251  204
-#define FT_WinFNT_ID_CP874   222
-#define FT_WinFNT_ID_CP1250  238
-#define FT_WinFNT_ID_OEM     255
-
-

-
-

A list of valid values for the ‘charset’ byte in FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX encodings (except for cp1361) can be found at ftp://ftp.unicode.org in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT.

-

-
values
-

- - - - - - - - - - - - - - - - - - - - -
FT_WinFNT_ID_DEFAULT -

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.

-
FT_WinFNT_ID_SYMBOL -

There is no known mapping table available.

-
FT_WinFNT_ID_MAC -

Mac Roman encoding.

-
FT_WinFNT_ID_OEM -

From Michael Pöttgen <michael@poettgen.de>:

-

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.

-

The ‘CreateFont’ documentation says: The FT_WinFNT_ID_OEM value specifies a character set that is operating-system dependent.

-

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.

-

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

-

http://www.microsoft.com/globaldev/reference/cphome.mspx,

-

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.

-
FT_WinFNT_ID_CP874 -

A superset of Thai TIS 620 and ISO 8859-11.

-
FT_WinFNT_ID_CP932 -

A superset of Japanese Shift-JIS (with minor deviations).

-
FT_WinFNT_ID_CP936 -

A superset of simplified Chinese GB 2312-1980 (with different ordering and minor deviations).

-
FT_WinFNT_ID_CP949 -

A superset of Korean Hangul KS C 5601-1987 (with different ordering and minor deviations).

-
FT_WinFNT_ID_CP950 -

A superset of traditional Chinese Big 5 ETen (with different ordering and minor deviations).

-
FT_WinFNT_ID_CP1250 -

A superset of East European ISO 8859-2 (with slightly different ordering).

-
FT_WinFNT_ID_CP1251 -

A superset of Russian ISO 8859-5 (with different ordering).

-
FT_WinFNT_ID_CP1252 -

ANSI encoding. A superset of ISO 8859-1.

-
FT_WinFNT_ID_CP1253 -

A superset of Greek ISO 8859-7 (with minor modifications).

-
FT_WinFNT_ID_CP1254 -

A superset of Turkish ISO 8859-9.

-
FT_WinFNT_ID_CP1255 -

A superset of Hebrew ISO 8859-8 (with some modifications).

-
FT_WinFNT_ID_CP1256 -

A superset of Arabic ISO 8859-6 (with different ordering).

-
FT_WinFNT_ID_CP1257 -

A superset of Baltic ISO 8859-13 (with some deviations).

-
FT_WinFNT_ID_CP1258 -

For Vietnamese. This encoding doesn't cover all necessary characters.

-
FT_WinFNT_ID_CP1361 -

Korean (Johab).

-
-
-
-
- - -
[Index][TOC]
- -
-

FT_WinFNT_HeaderRec

-
-Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

-
-
-  typedef struct  FT_WinFNT_HeaderRec_
-  {
-    FT_UShort  version;
-    FT_ULong   file_size;
-    FT_Byte    copyright[60];
-    FT_UShort  file_type;
-    FT_UShort  nominal_point_size;
-    FT_UShort  vertical_resolution;
-    FT_UShort  horizontal_resolution;
-    FT_UShort  ascent;
-    FT_UShort  internal_leading;
-    FT_UShort  external_leading;
-    FT_Byte    italic;
-    FT_Byte    underline;
-    FT_Byte    strike_out;
-    FT_UShort  weight;
-    FT_Byte    charset;
-    FT_UShort  pixel_width;
-    FT_UShort  pixel_height;
-    FT_Byte    pitch_and_family;
-    FT_UShort  avg_width;
-    FT_UShort  max_width;
-    FT_Byte    first_char;
-    FT_Byte    last_char;
-    FT_Byte    default_char;
-    FT_Byte    break_char;
-    FT_UShort  bytes_per_row;
-    FT_ULong   device_offset;
-    FT_ULong   face_name_offset;
-    FT_ULong   bits_pointer;
-    FT_ULong   bits_offset;
-    FT_Byte    reserved;
-    FT_ULong   flags;
-    FT_UShort  A_space;
-    FT_UShort  B_space;
-    FT_UShort  C_space;
-    FT_UShort  color_table_offset;
-    FT_ULong   reserved1[4];
-
-  } FT_WinFNT_HeaderRec;
-
-

-
-

Windows FNT Header info.

-

-
-
- - -
[Index][TOC]
- -
-

FT_WinFNT_Header

-
-Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

-
-
-  typedef struct FT_WinFNT_HeaderRec_*  FT_WinFNT_Header;
-
-

-
-

A handle to an FT_WinFNT_HeaderRec structure.

-

-
-
- - -
[Index][TOC]
- -
-

FT_Get_WinFNT_Header

-
-Defined in FT_WINFONTS_H (freetype/ftwinfnt.h). -

-
-
-  FT_EXPORT( FT_Error )
-  FT_Get_WinFNT_Header( FT_Face               face,
-                        FT_WinFNT_HeaderRec  *aheader );
-
-

-
-

Retrieve a Windows FNT font info header.

-

-
input
-

- - -
face -

A handle to the input face.

-
-
-
output
-

- - -
aheader -

The WinFNT header.

-
-
-
return
-

FreeType error code. 0 means success.

-
-
note
-

This function only works with Windows FNT faces, returning an error otherwise.

-
-
-
- - -
[Index][TOC]
- - - diff --git a/libs/freetype-2.5.0.1/include/freetype/ftcffdrv.h b/libs/freetype-2.5.0.1/include/freetype/ftcffdrv.h deleted file mode 100644 index 76bc06a9..00000000 --- a/libs/freetype-2.5.0.1/include/freetype/ftcffdrv.h +++ /dev/null @@ -1,151 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftcffdrv.h */ -/* */ -/* FreeType API for controlling the CFF driver (specification only). */ -/* */ -/* Copyright 2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#ifndef __FTCFFDRV_H__ -#define __FTCFFDRV_H__ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * cff_driver - * - * @title: - * The CFF driver - * - * @abstract: - * Controlling the CFF driver module. - * - * @description: - * While FreeType's CFF driver doesn't expose API functions by itself, - * it is possible to control its behaviour with @FT_Property_Set and - * @FT_Property_Get. The following lists the available properties - * together with the necessary macros and structures. - * - * The CFF driver's module name is `cff'. - * - */ - - - /************************************************************************** - * - * @property: - * hinting-engine - * - * @description: - * Thanks to Adobe, which contributed a new hinting (and parsing) - * engine, an application can select between `freetype' and `adobe' if - * compiled with CFF_CONFIG_OPTION_OLD_ENGINE. If this configuration - * macro isn't defined, `hinting-engine' does nothing. - * - * The default engine is `freetype' if CFF_CONFIG_OPTION_OLD_ENGINE is - * defined, and `adobe' otherwise. - * - * The following example code demonstrates how to select Adobe's hinting - * engine (omitting the error handling). - * - * { - * FT_Library library; - * FT_Face face; - * FT_UInt hinting_engine = FT_CFF_HINTING_ADOBE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "cff", - * "hinting-engine", &hinting_engine ); - * } - * - * @note: - * This property can be used with @FT_Property_Get also. - * - */ - - - /************************************************************************** - * - * @enum: - * FT_CFF_HINTING_XXX - * - * @description: - * A list of constants used for the @hinting-engine property to select - * the hinting engine for CFF fonts. - * - * @values: - * FT_CFF_HINTING_FREETYPE :: - * Use the old FreeType hinting engine. - * - * FT_CFF_HINTING_ADOBE :: - * Use the hinting engine contributed by Adobe. - * - */ -#define FT_CFF_HINTING_FREETYPE 0 -#define FT_CFF_HINTING_ADOBE 1 - - - /************************************************************************** - * - * @property: - * no-stem-darkening - * - * @description: - * By default, the Adobe CFF engine darkens stems at smaller sizes, - * regardless of hinting, to enhance contrast. Setting this property, - * stem darkening gets switched off. - * - * Note that stem darkening is never applied if @FT_LOAD_NO_SCALE is set. - * - * { - * FT_Library library; - * FT_Face face; - * FT_Bool no_stem_darkening = TRUE; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "cff", - * "no-stem-darkening", &no_stem_darkening ); - * } - * - * @note: - * This property can be used with @FT_Property_Get also. - * - */ - - - /* */ - -FT_END_HEADER - - -#endif /* __FTCFFDRV_H__ */ - - -/* END */ diff --git a/libs/freetype-2.5.0.1/include/freetype/ftttdrv.h b/libs/freetype-2.5.0.1/include/freetype/ftttdrv.h deleted file mode 100644 index 76489b26..00000000 --- a/libs/freetype-2.5.0.1/include/freetype/ftttdrv.h +++ /dev/null @@ -1,150 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftttdrv.h */ -/* */ -/* FreeType API for controlling the TrueType driver */ -/* (specification only). */ -/* */ -/* Copyright 2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#ifndef __FTTTDRV_H__ -#define __FTTTDRV_H__ - -#include -#include FT_FREETYPE_H - -#ifdef FREETYPE_H -#error "freetype.h of FreeType 1 has been loaded!" -#error "Please fix the directory search order for header files" -#error "so that freetype.h of FreeType 2 is found first." -#endif - - -FT_BEGIN_HEADER - - - /************************************************************************** - * - * @section: - * tt_driver - * - * @title: - * The TrueType driver - * - * @abstract: - * Controlling the TrueType driver module. - * - * @description: - * While FreeType's TrueType driver doesn't expose API functions by - * itself, it is possible to control its behaviour with @FT_Property_Set - * and @FT_Property_Get. The following lists the available properties - * together with the necessary macros and structures. - * - * The TrueType driver's module name is `truetype'. - * - */ - - - /************************************************************************** - * - * @property: - * interpreter-version - * - * @description: - * Currently, two versions are available which represent the bytecode - * interpreter with and without subpixel hinting support, - * respectively. The default is subpixel support if - * TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel - * support otherwise (since it isn't available then). - * - * If subpixel hinting is on, many TrueType bytecode instructions - * behave differently compared to B/W or grayscale rendering. The - * main idea is to render at a much increased horizontal resolution, - * then sampling down the created output to subpixel precision. - * However, many older fonts are not suited to this and must be - * specially taken care of by applying (hardcoded) font-specific - * tweaks. - * - * Details on subpixel hinting and some of the necessary tweaks can be - * found in Greg Hitchcock's whitepaper at - * `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'. - * - * The following example code demonstrates how to activate subpixel - * hinting (omitting the error handling). - * - * { - * FT_Library library; - * FT_Face face; - * FT_UInt interpreter_version = TT_INTERPRETER_VERSION_38; - * - * - * FT_Init_FreeType( &library ); - * - * FT_Property_Set( library, "truetype", - * "interpreter-version", - * &interpreter_version ); - * } - * - * @note: - * This property can be used with @FT_Property_Get also. - * - */ - - - /************************************************************************** - * - * @enum: - * TT_INTERPRETER_VERSION_XXX - * - * @description: - * A list of constants used for the @interpreter-version property to - * select the hinting engine for Truetype fonts. - * - * The numeric value in the constant names represents the version - * number as returned by the `GETINFO' bytecode instruction. - * - * @values: - * TT_INTERPRETER_VERSION_35 :: - * Version~35 corresponds to MS rasterizer v.1.7 as used e.g. in - * Windows~98; only grayscale and B/W rasterizing is supported. - * - * TT_INTERPRETER_VERSION_38 :: - * Version~38 corresponds to MS rasterizer v.1.9; it is roughly - * equivalent to the hinting provided by DirectWrite ClearType (as - * can be found, for example, in the Internet Explorer~9 running on - * Windows~7). - * - * @note: - * This property controls the behaviour of the bytecode interpreter - * and thus how outlines get hinted. It does *not* control how glyph - * get rasterized! In particular, it does not control subpixel color - * filtering. - * - * If FreeType has not been compiled with configuration option - * FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 causes an - * `FT_Err_Unimplemented_Feature' error. - * - */ -#define TT_INTERPRETER_VERSION_35 35 -#define TT_INTERPRETER_VERSION_38 38 - - - /* */ - -FT_END_HEADER - - -#endif /* __FTTTDRV_H__ */ - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/autofit/afglobal.c b/libs/freetype-2.5.0.1/src/autofit/afglobal.c deleted file mode 100644 index f57e0156..00000000 --- a/libs/freetype-2.5.0.1/src/autofit/afglobal.c +++ /dev/null @@ -1,304 +0,0 @@ -/***************************************************************************/ -/* */ -/* afglobal.c */ -/* */ -/* Auto-fitter routines to compute global hinting values (body). */ -/* */ -/* Copyright 2003-2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#include "afglobal.h" -#include "afdummy.h" -#include "aflatin.h" -#include "afcjk.h" -#include "afindic.h" -#include "afpic.h" - -#include "aferrors.h" - -#ifdef FT_OPTION_AUTOFIT2 -#include "aflatin2.h" -#endif - -#ifndef FT_CONFIG_OPTION_PIC - - /* when updating this table, don't forget to update */ - /* AF_SCRIPT_CLASSES_COUNT and autofit_module_class_pic_init */ - - /* populate this list when you add new scripts */ - static AF_ScriptClass const af_script_classes[] = - { - &af_dummy_script_class, -#ifdef FT_OPTION_AUTOFIT2 - &af_latin2_script_class, -#endif - &af_latin_script_class, - &af_cjk_script_class, - &af_indic_script_class, - NULL /* do not remove */ - }; - -#endif /* !FT_CONFIG_OPTION_PIC */ - - - /* Compute the script index of each glyph within a given face. */ - - static FT_Error - af_face_globals_compute_script_coverage( AF_FaceGlobals globals ) - { - FT_Error error; - FT_Face face = globals->face; - FT_CharMap old_charmap = face->charmap; - FT_Byte* gscripts = globals->glyph_scripts; - FT_UInt ss; - FT_UInt i; - - - /* the value AF_SCRIPT_NONE means `uncovered glyph' */ - FT_MEM_SET( globals->glyph_scripts, - AF_SCRIPT_NONE, - globals->glyph_count ); - - error = FT_Select_Charmap( face, FT_ENCODING_UNICODE ); - if ( error ) - { - /* - * Ignore this error; we simply use the fallback script. - * XXX: Shouldn't we rather disable hinting? - */ - error = FT_Err_Ok; - goto Exit; - } - - /* scan each script in a Unicode charmap */ - for ( ss = 0; AF_SCRIPT_CLASSES_GET[ss]; ss++ ) - { - AF_ScriptClass clazz = AF_SCRIPT_CLASSES_GET[ss]; - AF_Script_UniRange range; - - - if ( clazz->script_uni_ranges == NULL ) - continue; - - /* - * Scan all Unicode points in the range and set the corresponding - * glyph script index. - */ - for ( range = clazz->script_uni_ranges; range->first != 0; range++ ) - { - FT_ULong charcode = range->first; - FT_UInt gindex; - - - gindex = FT_Get_Char_Index( face, charcode ); - - if ( gindex != 0 && - gindex < (FT_ULong)globals->glyph_count && - gscripts[gindex] == AF_SCRIPT_NONE ) - gscripts[gindex] = (FT_Byte)ss; - - for (;;) - { - charcode = FT_Get_Next_Char( face, charcode, &gindex ); - - if ( gindex == 0 || charcode > range->last ) - break; - - if ( gindex < (FT_ULong)globals->glyph_count && - gscripts[gindex] == AF_SCRIPT_NONE ) - gscripts[gindex] = (FT_Byte)ss; - } - } - } - - /* mark ASCII digits */ - for ( i = 0x30; i <= 0x39; i++ ) - { - FT_UInt gindex = FT_Get_Char_Index( face, i ); - - - if ( gindex != 0 && gindex < (FT_ULong)globals->glyph_count ) - gscripts[gindex] |= AF_DIGIT; - } - - Exit: - /* - * By default, all uncovered glyphs are set to the fallback script. - * XXX: Shouldn't we disable hinting or do something similar? - */ - if ( globals->module->fallback_script != AF_SCRIPT_NONE ) - { - FT_Long nn; - - - for ( nn = 0; nn < globals->glyph_count; nn++ ) - { - if ( ( gscripts[nn] & ~AF_DIGIT ) == AF_SCRIPT_NONE ) - { - gscripts[nn] &= ~AF_SCRIPT_NONE; - gscripts[nn] |= globals->module->fallback_script; - } - } - } - - FT_Set_Charmap( face, old_charmap ); - return error; - } - - - FT_LOCAL_DEF( FT_Error ) - af_face_globals_new( FT_Face face, - AF_FaceGlobals *aglobals, - AF_Module module ) - { - FT_Error error; - FT_Memory memory; - AF_FaceGlobals globals = NULL; - - - memory = face->memory; - - if ( FT_ALLOC( globals, sizeof ( *globals ) + - face->num_glyphs * sizeof ( FT_Byte ) ) ) - goto Exit; - - globals->face = face; - globals->glyph_count = face->num_glyphs; - globals->glyph_scripts = (FT_Byte*)( globals + 1 ); - globals->module = module; - - error = af_face_globals_compute_script_coverage( globals ); - if ( error ) - { - af_face_globals_free( globals ); - globals = NULL; - } - - globals->increase_x_height = AF_PROP_INCREASE_X_HEIGHT_MAX; - - Exit: - *aglobals = globals; - return error; - } - - - FT_LOCAL_DEF( void ) - af_face_globals_free( AF_FaceGlobals globals ) - { - if ( globals ) - { - FT_Memory memory = globals->face->memory; - FT_UInt nn; - - - for ( nn = 0; nn < AF_SCRIPT_MAX; nn++ ) - { - if ( globals->metrics[nn] ) - { - AF_ScriptClass clazz = AF_SCRIPT_CLASSES_GET[nn]; - - - FT_ASSERT( globals->metrics[nn]->clazz == clazz ); - - if ( clazz->script_metrics_done ) - clazz->script_metrics_done( globals->metrics[nn] ); - - FT_FREE( globals->metrics[nn] ); - } - } - - globals->glyph_count = 0; - globals->glyph_scripts = NULL; /* no need to free this one! */ - globals->face = NULL; - - FT_FREE( globals ); - } - } - - - FT_LOCAL_DEF( FT_Error ) - af_face_globals_get_metrics( AF_FaceGlobals globals, - FT_UInt gindex, - FT_UInt options, - AF_ScriptMetrics *ametrics ) - { - AF_ScriptMetrics metrics = NULL; - FT_UInt gidx; - AF_ScriptClass clazz; - FT_UInt script = options & 15; - const FT_Offset script_max = sizeof ( AF_SCRIPT_CLASSES_GET ) / - sizeof ( AF_SCRIPT_CLASSES_GET[0] ); - FT_Error error = FT_Err_Ok; - - - if ( gindex >= (FT_ULong)globals->glyph_count ) - { - error = FT_THROW( Invalid_Argument ); - goto Exit; - } - - gidx = script; - if ( gidx == 0 || gidx + 1 >= script_max ) - gidx = globals->glyph_scripts[gindex] & AF_SCRIPT_NONE; - - clazz = AF_SCRIPT_CLASSES_GET[gidx]; - if ( script == 0 ) - script = clazz->script; - - metrics = globals->metrics[clazz->script]; - if ( metrics == NULL ) - { - /* create the global metrics object if necessary */ - FT_Memory memory = globals->face->memory; - - - if ( FT_ALLOC( metrics, clazz->script_metrics_size ) ) - goto Exit; - - metrics->clazz = clazz; - metrics->globals = globals; - - if ( clazz->script_metrics_init ) - { - error = clazz->script_metrics_init( metrics, globals->face ); - if ( error ) - { - if ( clazz->script_metrics_done ) - clazz->script_metrics_done( metrics ); - - FT_FREE( metrics ); - goto Exit; - } - } - - globals->metrics[clazz->script] = metrics; - } - - Exit: - *ametrics = metrics; - - return error; - } - - - FT_LOCAL_DEF( FT_Bool ) - af_face_globals_is_digit( AF_FaceGlobals globals, - FT_UInt gindex ) - { - if ( gindex < (FT_ULong)globals->glyph_count ) - return (FT_Bool)( globals->glyph_scripts[gindex] & AF_DIGIT ); - - return (FT_Bool)0; - } - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/autofit/afglobal.h b/libs/freetype-2.5.0.1/src/autofit/afglobal.h deleted file mode 100644 index 3b2a71f8..00000000 --- a/libs/freetype-2.5.0.1/src/autofit/afglobal.h +++ /dev/null @@ -1,109 +0,0 @@ -/***************************************************************************/ -/* */ -/* afglobal.h */ -/* */ -/* Auto-fitter routines to compute global hinting values */ -/* (specification). */ -/* */ -/* Copyright 2003-2005, 2007, 2009, 2011-2012 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#ifndef __AFGLOBAL_H__ -#define __AFGLOBAL_H__ - - -#include "aftypes.h" -#include "afmodule.h" - - -FT_BEGIN_HEADER - - - /* - * Default values and flags for both autofitter globals (found in - * AF_ModuleRec) and face globals (in AF_FaceGlobalsRec). - */ - - /* index of fallback script in `af_script_classes' */ -#define AF_SCRIPT_FALLBACK 2 - /* a bit mask indicating an uncovered glyph */ -#define AF_SCRIPT_NONE 0x7F - /* if this flag is set, we have an ASCII digit */ -#define AF_DIGIT 0x80 - - /* `increase-x-height' property */ -#define AF_PROP_INCREASE_X_HEIGHT_MIN 6 -#define AF_PROP_INCREASE_X_HEIGHT_MAX 0 - - - /************************************************************************/ - /************************************************************************/ - /***** *****/ - /***** F A C E G L O B A L S *****/ - /***** *****/ - /************************************************************************/ - /************************************************************************/ - - - /* - * Note that glyph_scripts[] is used to map each glyph into - * an index into the `af_script_classes' array. - * - */ - typedef struct AF_FaceGlobalsRec_ - { - FT_Face face; - FT_Long glyph_count; /* same as face->num_glyphs */ - FT_Byte* glyph_scripts; - - /* per-face auto-hinter properties */ - FT_UInt increase_x_height; - - AF_ScriptMetrics metrics[AF_SCRIPT_MAX]; - - AF_Module module; /* to access global properties */ - - } AF_FaceGlobalsRec; - - - /* - * model the global hints data for a given face, decomposed into - * script-specific items - */ - - FT_LOCAL( FT_Error ) - af_face_globals_new( FT_Face face, - AF_FaceGlobals *aglobals, - AF_Module module ); - - FT_LOCAL( FT_Error ) - af_face_globals_get_metrics( AF_FaceGlobals globals, - FT_UInt gindex, - FT_UInt options, - AF_ScriptMetrics *ametrics ); - - FT_LOCAL( void ) - af_face_globals_free( AF_FaceGlobals globals ); - - FT_LOCAL_DEF( FT_Bool ) - af_face_globals_is_digit( AF_FaceGlobals globals, - FT_UInt gindex ); - - /* */ - - -FT_END_HEADER - -#endif /* __AFGLOBAL_H__ */ - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/autofit/afloader.c b/libs/freetype-2.5.0.1/src/autofit/afloader.c deleted file mode 100644 index f4784db2..00000000 --- a/libs/freetype-2.5.0.1/src/autofit/afloader.c +++ /dev/null @@ -1,561 +0,0 @@ -/***************************************************************************/ -/* */ -/* afloader.c */ -/* */ -/* Auto-fitter glyph loading routines (body). */ -/* */ -/* Copyright 2003-2009, 2011-2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#include "afglobal.h" -#include "afloader.h" -#include "afhints.h" -#include "aferrors.h" -#include "afmodule.h" - - - /* Initialize glyph loader. */ - - FT_LOCAL_DEF( FT_Error ) - af_loader_init( AF_Module module ) - { - AF_Loader loader = module->loader; - FT_Memory memory = module->root.library->memory; - - - FT_ZERO( loader ); - - af_glyph_hints_init( &loader->hints, memory ); -#ifdef FT_DEBUG_AUTOFIT - _af_debug_hints = &loader->hints; -#endif - return FT_GlyphLoader_New( memory, &loader->gloader ); - } - - - /* Reset glyph loader and compute globals if necessary. */ - - FT_LOCAL_DEF( FT_Error ) - af_loader_reset( AF_Module module, - FT_Face face ) - { - FT_Error error = FT_Err_Ok; - AF_Loader loader = module->loader; - - - loader->face = face; - loader->globals = (AF_FaceGlobals)face->autohint.data; - - FT_GlyphLoader_Rewind( loader->gloader ); - - if ( loader->globals == NULL ) - { - error = af_face_globals_new( face, &loader->globals, module ); - if ( !error ) - { - face->autohint.data = - (FT_Pointer)loader->globals; - face->autohint.finalizer = - (FT_Generic_Finalizer)af_face_globals_free; - } - } - - return error; - } - - - /* Finalize glyph loader. */ - - FT_LOCAL_DEF( void ) - af_loader_done( AF_Module module ) - { - AF_Loader loader = module->loader; - - - af_glyph_hints_done( &loader->hints ); - - loader->face = NULL; - loader->globals = NULL; - -#ifdef FT_DEBUG_AUTOFIT - _af_debug_hints = NULL; -#endif - FT_GlyphLoader_Done( loader->gloader ); - loader->gloader = NULL; - } - - - /* Load a single glyph component. This routine calls itself */ - /* recursively, if necessary, and does the main work of */ - /* `af_loader_load_glyph.' */ - - static FT_Error - af_loader_load_g( AF_Loader loader, - AF_Scaler scaler, - FT_UInt glyph_index, - FT_Int32 load_flags, - FT_UInt depth ) - { - FT_Error error; - FT_Face face = loader->face; - FT_GlyphLoader gloader = loader->gloader; - AF_ScriptMetrics metrics = loader->metrics; - AF_GlyphHints hints = &loader->hints; - FT_GlyphSlot slot = face->glyph; - FT_Slot_Internal internal = slot->internal; - FT_Int32 flags; - - - flags = load_flags | FT_LOAD_LINEAR_DESIGN; - error = FT_Load_Glyph( face, glyph_index, flags ); - if ( error ) - goto Exit; - - loader->transformed = internal->glyph_transformed; - if ( loader->transformed ) - { - FT_Matrix inverse; - - - loader->trans_matrix = internal->glyph_matrix; - loader->trans_delta = internal->glyph_delta; - - inverse = loader->trans_matrix; - FT_Matrix_Invert( &inverse ); - FT_Vector_Transform( &loader->trans_delta, &inverse ); - } - - switch ( slot->format ) - { - case FT_GLYPH_FORMAT_OUTLINE: - /* translate the loaded glyph when an internal transform is needed */ - if ( loader->transformed ) - FT_Outline_Translate( &slot->outline, - loader->trans_delta.x, - loader->trans_delta.y ); - - /* copy the outline points in the loader's current */ - /* extra points which are used to keep original glyph coordinates */ - error = FT_GLYPHLOADER_CHECK_POINTS( gloader, - slot->outline.n_points + 4, - slot->outline.n_contours ); - if ( error ) - goto Exit; - - FT_ARRAY_COPY( gloader->current.outline.points, - slot->outline.points, - slot->outline.n_points ); - - FT_ARRAY_COPY( gloader->current.outline.contours, - slot->outline.contours, - slot->outline.n_contours ); - - FT_ARRAY_COPY( gloader->current.outline.tags, - slot->outline.tags, - slot->outline.n_points ); - - gloader->current.outline.n_points = slot->outline.n_points; - gloader->current.outline.n_contours = slot->outline.n_contours; - - /* compute original horizontal phantom points (and ignore */ - /* vertical ones) */ - loader->pp1.x = hints->x_delta; - loader->pp1.y = hints->y_delta; - loader->pp2.x = FT_MulFix( slot->metrics.horiAdvance, - hints->x_scale ) + hints->x_delta; - loader->pp2.y = hints->y_delta; - - /* be sure to check for spacing glyphs */ - if ( slot->outline.n_points == 0 ) - goto Hint_Metrics; - - /* now load the slot image into the auto-outline and run the */ - /* automatic hinting process */ - if ( metrics->clazz->script_hints_apply ) - metrics->clazz->script_hints_apply( hints, - &gloader->current.outline, - metrics ); - - /* we now need to adjust the metrics according to the change in */ - /* width/positioning that occurred during the hinting process */ - if ( scaler->render_mode != FT_RENDER_MODE_LIGHT ) - { - FT_Pos old_rsb, old_lsb, new_lsb; - FT_Pos pp1x_uh, pp2x_uh; - AF_AxisHints axis = &hints->axis[AF_DIMENSION_HORZ]; - AF_Edge edge1 = axis->edges; /* leftmost edge */ - AF_Edge edge2 = edge1 + - axis->num_edges - 1; /* rightmost edge */ - - - if ( axis->num_edges > 1 && AF_HINTS_DO_ADVANCE( hints ) ) - { - old_rsb = loader->pp2.x - edge2->opos; - old_lsb = edge1->opos; - new_lsb = edge1->pos; - - /* remember unhinted values to later account */ - /* for rounding errors */ - - pp1x_uh = new_lsb - old_lsb; - pp2x_uh = edge2->pos + old_rsb; - - /* prefer too much space over too little space */ - /* for very small sizes */ - - if ( old_lsb < 24 ) - pp1x_uh -= 8; - - if ( old_rsb < 24 ) - pp2x_uh += 8; - - loader->pp1.x = FT_PIX_ROUND( pp1x_uh ); - loader->pp2.x = FT_PIX_ROUND( pp2x_uh ); - - if ( loader->pp1.x >= new_lsb && old_lsb > 0 ) - loader->pp1.x -= 64; - - if ( loader->pp2.x <= edge2->pos && old_rsb > 0 ) - loader->pp2.x += 64; - - slot->lsb_delta = loader->pp1.x - pp1x_uh; - slot->rsb_delta = loader->pp2.x - pp2x_uh; - } - else - { - FT_Pos pp1x = loader->pp1.x; - FT_Pos pp2x = loader->pp2.x; - - - loader->pp1.x = FT_PIX_ROUND( pp1x ); - loader->pp2.x = FT_PIX_ROUND( pp2x ); - - slot->lsb_delta = loader->pp1.x - pp1x; - slot->rsb_delta = loader->pp2.x - pp2x; - } - } - else - { - FT_Pos pp1x = loader->pp1.x; - FT_Pos pp2x = loader->pp2.x; - - - loader->pp1.x = FT_PIX_ROUND( pp1x + hints->xmin_delta ); - loader->pp2.x = FT_PIX_ROUND( pp2x + hints->xmax_delta ); - - slot->lsb_delta = loader->pp1.x - pp1x; - slot->rsb_delta = loader->pp2.x - pp2x; - } - - /* good, we simply add the glyph to our loader's base */ - FT_GlyphLoader_Add( gloader ); - break; - - case FT_GLYPH_FORMAT_COMPOSITE: - { - FT_UInt nn, num_subglyphs = slot->num_subglyphs; - FT_UInt num_base_subgs, start_point; - FT_SubGlyph subglyph; - - - start_point = gloader->base.outline.n_points; - - /* first of all, copy the subglyph descriptors in the glyph loader */ - error = FT_GlyphLoader_CheckSubGlyphs( gloader, num_subglyphs ); - if ( error ) - goto Exit; - - FT_ARRAY_COPY( gloader->current.subglyphs, - slot->subglyphs, - num_subglyphs ); - - gloader->current.num_subglyphs = num_subglyphs; - num_base_subgs = gloader->base.num_subglyphs; - - /* now read each subglyph independently */ - for ( nn = 0; nn < num_subglyphs; nn++ ) - { - FT_Vector pp1, pp2; - FT_Pos x, y; - FT_UInt num_points, num_new_points, num_base_points; - - - /* gloader.current.subglyphs can change during glyph loading due */ - /* to re-allocation -- we must recompute the current subglyph on */ - /* each iteration */ - subglyph = gloader->base.subglyphs + num_base_subgs + nn; - - pp1 = loader->pp1; - pp2 = loader->pp2; - - num_base_points = gloader->base.outline.n_points; - - error = af_loader_load_g( loader, scaler, subglyph->index, - load_flags, depth + 1 ); - if ( error ) - goto Exit; - - /* recompute subglyph pointer */ - subglyph = gloader->base.subglyphs + num_base_subgs + nn; - - if ( subglyph->flags & FT_SUBGLYPH_FLAG_USE_MY_METRICS ) - { - pp1 = loader->pp1; - pp2 = loader->pp2; - } - else - { - loader->pp1 = pp1; - loader->pp2 = pp2; - } - - num_points = gloader->base.outline.n_points; - num_new_points = num_points - num_base_points; - - /* now perform the transformation required for this subglyph */ - - if ( subglyph->flags & ( FT_SUBGLYPH_FLAG_SCALE | - FT_SUBGLYPH_FLAG_XY_SCALE | - FT_SUBGLYPH_FLAG_2X2 ) ) - { - FT_Vector* cur = gloader->base.outline.points + - num_base_points; - FT_Vector* limit = cur + num_new_points; - - - for ( ; cur < limit; cur++ ) - FT_Vector_Transform( cur, &subglyph->transform ); - } - - /* apply offset */ - - if ( !( subglyph->flags & FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ) ) - { - FT_Int k = subglyph->arg1; - FT_UInt l = subglyph->arg2; - FT_Vector* p1; - FT_Vector* p2; - - - if ( start_point + k >= num_base_points || - l >= (FT_UInt)num_new_points ) - { - error = FT_THROW( Invalid_Composite ); - goto Exit; - } - - l += num_base_points; - - /* for now, only use the current point coordinates; */ - /* we eventually may consider another approach */ - p1 = gloader->base.outline.points + start_point + k; - p2 = gloader->base.outline.points + start_point + l; - - x = p1->x - p2->x; - y = p1->y - p2->y; - } - else - { - x = FT_MulFix( subglyph->arg1, hints->x_scale ) + hints->x_delta; - y = FT_MulFix( subglyph->arg2, hints->y_scale ) + hints->y_delta; - - x = FT_PIX_ROUND( x ); - y = FT_PIX_ROUND( y ); - } - - { - FT_Outline dummy = gloader->base.outline; - - - dummy.points += num_base_points; - dummy.n_points = (short)num_new_points; - - FT_Outline_Translate( &dummy, x, y ); - } - } - } - break; - - default: - /* we don't support other formats (yet?) */ - error = FT_THROW( Unimplemented_Feature ); - } - - Hint_Metrics: - if ( depth == 0 ) - { - FT_BBox bbox; - FT_Vector vvector; - - - vvector.x = slot->metrics.vertBearingX - slot->metrics.horiBearingX; - vvector.y = slot->metrics.vertBearingY - slot->metrics.horiBearingY; - vvector.x = FT_MulFix( vvector.x, metrics->scaler.x_scale ); - vvector.y = FT_MulFix( vvector.y, metrics->scaler.y_scale ); - - /* transform the hinted outline if needed */ - if ( loader->transformed ) - { - FT_Outline_Transform( &gloader->base.outline, &loader->trans_matrix ); - FT_Vector_Transform( &vvector, &loader->trans_matrix ); - } -#if 1 - /* we must translate our final outline by -pp1.x and compute */ - /* the new metrics */ - if ( loader->pp1.x ) - FT_Outline_Translate( &gloader->base.outline, -loader->pp1.x, 0 ); -#endif - FT_Outline_Get_CBox( &gloader->base.outline, &bbox ); - - bbox.xMin = FT_PIX_FLOOR( bbox.xMin ); - bbox.yMin = FT_PIX_FLOOR( bbox.yMin ); - bbox.xMax = FT_PIX_CEIL( bbox.xMax ); - bbox.yMax = FT_PIX_CEIL( bbox.yMax ); - - slot->metrics.width = bbox.xMax - bbox.xMin; - slot->metrics.height = bbox.yMax - bbox.yMin; - slot->metrics.horiBearingX = bbox.xMin; - slot->metrics.horiBearingY = bbox.yMax; - - slot->metrics.vertBearingX = FT_PIX_FLOOR( bbox.xMin + vvector.x ); - slot->metrics.vertBearingY = FT_PIX_FLOOR( bbox.yMax + vvector.y ); - - /* for mono-width fonts (like Andale, Courier, etc.) we need */ - /* to keep the original rounded advance width; ditto for */ - /* digits if all have the same advance width */ -#if 0 - if ( !FT_IS_FIXED_WIDTH( slot->face ) ) - slot->metrics.horiAdvance = loader->pp2.x - loader->pp1.x; - else - slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance, - x_scale ); -#else - if ( scaler->render_mode != FT_RENDER_MODE_LIGHT && - ( FT_IS_FIXED_WIDTH( slot->face ) || - ( af_face_globals_is_digit( loader->globals, glyph_index ) && - metrics->digits_have_same_width ) ) ) - { - slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance, - metrics->scaler.x_scale ); - - /* Set delta values to 0. Otherwise code that uses them is */ - /* going to ruin the fixed advance width. */ - slot->lsb_delta = 0; - slot->rsb_delta = 0; - } - else - { - /* non-spacing glyphs must stay as-is */ - if ( slot->metrics.horiAdvance ) - slot->metrics.horiAdvance = loader->pp2.x - loader->pp1.x; - } -#endif - - slot->metrics.vertAdvance = FT_MulFix( slot->metrics.vertAdvance, - metrics->scaler.y_scale ); - - slot->metrics.horiAdvance = FT_PIX_ROUND( slot->metrics.horiAdvance ); - slot->metrics.vertAdvance = FT_PIX_ROUND( slot->metrics.vertAdvance ); - - /* now copy outline into glyph slot */ - FT_GlyphLoader_Rewind( internal->loader ); - error = FT_GlyphLoader_CopyPoints( internal->loader, gloader ); - if ( error ) - goto Exit; - - /* reassign all outline fields except flags to protect them */ - slot->outline.n_contours = internal->loader->base.outline.n_contours; - slot->outline.n_points = internal->loader->base.outline.n_points; - slot->outline.points = internal->loader->base.outline.points; - slot->outline.tags = internal->loader->base.outline.tags; - slot->outline.contours = internal->loader->base.outline.contours; - - slot->format = FT_GLYPH_FORMAT_OUTLINE; - } - - Exit: - return error; - } - - - /* Load a glyph. */ - - FT_LOCAL_DEF( FT_Error ) - af_loader_load_glyph( AF_Module module, - FT_Face face, - FT_UInt gindex, - FT_Int32 load_flags ) - { - FT_Error error; - FT_Size size = face->size; - AF_Loader loader = module->loader; - AF_ScalerRec scaler; - - - if ( !size ) - return FT_THROW( Invalid_Argument ); - - FT_ZERO( &scaler ); - - scaler.face = face; - scaler.x_scale = size->metrics.x_scale; - scaler.x_delta = 0; /* XXX: TODO: add support for sub-pixel hinting */ - scaler.y_scale = size->metrics.y_scale; - scaler.y_delta = 0; /* XXX: TODO: add support for sub-pixel hinting */ - - scaler.render_mode = FT_LOAD_TARGET_MODE( load_flags ); - scaler.flags = 0; /* XXX: fix this */ - - error = af_loader_reset( module, face ); - if ( !error ) - { - AF_ScriptMetrics metrics; - FT_UInt options = 0; - - -#ifdef FT_OPTION_AUTOFIT2 - /* XXX: undocumented hook to activate the latin2 hinter */ - if ( load_flags & ( 1UL << 20 ) ) - options = 2; -#endif - - error = af_face_globals_get_metrics( loader->globals, gindex, - options, &metrics ); - if ( !error ) - { - loader->metrics = metrics; - - if ( metrics->clazz->script_metrics_scale ) - metrics->clazz->script_metrics_scale( metrics, &scaler ); - else - metrics->scaler = scaler; - - load_flags |= FT_LOAD_NO_SCALE | FT_LOAD_IGNORE_TRANSFORM; - load_flags &= ~FT_LOAD_RENDER; - - if ( metrics->clazz->script_hints_init ) - { - error = metrics->clazz->script_hints_init( &loader->hints, - metrics ); - if ( error ) - goto Exit; - } - - error = af_loader_load_g( loader, &scaler, gindex, load_flags, 0 ); - } - } - Exit: - return error; - } - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/autofit/afmodule.c b/libs/freetype-2.5.0.1/src/autofit/afmodule.c deleted file mode 100644 index c57ec524..00000000 --- a/libs/freetype-2.5.0.1/src/autofit/afmodule.c +++ /dev/null @@ -1,264 +0,0 @@ -/***************************************************************************/ -/* */ -/* afmodule.c */ -/* */ -/* Auto-fitter module implementation (body). */ -/* */ -/* Copyright 2003-2006, 2009, 2011-2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - -#include "afglobal.h" -#include "afmodule.h" -#include "afloader.h" -#include "aferrors.h" -#include "afpic.h" - -#ifdef FT_DEBUG_AUTOFIT - int _af_debug_disable_horz_hints; - int _af_debug_disable_vert_hints; - int _af_debug_disable_blue_hints; - void* _af_debug_hints; -#endif - -#include FT_INTERNAL_OBJECTS_H -#include FT_INTERNAL_DEBUG_H -#include FT_AUTOHINTER_H -#include FT_SERVICE_PROPERTIES_H - - - /*************************************************************************/ - /* */ - /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ - /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ - /* messages during execution. */ - /* */ -#undef FT_COMPONENT -#define FT_COMPONENT trace_afmodule - - - FT_Error - af_property_get_face_globals( FT_Face face, - AF_FaceGlobals* aglobals, - AF_Module module ) - { - FT_Error error = FT_Err_Ok; - AF_FaceGlobals globals; - - - if ( !face ) - return FT_THROW( Invalid_Argument ); - - globals = (AF_FaceGlobals)face->autohint.data; - if ( !globals ) - { - /* trigger computation of the global script data */ - /* in case it hasn't been done yet */ - error = af_face_globals_new( face, &globals, module ); - if ( !error ) - { - face->autohint.data = - (FT_Pointer)globals; - face->autohint.finalizer = - (FT_Generic_Finalizer)af_face_globals_free; - } - } - - if ( !error ) - *aglobals = globals; - - return error; - } - - - FT_Error - af_property_set( FT_Module ft_module, - const char* property_name, - const void* value ) - { - FT_Error error = FT_Err_Ok; - AF_Module module = (AF_Module)ft_module; - - - if ( !ft_strcmp( property_name, "fallback-script" ) ) - { - FT_UInt* fallback_script = (FT_UInt*)value; - - - module->fallback_script = *fallback_script; - - return error; - } - else if ( !ft_strcmp( property_name, "increase-x-height" ) ) - { - FT_Prop_IncreaseXHeight* prop = (FT_Prop_IncreaseXHeight*)value; - AF_FaceGlobals globals; - - - error = af_property_get_face_globals( prop->face, &globals, module ); - if ( !error ) - globals->increase_x_height = prop->limit; - - return error; - } - - FT_TRACE0(( "af_property_set: missing property `%s'\n", - property_name )); - return FT_THROW( Missing_Property ); - } - - - FT_Error - af_property_get( FT_Module ft_module, - const char* property_name, - void* value ) - { - FT_Error error = FT_Err_Ok; - AF_Module module = (AF_Module)ft_module; - FT_UInt fallback_script = module->fallback_script; - - - if ( !ft_strcmp( property_name, "glyph-to-script-map" ) ) - { - FT_Prop_GlyphToScriptMap* prop = (FT_Prop_GlyphToScriptMap*)value; - AF_FaceGlobals globals; - - - error = af_property_get_face_globals( prop->face, &globals, module ); - if ( !error ) - prop->map = globals->glyph_scripts; - - return error; - } - else if ( !ft_strcmp( property_name, "fallback-script" ) ) - { - FT_UInt* val = (FT_UInt*)value; - - - *val = fallback_script; - - return error; - } - else if ( !ft_strcmp( property_name, "increase-x-height" ) ) - { - FT_Prop_IncreaseXHeight* prop = (FT_Prop_IncreaseXHeight*)value; - AF_FaceGlobals globals; - - - error = af_property_get_face_globals( prop->face, &globals, module ); - if ( !error ) - prop->limit = globals->increase_x_height; - - return error; - } - - - FT_TRACE0(( "af_property_get: missing property `%s'\n", - property_name )); - return FT_THROW( Missing_Property ); - } - - - FT_DEFINE_SERVICE_PROPERTIESREC( - af_service_properties, - (FT_Properties_SetFunc)af_property_set, - (FT_Properties_GetFunc)af_property_get ) - - - FT_DEFINE_SERVICEDESCREC1( - af_services, - FT_SERVICE_ID_PROPERTIES, &AF_SERVICE_PROPERTIES_GET ) - - - FT_CALLBACK_DEF( FT_Module_Interface ) - af_get_interface( FT_Module module, - const char* module_interface ) - { - /* AF_SERVICES_GET derefers `library' in PIC mode */ -#ifdef FT_CONFIG_OPTION_PIC - FT_Library library; - - - if ( !module ) - return NULL; - library = module->library; - if ( !library ) - return NULL; -#else - FT_UNUSED( module ); -#endif - - return ft_service_list_lookup( AF_SERVICES_GET, module_interface ); - } - - - FT_CALLBACK_DEF( FT_Error ) - af_autofitter_init( FT_Module ft_module ) /* AF_Module */ - { - AF_Module module = (AF_Module)ft_module; - - - module->fallback_script = AF_SCRIPT_FALLBACK; - - return af_loader_init( module ); - } - - - FT_CALLBACK_DEF( void ) - af_autofitter_done( FT_Module ft_module ) /* AF_Module */ - { - AF_Module module = (AF_Module)ft_module; - - - af_loader_done( module ); - } - - - FT_CALLBACK_DEF( FT_Error ) - af_autofitter_load_glyph( AF_Module module, - FT_GlyphSlot slot, - FT_Size size, - FT_UInt glyph_index, - FT_Int32 load_flags ) - { - FT_UNUSED( size ); - - return af_loader_load_glyph( module, slot->face, - glyph_index, load_flags ); - } - - - FT_DEFINE_AUTOHINTER_INTERFACE( - af_autofitter_interface, - NULL, /* reset_face */ - NULL, /* get_global_hints */ - NULL, /* done_global_hints */ - (FT_AutoHinter_GlyphLoadFunc)af_autofitter_load_glyph ) /* load_glyph */ - - - FT_DEFINE_MODULE( - autofit_module_class, - - FT_MODULE_HINTER, - sizeof ( AF_ModuleRec ), - - "autofitter", - 0x10000L, /* version 1.0 of the autofitter */ - 0x20000L, /* requires FreeType 2.0 or above */ - - (const void*)&AF_INTERFACE_GET, - - (FT_Module_Constructor)af_autofitter_init, - (FT_Module_Destructor) af_autofitter_done, - (FT_Module_Requester) af_get_interface ) - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/autofit/aftypes.h b/libs/freetype-2.5.0.1/src/autofit/aftypes.h deleted file mode 100644 index e4619db8..00000000 --- a/libs/freetype-2.5.0.1/src/autofit/aftypes.h +++ /dev/null @@ -1,378 +0,0 @@ -/***************************************************************************/ -/* */ -/* aftypes.h */ -/* */ -/* Auto-fitter types (specification only). */ -/* */ -/* Copyright 2003-2009, 2011-2012 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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 auto-fitter is a complete rewrite of the old auto-hinter. - * Its main feature is the ability to differentiate between different - * scripts in order to apply language-specific rules. - * - * The code has also been compartmentized into several entities that - * should make algorithmic experimentation easier than with the old - * code. - * - * Finally, we get rid of the Catharon license, since this code is - * released under the FreeType one. - * - *************************************************************************/ - - -#ifndef __AFTYPES_H__ -#define __AFTYPES_H__ - -#include - -#include FT_FREETYPE_H -#include FT_OUTLINE_H -#include FT_INTERNAL_OBJECTS_H -#include FT_INTERNAL_DEBUG_H - - -FT_BEGIN_HEADER - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** D E B U G G I N G *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - -#ifdef FT_DEBUG_AUTOFIT - -#include FT_CONFIG_STANDARD_LIBRARY_H - -extern int _af_debug_disable_horz_hints; -extern int _af_debug_disable_vert_hints; -extern int _af_debug_disable_blue_hints; -extern void* _af_debug_hints; - -#endif /* FT_DEBUG_AUTOFIT */ - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** U T I L I T Y S T U F F *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - typedef struct AF_WidthRec_ - { - FT_Pos org; /* original position/width in font units */ - FT_Pos cur; /* current/scaled position/width in device sub-pixels */ - FT_Pos fit; /* current/fitted position/width in device sub-pixels */ - - } AF_WidthRec, *AF_Width; - - - FT_LOCAL( void ) - af_sort_pos( FT_UInt count, - FT_Pos* table ); - - FT_LOCAL( void ) - af_sort_and_quantize_widths( FT_UInt* count, - AF_Width widths, - FT_Pos threshold ); - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** A N G L E T Y P E S *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /* - * The auto-fitter doesn't need a very high angular accuracy; - * this allows us to speed up some computations considerably with a - * light Cordic algorithm (see afangles.c). - */ - - typedef FT_Int AF_Angle; - - -#define AF_ANGLE_PI 256 -#define AF_ANGLE_2PI ( AF_ANGLE_PI * 2 ) -#define AF_ANGLE_PI2 ( AF_ANGLE_PI / 2 ) -#define AF_ANGLE_PI4 ( AF_ANGLE_PI / 4 ) - - -#if 0 - /* - * compute the angle of a given 2-D vector - */ - FT_LOCAL( AF_Angle ) - af_angle_atan( FT_Pos dx, - FT_Pos dy ); - - - /* - * compute `angle2 - angle1'; the result is always within - * the range [-AF_ANGLE_PI .. AF_ANGLE_PI - 1] - */ - FT_LOCAL( AF_Angle ) - af_angle_diff( AF_Angle angle1, - AF_Angle angle2 ); -#endif /* 0 */ - - -#define AF_ANGLE_DIFF( result, angle1, angle2 ) \ - FT_BEGIN_STMNT \ - AF_Angle _delta = (angle2) - (angle1); \ - \ - \ - _delta %= AF_ANGLE_2PI; \ - if ( _delta < 0 ) \ - _delta += AF_ANGLE_2PI; \ - \ - if ( _delta > AF_ANGLE_PI ) \ - _delta -= AF_ANGLE_2PI; \ - \ - result = _delta; \ - FT_END_STMNT - - - /* opaque handle to glyph-specific hints -- see `afhints.h' for more - * details - */ - typedef struct AF_GlyphHintsRec_* AF_GlyphHints; - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** S C A L E R S *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /* - * A scaler models the target pixel device that will receive the - * auto-hinted glyph image. - */ - - typedef enum AF_ScalerFlags_ - { - AF_SCALER_FLAG_NO_HORIZONTAL = 1, /* disable horizontal hinting */ - AF_SCALER_FLAG_NO_VERTICAL = 2, /* disable vertical hinting */ - AF_SCALER_FLAG_NO_ADVANCE = 4 /* disable advance hinting */ - - } AF_ScalerFlags; - - - typedef struct AF_ScalerRec_ - { - FT_Face face; /* source font face */ - FT_Fixed x_scale; /* from font units to 1/64th device pixels */ - FT_Fixed y_scale; /* from font units to 1/64th device pixels */ - FT_Pos x_delta; /* in 1/64th device pixels */ - FT_Pos y_delta; /* in 1/64th device pixels */ - FT_Render_Mode render_mode; /* monochrome, anti-aliased, LCD, etc. */ - FT_UInt32 flags; /* additional control flags, see above */ - - } AF_ScalerRec, *AF_Scaler; - - -#define AF_SCALER_EQUAL_SCALES( a, b ) \ - ( (a)->x_scale == (b)->x_scale && \ - (a)->y_scale == (b)->y_scale && \ - (a)->x_delta == (b)->x_delta && \ - (a)->y_delta == (b)->y_delta ) - - - /*************************************************************************/ - /*************************************************************************/ - /***** *****/ - /***** S C R I P T S *****/ - /***** *****/ - /*************************************************************************/ - /*************************************************************************/ - - /* - * The list of known scripts. Each different script corresponds to the - * following information: - * - * - A set of Unicode ranges to test whether the face supports the - * script. - * - * - A specific global analyzer that will compute global metrics - * specific to the script. - * - * - A specific glyph analyzer that will compute segments and - * edges for each glyph covered by the script. - * - * - A specific grid-fitting algorithm that will distort the - * scaled glyph outline according to the results of the glyph - * analyzer. - * - * Note that a given analyzer and/or grid-fitting algorithm can be - * used by more than one script. - */ - - typedef enum AF_Script_ - { - AF_SCRIPT_DUMMY = 0, - AF_SCRIPT_LATIN = 1, - AF_SCRIPT_CJK = 2, - AF_SCRIPT_INDIC = 3, -#ifdef FT_OPTION_AUTOFIT2 - AF_SCRIPT_LATIN2 = 4, -#endif - - /* add new scripts here. Don't forget to update the list in */ - /* `afglobal.c'. */ - - AF_SCRIPT_MAX /* do not remove */ - - } AF_Script; - - - typedef struct AF_ScriptClassRec_ const* AF_ScriptClass; - typedef struct AF_FaceGlobalsRec_* AF_FaceGlobals; - - typedef struct AF_ScriptMetricsRec_ - { - AF_ScriptClass clazz; - AF_ScalerRec scaler; - FT_Bool digits_have_same_width; - - AF_FaceGlobals globals; /* to access properties */ - - } AF_ScriptMetricsRec, *AF_ScriptMetrics; - - - /* This function parses an FT_Face to compute global metrics for - * a specific script. - */ - typedef FT_Error - (*AF_Script_InitMetricsFunc)( AF_ScriptMetrics metrics, - FT_Face face ); - - typedef void - (*AF_Script_ScaleMetricsFunc)( AF_ScriptMetrics metrics, - AF_Scaler scaler ); - - typedef void - (*AF_Script_DoneMetricsFunc)( AF_ScriptMetrics metrics ); - - - typedef FT_Error - (*AF_Script_InitHintsFunc)( AF_GlyphHints hints, - AF_ScriptMetrics metrics ); - - typedef void - (*AF_Script_ApplyHintsFunc)( AF_GlyphHints hints, - FT_Outline* outline, - AF_ScriptMetrics metrics ); - - - typedef struct AF_Script_UniRangeRec_ - { - FT_UInt32 first; - FT_UInt32 last; - - } AF_Script_UniRangeRec; - -#define AF_UNIRANGE_REC( a, b ) { (FT_UInt32)(a), (FT_UInt32)(b) } - - typedef const AF_Script_UniRangeRec *AF_Script_UniRange; - - - typedef struct AF_ScriptClassRec_ - { - AF_Script script; - AF_Script_UniRange script_uni_ranges; /* last must be { 0, 0 } */ - FT_UInt32 standard_char; /* for default width and height */ - - FT_Offset script_metrics_size; - AF_Script_InitMetricsFunc script_metrics_init; - AF_Script_ScaleMetricsFunc script_metrics_scale; - AF_Script_DoneMetricsFunc script_metrics_done; - - AF_Script_InitHintsFunc script_hints_init; - AF_Script_ApplyHintsFunc script_hints_apply; - - } AF_ScriptClassRec; - - - /* Declare and define vtables for classes */ -#ifndef FT_CONFIG_OPTION_PIC - -#define AF_DECLARE_SCRIPT_CLASS( script_class ) \ - FT_CALLBACK_TABLE const AF_ScriptClassRec \ - script_class; - -#define AF_DEFINE_SCRIPT_CLASS( script_class, script_, ranges, def_char, \ - m_size, \ - m_init, m_scale, m_done, h_init, h_apply ) \ - FT_CALLBACK_TABLE_DEF const AF_ScriptClassRec script_class = \ - { \ - script_, \ - ranges, \ - def_char, \ - \ - m_size, \ - \ - m_init, \ - m_scale, \ - m_done, \ - \ - h_init, \ - h_apply \ - }; - -#else /* FT_CONFIG_OPTION_PIC */ - -#define AF_DECLARE_SCRIPT_CLASS( script_class ) \ - FT_LOCAL( void ) \ - FT_Init_Class_ ## script_class( AF_ScriptClassRec* ac ); - -#define AF_DEFINE_SCRIPT_CLASS( script_class, script_, ranges, def_char, \ - m_size, \ - m_init, m_scale, m_done, h_init, h_apply ) \ - FT_LOCAL_DEF( void ) \ - FT_Init_Class_ ## script_class( AF_ScriptClassRec* ac ) \ - { \ - ac->script = script_; \ - ac->script_uni_ranges = ranges; \ - ac->default_char = def_char; \ - \ - ac->script_metrics_size = m_size; \ - \ - ac->script_metrics_init = m_init; \ - ac->script_metrics_scale = m_scale; \ - ac->script_metrics_done = m_done; \ - \ - ac->script_hints_init = h_init; \ - ac->script_hints_apply = h_apply; \ - } - -#endif /* FT_CONFIG_OPTION_PIC */ - - -/* */ - -FT_END_HEADER - -#endif /* __AFTYPES_H__ */ - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/base/Jamfile b/libs/freetype-2.5.0.1/src/base/Jamfile deleted file mode 100644 index 562f38ae..00000000 --- a/libs/freetype-2.5.0.1/src/base/Jamfile +++ /dev/null @@ -1,60 +0,0 @@ -# FreeType 2 src/base Jamfile -# -# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by -# David Turner, Robert Wilhelm, and Werner Lemberg. -# -# 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. - -SubDir FT2_TOP $(FT2_SRC_DIR) base ; - - -{ - local _sources ; - - if $(FT2_MULTI) - { - _sources = ftadvanc ftcalc ftdbgmem ftgloadr - ftobjs ftoutln ftrfork ftsnames - ftstream fttrigon ftutil - basepic ftpic - ; - } - else - { - _sources = ftbase ; - } - - Library $(FT2_LIB) : $(_sources).c ; -} - -# Add the optional/replaceable files. -# -{ - local _sources = bbox bdf bitmap debug gasp - glyph gxval init lcdfil mm - otval pfr stroke synth system - type1 winfnt xf86 patent - ; - - Library $(FT2_LIB) : ft$(_sources).c ; -} - -# Add Macintosh-specific file to the library when necessary. -# -if $(MAC) -{ - Library $(FT2_LIB) : ftmac.c ; -} -else if $(OS) = MACOSX -{ - if $(FT2_MULTI) - { - Library $(FT2_LIB) : ftmac.c ; - } -} - -# end of src/base Jamfile diff --git a/libs/freetype-2.5.0.1/src/base/ftcalc.c b/libs/freetype-2.5.0.1/src/base/ftcalc.c deleted file mode 100644 index aeb99b47..00000000 --- a/libs/freetype-2.5.0.1/src/base/ftcalc.c +++ /dev/null @@ -1,974 +0,0 @@ -/***************************************************************************/ -/* */ -/* ftcalc.c */ -/* */ -/* Arithmetic computations (body). */ -/* */ -/* Copyright 1996-2006, 2008, 2012-2013 by */ -/* David Turner, Robert Wilhelm, and Werner Lemberg. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - /*************************************************************************/ - /* */ - /* Support for 1-complement arithmetic has been totally dropped in this */ - /* release. You can still write your own code if you need it. */ - /* */ - /*************************************************************************/ - - /*************************************************************************/ - /* */ - /* Implementing basic computation routines. */ - /* */ - /* FT_MulDiv(), FT_MulFix(), FT_DivFix(), FT_RoundFix(), FT_CeilFix(), */ - /* and FT_FloorFix() are declared in freetype.h. */ - /* */ - /*************************************************************************/ - - -#include -#include FT_GLYPH_H -#include FT_TRIGONOMETRY_H -#include FT_INTERNAL_CALC_H -#include FT_INTERNAL_DEBUG_H -#include FT_INTERNAL_OBJECTS_H - -#ifdef FT_MULFIX_INLINED -#undef FT_MulFix -#endif - -/* we need to emulate a 64-bit data type if a real one isn't available */ - -#ifndef FT_LONG64 - - typedef struct FT_Int64_ - { - FT_UInt32 lo; - FT_UInt32 hi; - - } FT_Int64; - -#endif /* !FT_LONG64 */ - - - /*************************************************************************/ - /* */ - /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ - /* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */ - /* messages during execution. */ - /* */ -#undef FT_COMPONENT -#define FT_COMPONENT trace_calc - - - /* The following three functions are available regardless of whether */ - /* FT_LONG64 is defined. */ - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Fixed ) - FT_RoundFix( FT_Fixed a ) - { - return ( a >= 0 ) ? ( a + 0x8000L ) & ~0xFFFFL - : -((-a + 0x8000L ) & ~0xFFFFL ); - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Fixed ) - FT_CeilFix( FT_Fixed a ) - { - return ( a >= 0 ) ? ( a + 0xFFFFL ) & ~0xFFFFL - : -((-a + 0xFFFFL ) & ~0xFFFFL ); - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Fixed ) - FT_FloorFix( FT_Fixed a ) - { - return ( a >= 0 ) ? a & ~0xFFFFL - : -((-a) & ~0xFFFFL ); - } - - - FT_BASE_DEF ( FT_Int ) - FT_MSB( FT_UInt32 z ) - { - FT_Int shift = 0; - - /* determine msb bit index in `shift' */ - if ( z >= ( 1L << 16 ) ) - { - z >>= 16; - shift += 16; - } - if ( z >= ( 1L << 8 ) ) - { - z >>= 8; - shift += 8; - } - if ( z >= ( 1L << 4 ) ) - { - z >>= 4; - shift += 4; - } - if ( z >= ( 1L << 2 ) ) - { - z >>= 2; - shift += 2; - } - if ( z >= ( 1L << 1 ) ) - { - z >>= 1; - shift += 1; - } - - return shift; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( FT_Fixed ) - FT_Hypot( FT_Fixed x, - FT_Fixed y ) - { - FT_Vector v; - - - v.x = x; - v.y = y; - - return FT_Vector_Length( &v ); - } - - -#ifdef FT_LONG64 - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Long ) - FT_MulDiv( FT_Long a, - FT_Long b, - FT_Long c ) - { - FT_Int s; - 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; } - - d = (FT_Long)( c > 0 ? ( (FT_Int64)a * b + ( c >> 1 ) ) / c - : 0x7FFFFFFFL ); - - return ( s > 0 ) ? d : -d; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( FT_Long ) - FT_MulDiv_No_Round( FT_Long a, - FT_Long b, - FT_Long c ) - { - FT_Int s; - 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; } - - d = (FT_Long)( c > 0 ? (FT_Int64)a * b / c - : 0x7FFFFFFFL ); - - return ( s > 0 ) ? d : -d; - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Long ) - FT_MulFix( FT_Long a, - FT_Long b ) - { -#ifdef FT_MULFIX_ASSEMBLER - - return FT_MULFIX_ASSEMBLER( a, b ); - -#else - - FT_Int s = 1; - FT_Long c; - - - if ( a < 0 ) - { - a = -a; - s = -1; - } - - if ( b < 0 ) - { - b = -b; - s = -s; - } - - c = (FT_Long)( ( (FT_Int64)a * b + 0x8000L ) >> 16 ); - - return ( s > 0 ) ? c : -c; - -#endif /* FT_MULFIX_ASSEMBLER */ - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Long ) - FT_DivFix( FT_Long a, - FT_Long b ) - { - FT_Int32 s; - FT_UInt32 q; - - - s = 1; - if ( a < 0 ) - { - a = -a; - s = -1; - } - if ( b < 0 ) - { - b = -b; - s = -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 ); - - return ( s < 0 ? -(FT_Long)q : (FT_Long)q ); - } - - -#else /* !FT_LONG64 */ - - - static void - ft_multo64( FT_UInt32 x, - FT_UInt32 y, - FT_Int64 *z ) - { - FT_UInt32 lo1, hi1, lo2, hi2, lo, hi, i1, i2; - - - lo1 = x & 0x0000FFFFU; hi1 = x >> 16; - lo2 = y & 0x0000FFFFU; hi2 = y >> 16; - - lo = lo1 * lo2; - i1 = lo1 * hi2; - i2 = lo2 * hi1; - hi = hi1 * hi2; - - /* Check carry overflow of i1 + i2 */ - i1 += i2; - hi += (FT_UInt32)( i1 < i2 ) << 16; - - hi += i1 >> 16; - i1 = i1 << 16; - - /* Check carry overflow of i1 + lo */ - lo += i1; - hi += ( lo < i1 ); - - z->lo = lo; - z->hi = hi; - } - - - static FT_UInt32 - ft_div64by32( FT_UInt32 hi, - FT_UInt32 lo, - FT_UInt32 y ) - { - FT_UInt32 r, q; - FT_Int i; - - - q = 0; - r = hi; - - if ( r >= y ) - return (FT_UInt32)0x7FFFFFFFL; - - i = 32; - do - { - r <<= 1; - q <<= 1; - r |= lo >> 31; - - if ( r >= y ) - { - r -= y; - q |= 1; - } - lo <<= 1; - } while ( --i ); - - return q; - } - - - static void - FT_Add64( FT_Int64* x, - FT_Int64* y, - FT_Int64 *z ) - { - register FT_UInt32 lo, hi; - - - lo = x->lo + y->lo; - hi = x->hi + y->hi + ( lo < x->lo ); - - z->lo = lo; - z->hi = hi; - } - - - /* 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). */ - /* */ - /* we compute 'a*b+c/2', then divide it by 'c'. (positive values) */ - /* */ - /* 46340 is FLOOR(SQRT(2^31-1)). */ - /* */ - /* if ( a <= 46340 && b <= 46340 ) then ( a*b <= 0x7FFEA810 ) */ - /* */ - /* 0x7FFFFFFF - 0x7FFEA810 = 0x157F0 */ - /* */ - /* if ( c < 0x157F0*2 ) then ( a*b+c/2 <= 0x7FFFFFFF ) */ - /* */ - /* and 2*0x157F0 = 176096 */ - /* */ - - FT_EXPORT_DEF( FT_Long ) - FT_MulDiv( FT_Long a, - FT_Long b, - FT_Long c ) - { - long s; - - - /* 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 ); - - if ( a <= 46340L && b <= 46340L && c <= 176095L && c > 0 ) - a = ( a * b + ( c >> 1 ) ) / c; - - else if ( (FT_Int32)c > 0 ) - { - FT_Int64 temp, temp2; - - - ft_multo64( (FT_Int32)a, (FT_Int32)b, &temp ); - - temp2.hi = 0; - temp2.lo = (FT_UInt32)(c >> 1); - FT_Add64( &temp, &temp2, &temp ); - a = ft_div64by32( temp.hi, temp.lo, (FT_Int32)c ); - } - else - a = 0x7FFFFFFFL; - - return ( s < 0 ? -a : a ); - } - - - FT_BASE_DEF( FT_Long ) - FT_MulDiv_No_Round( FT_Long a, - FT_Long b, - FT_Long c ) - { - long s; - - - 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 ); - - if ( a <= 46340L && b <= 46340L && c > 0 ) - a = a * b / c; - - else if ( (FT_Int32)c > 0 ) - { - FT_Int64 temp; - - - ft_multo64( (FT_Int32)a, (FT_Int32)b, &temp ); - a = ft_div64by32( temp.hi, temp.lo, (FT_Int32)c ); - } - else - a = 0x7FFFFFFFL; - - return ( s < 0 ? -a : a ); - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Long ) - FT_MulFix( FT_Long a, - FT_Long b ) - { -#ifdef FT_MULFIX_ASSEMBLER - - return FT_MULFIX_ASSEMBLER( a, b ); - -#elif 0 - - /* - * This code is nonportable. See comment below. - * - * However, on a platform where right-shift of a signed quantity fills - * the leftmost bits by copying the sign bit, it might be faster. - */ - - FT_Long sa, sb; - FT_ULong ua, ub; - - - if ( a == 0 || b == 0x10000L ) - return a; - - /* - * This is a clever way of converting a signed number `a' into its - * absolute value (stored back into `a') and its sign. The sign is - * stored in `sa'; 0 means `a' was positive or zero, and -1 means `a' - * was negative. (Similarly for `b' and `sb'). - * - * Unfortunately, it doesn't work (at least not portably). - * - * It makes the assumption that right-shift on a negative signed value - * fills the leftmost bits by copying the sign bit. This is wrong. - * According to K&R 2nd ed, section `A7.8 Shift Operators' on page 206, - * the result of right-shift of a negative signed value is - * implementation-defined. At least one implementation fills the - * leftmost bits with 0s (i.e., it is exactly the same as an unsigned - * right shift). This means that when `a' is negative, `sa' ends up - * with the value 1 rather than -1. After that, everything else goes - * wrong. - */ - sa = ( a >> ( sizeof ( a ) * 8 - 1 ) ); - a = ( a ^ sa ) - sa; - sb = ( b >> ( sizeof ( b ) * 8 - 1 ) ); - b = ( b ^ sb ) - sb; - - ua = (FT_ULong)a; - ub = (FT_ULong)b; - - if ( ua <= 2048 && ub <= 1048576L ) - ua = ( ua * ub + 0x8000U ) >> 16; - else - { - FT_ULong al = ua & 0xFFFFU; - - - ua = ( ua >> 16 ) * ub + al * ( ub >> 16 ) + - ( ( al * ( ub & 0xFFFFU ) + 0x8000U ) >> 16 ); - } - - sa ^= sb, - ua = (FT_ULong)(( ua ^ sa ) - sa); - - return (FT_Long)ua; - -#else /* 0 */ - - FT_Long s; - FT_ULong ua, ub; - - - if ( a == 0 || b == 0x10000L ) - return a; - - s = a; a = FT_ABS( a ); - s ^= b; b = FT_ABS( b ); - - ua = (FT_ULong)a; - ub = (FT_ULong)b; - - if ( ua <= 2048 && ub <= 1048576L ) - ua = ( ua * ub + 0x8000UL ) >> 16; - else - { - FT_ULong al = ua & 0xFFFFUL; - - - ua = ( ua >> 16 ) * ub + al * ( ub >> 16 ) + - ( ( al * ( ub & 0xFFFFUL ) + 0x8000UL ) >> 16 ); - } - - return ( s < 0 ? -(FT_Long)ua : (FT_Long)ua ); - -#endif /* 0 */ - - } - - - /* documentation is in freetype.h */ - - FT_EXPORT_DEF( FT_Long ) - FT_DivFix( FT_Long a, - FT_Long b ) - { - FT_Int32 s; - FT_UInt32 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 ) - { - /* check for division by 0 */ - q = (FT_UInt32)0x7FFFFFFFL; - } - else if ( ( a >> 16 ) == 0 ) - { - /* compute result directly */ - q = (FT_UInt32)( ( (FT_ULong)a << 16 ) + ( b >> 1 ) ) / (FT_UInt32)b; - } - else - { - /* we need more bits; we have to do it by hand */ - FT_Int64 temp, temp2; - - - temp.hi = (FT_Int32)( a >> 16 ); - temp.lo = (FT_UInt32)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 ); - } - - -#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 ); - } - - q = ft_div64by32( x->hi, x->lo, y ); - - return ( s < 0 ? -(FT_Int32)q : (FT_Int32)q ); - } - -#endif /* 0 */ - -#endif /* 0 */ - - -#endif /* FT_LONG64 */ - - - /* documentation is in ftglyph.h */ - - FT_EXPORT_DEF( void ) - FT_Matrix_Multiply( const FT_Matrix* a, - FT_Matrix *b ) - { - FT_Fixed xx, xy, yx, yy; - - - if ( !a || !b ) - return; - - xx = FT_MulFix( a->xx, b->xx ) + FT_MulFix( a->xy, b->yx ); - xy = FT_MulFix( a->xx, b->xy ) + FT_MulFix( a->xy, b->yy ); - yx = FT_MulFix( a->yx, b->xx ) + FT_MulFix( a->yy, b->yx ); - yy = FT_MulFix( a->yx, b->xy ) + FT_MulFix( a->yy, b->yy ); - - b->xx = xx; b->xy = xy; - b->yx = yx; b->yy = yy; - } - - - /* documentation is in ftglyph.h */ - - FT_EXPORT_DEF( FT_Error ) - FT_Matrix_Invert( FT_Matrix* matrix ) - { - FT_Pos delta, xx, yy; - - - if ( !matrix ) - return FT_THROW( Invalid_Argument ); - - /* compute discriminant */ - delta = FT_MulFix( matrix->xx, matrix->yy ) - - FT_MulFix( matrix->xy, matrix->yx ); - - if ( !delta ) - return FT_THROW( Invalid_Argument ); /* matrix can't be inverted */ - - matrix->xy = - FT_DivFix( matrix->xy, delta ); - matrix->yx = - FT_DivFix( matrix->yx, delta ); - - xx = matrix->xx; - yy = matrix->yy; - - matrix->xx = FT_DivFix( yy, delta ); - matrix->yy = FT_DivFix( xx, delta ); - - return FT_Err_Ok; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( void ) - FT_Matrix_Multiply_Scaled( const FT_Matrix* a, - FT_Matrix *b, - FT_Long scaling ) - { - FT_Fixed xx, xy, yx, yy; - - FT_Long val = 0x10000L * scaling; - - - if ( !a || !b ) - return; - - xx = FT_MulDiv( a->xx, b->xx, val ) + FT_MulDiv( a->xy, b->yx, val ); - xy = FT_MulDiv( a->xx, b->xy, val ) + FT_MulDiv( a->xy, b->yy, val ); - yx = FT_MulDiv( a->yx, b->xx, val ) + FT_MulDiv( a->yy, b->yx, val ); - yy = FT_MulDiv( a->yx, b->xy, val ) + FT_MulDiv( a->yy, b->yy, val ); - - b->xx = xx; b->xy = xy; - b->yx = yx; b->yy = yy; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( void ) - FT_Vector_Transform_Scaled( FT_Vector* vector, - const FT_Matrix* matrix, - FT_Long scaling ) - { - FT_Pos xz, yz; - - FT_Long val = 0x10000L * scaling; - - - if ( !vector || !matrix ) - return; - - xz = FT_MulDiv( vector->x, matrix->xx, val ) + - FT_MulDiv( vector->y, matrix->xy, val ); - - yz = FT_MulDiv( vector->x, matrix->yx, val ) + - FT_MulDiv( vector->y, matrix->yy, val ); - - vector->x = xz; - vector->y = yz; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( FT_Int32 ) - FT_SqrtFixed( FT_Int32 x ) - { - FT_UInt32 root, rem_hi, rem_lo, test_div; - FT_Int count; - - - root = 0; - - if ( x > 0 ) - { - rem_hi = 0; - rem_lo = x; - count = 24; - do - { - rem_hi = ( rem_hi << 2 ) | ( rem_lo >> 30 ); - rem_lo <<= 2; - root <<= 1; - test_div = ( root << 1 ) + 1; - - if ( rem_hi >= test_div ) - { - rem_hi -= test_div; - root += 1; - } - } while ( --count ); - } - - return (FT_Int32)root; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( FT_Int ) - ft_corner_orientation( FT_Pos in_x, - FT_Pos in_y, - FT_Pos out_x, - FT_Pos out_y ) - { - FT_Long result; /* avoid overflow on 16-bit system */ - - - /* deal with the trivial cases quickly */ - if ( in_y == 0 ) - { - if ( in_x >= 0 ) - result = out_y; - else - result = -out_y; - } - else if ( in_x == 0 ) - { - if ( in_y >= 0 ) - result = -out_x; - else - result = out_x; - } - else if ( out_y == 0 ) - { - if ( out_x >= 0 ) - result = in_y; - else - result = -in_y; - } - else if ( out_x == 0 ) - { - if ( out_y >= 0 ) - result = -in_x; - else - result = in_x; - } - else /* general case */ - { -#ifdef FT_LONG64 - - FT_Int64 delta = (FT_Int64)in_x * out_y - (FT_Int64)in_y * out_x; - - - if ( delta == 0 ) - result = 0; - else - result = 1 - 2 * ( delta < 0 ); - -#else - - FT_Int64 z1, z2; - - - /* XXX: this function does not allow 64-bit arguments */ - ft_multo64( (FT_Int32)in_x, (FT_Int32)out_y, &z1 ); - ft_multo64( (FT_Int32)in_y, (FT_Int32)out_x, &z2 ); - - if ( z1.hi > z2.hi ) - result = +1; - else if ( z1.hi < z2.hi ) - result = -1; - else if ( z1.lo > z2.lo ) - result = +1; - else if ( z1.lo < z2.lo ) - result = -1; - else - result = 0; - -#endif - } - - /* XXX: only the sign of return value, +1/0/-1 must be used */ - return (FT_Int)result; - } - - - /* documentation is in ftcalc.h */ - - FT_BASE_DEF( FT_Int ) - ft_corner_is_flat( FT_Pos in_x, - FT_Pos in_y, - 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; - - - if ( ax < 0 ) - ax = -ax; - if ( ay < 0 ) - ay = -ay; - d_in = ax + ay; - - ax = out_x; - if ( ax < 0 ) - ax = -ax; - ay = out_y; - if ( ay < 0 ) - ay = -ay; - d_out = ax + ay; - - ax = out_x + in_x; - if ( ax < 0 ) - ax = -ax; - ay = out_y + in_y; - if ( ay < 0 ) - ay = -ay; - d_corner = ax + ay; - - return ( d_in + d_out - d_corner ) < ( d_corner >> 4 ); - } - - -/* END */ diff --git a/libs/freetype-2.5.0.1/src/gzip/rules.mk b/libs/freetype-2.5.0.1/src/gzip/rules.mk deleted file mode 100644 index df07d90e..00000000 --- a/libs/freetype-2.5.0.1/src/gzip/rules.mk +++ /dev/null @@ -1,75 +0,0 @@ -# -# FreeType 2 GZip support configuration rules -# - - -# Copyright 2002, 2003 by -# David Turner, Robert Wilhelm, and Werner Lemberg. -# -# 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. - - -# gzip driver directory -# -GZIP_DIR := $(SRC_DIR)/gzip - - -# compilation flags for the driver -# -ifeq ($(SYSTEM_ZLIB),) - GZIP_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(GZIP_DIR)) -else - GZIP_COMPILE := $(FT_COMPILE) -endif - - -# gzip support sources (i.e., C files) -# -GZIP_DRV_SRC := $(GZIP_DIR)/ftgzip.c - -# gzip support headers -# -GZIP_DRV_H := - - -# gzip driver object(s) -# -# GZIP_DRV_OBJ_M is used during `multi' builds -# GZIP_DRV_OBJ_S is used during `single' builds -# -ifeq ($(SYSTEM_ZLIB),) - GZIP_DRV_OBJ_M := $(GZIP_DRV_SRC:$(GZIP_DIR)/%.c=$(OBJ_DIR)/%.$O) -else - GZIP_DRV_OBJ_M := $(OBJ_DIR)/ftgzip.$O -endif -GZIP_DRV_OBJ_S := $(OBJ_DIR)/ftgzip.$O - -# gzip support source file for single build -# -GZIP_DRV_SRC_S := $(GZIP_DIR)/ftgzip.c - - -# gzip support - single object -# -$(GZIP_DRV_OBJ_S): $(GZIP_DRV_SRC_S) $(GZIP_DRV_SRC) $(FREETYPE_H) \ - $(GZIP_DRV_H) - $(GZIP_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(GZIP_DRV_SRC_S)) - - -# gzip support - multiple objects -# -$(OBJ_DIR)/%.$O: $(GZIP_DIR)/%.c $(FREETYPE_H) $(GZIP_DRV_H) - $(GZIP_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) - - -# update main driver object lists -# -DRV_OBJS_S += $(GZIP_DRV_OBJ_S) -DRV_OBJS_M += $(GZIP_DRV_OBJ_M) - - -# EOF diff --git a/libs/freetype-2.5.0.1/src/tools/docmaker/sources.py b/libs/freetype-2.5.0.1/src/tools/docmaker/sources.py deleted file mode 100644 index a100d6b9..00000000 --- a/libs/freetype-2.5.0.1/src/tools/docmaker/sources.py +++ /dev/null @@ -1,347 +0,0 @@ -# Sources (c) 2002-2004, 2006-2009, 2012 -# David Turner -# -# -# 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: -# -# - normal blocks, which contain source code or ordinary comments -# -# - documentation blocks, which have restricted formatting, and -# whose text always start with a documentation markup tag like -# "", "", etc.. -# -# the routines used to process the content of documentation blocks -# are not contained here, but in "content.py" -# -# the classes and methods found here only deal with text parsing -# and basic documentation block extraction -# - -import fileinput, re, sys, os, string - - - -################################################################ -## -## BLOCK FORMAT PATTERN -## -## A simple class containing compiled regular expressions used -## to detect potential documentation format block comments within -## C source code -## -## note that the 'column' pattern must contain a group that will -## be used to "unbox" the content of documentation comment blocks -## -class SourceBlockFormat: - - def __init__( self, id, start, column, end ): - """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: -# -# /************************************/ -# /* */ -# /* */ -# /* */ -# /************************************/ -# -# we define a few regular expressions here to detect them -# - -start = r''' - \s* # any number of whitespace - /\*{2,}/ # followed by '/' and at least two asterisks then '/' - \s*$ # probably followed by whitespace -''' - -column = r''' - \s* # any number of whitespace - /\*{1} # followed by '/' and precisely one asterisk - ([^*].*) # followed by anything (group 1) - \*{1}/ # followed by one asterisk and a '/' - \s*$ # probably followed by whitespace -''' - -re_source_block_format1 = SourceBlockFormat( 1, start, column, start ) - - -# -# format 2 documentation comment blocks look like the following: -# -# /************************************ (at least 2 asterisks) -# * -# * -# * -# * -# **/ (1 or more asterisks at the end) -# -# we define a few regular expressions here to detect them -# -start = r''' - \s* # any number of whitespace - /\*{2,} # followed by '/' and at least two asterisks - \s*$ # probably followed by whitespace -''' - -column = r''' - \s* # any number of whitespace - \*{1}(?!/) # followed by precisely one asterisk not followed by `/' - (.*) # then anything (group1) -''' - -end = r''' - \s* # any number of whitespace - \*+/ # followed by at least one asterisk, then '/' -''' - -re_source_block_format2 = SourceBlockFormat( 2, start, column, end ) - - -# -# the list of supported documentation block formats, we could add new ones -# relatively 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 -# -# notice how each markup tag _must_ begin a new line -# -re_markup_tag1 = re.compile( r'''\s*<((?:\w|-)*)>''' ) # format -re_markup_tag2 = re.compile( r'''\s*@((?:\w|-)*):''' ) # @xxxx: format - -# -# the list of supported markup tags, we could add new ones relatively -# easily -# -re_markup_tags = [re_markup_tag1, re_markup_tag2] - -# -# used to detect a cross-reference, after markup tags have been stripped -# -re_crossref = re.compile( r'@((?:\w|-)*)(.*)' ) - -# -# used to detect italic and bold styles in paragraph text -# -re_italic = re.compile( r"_(\w(\w|')*)_(.*)" ) # _italic_ -re_bold = re.compile( r"\*(\w(\w|')*)\*(.*)" ) # *bold* - -# -# used to detect the end of commented source lines -# -re_source_sep = re.compile( r'\s*/\*\s*\*/' ) - -# -# used to perform cross-reference within source output -# -re_source_crossref = re.compile( r'(\W*)(\w*)' ) - -# -# a list of reserved source keywords -# -re_source_keywords = re.compile( '''\\b ( typedef | - struct | - enum | - union | - const | - char | - int | - short | - long | - void | - signed | - unsigned | - \#include | - \#define | - \#undef | - \#if | - \#ifdef | - \#ifndef | - \#else | - \#endif ) \\b''', re.VERBOSE ) - - -################################################################ -## -## 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 -## -## the important fields in a text block are the following ones: -## -## 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) -## -class SourceBlock: - - def __init__( self, processor, filename, lineno, lines ): - self.processor = processor - self.filename = filename - self.lineno = lineno - self.lines = lines[:] - self.format = processor.format - self.content = [] - - if self.format == None: - return - - words = [] - - # extract comment lines - lines = [] - - for line0 in self.lines: - m = self.format.column.match( line0 ) - if m: - lines.append( m.group( 1 ) ) - - # now, look for a markup tag - for l in lines: - l = string.strip( l ) - if len( l ) > 0: - for tag in re_markup_tags: - if tag.match( l ): - self.content = lines - return - - def location( self ): - return "(" + self.filename + ":" + repr( self.lineno ) + ")" - - # debugging only - not used in normal operations - def dump( self ): - if self.content: - print "{{{content start---" - for l in self.content: - print l - print "---content end}}}" - return - - fmt = "" - if self.format: - fmt = repr( self.format.id ) + " " - - for line in self.lines: - 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. -## -## 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, include comments -## -## -class SourceProcessor: - - def __init__( self ): - """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""" - self.blocks = [] - self.format = None - - def parse_file( self, filename ): - """parse a C source file, and add its blocks to the processor's list""" - self.reset() - - self.filename = filename - - fileinput.close() - self.format = None - self.lineno = 0 - self.lines = [] - - for line in fileinput.input( filename ): - # strip trailing newlines, important on Windows machines! - if line[-1] == '\012': - line = line[0:-1] - - if self.format == None: - 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 - self.lines.append( line ) - self.add_block_lines() - elif self.format.column.match( line ): - # that's 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 - self.add_block_lines() - - # we need to process the line again - self.process_normal_line( line ) - - # record the last lines - 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""" - for f in re_source_block_formats: - if f.start.match( line ): - self.add_block_lines() - self.format = f - self.lineno = fileinput.filelineno() - - self.lines.append( line ) - - def add_block_lines( self ): - """add the current accumulated lines and create a new block""" - if self.lines != []: - block = SourceBlock( self, self.filename, self.lineno, self.lines ) - - self.blocks.append( block ) - self.format = None - self.lines = [] - - # debugging only, not used in normal operations - def dump( self ): - """print all blocks in a processor""" - for b in self.blocks: - b.dump() - -# eof diff --git a/libs/freetype-2.5.0.1/src/tools/docmaker/tohtml.py b/libs/freetype-2.5.0.1/src/tools/docmaker/tohtml.py deleted file mode 100644 index 2fa704e2..00000000 --- a/libs/freetype-2.5.0.1/src/tools/docmaker/tohtml.py +++ /dev/null @@ -1,593 +0,0 @@ -# ToHTML (c) 2002, 2003, 2005, 2006, 2007, 2008 -# David Turner - -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 = """\ - - - - -\ -""" - -html_header_2 = """\ - API Reference - - - -""" - -html_header_3 = """ - - - -
[
[Index][TOC]
-

\ -""" - -html_header_5t = """\ -">Index] - -

\ -""" - -html_header_6 = """\ - API Reference

-""" - - -# The HTML footer used by all generated pages. -html_footer = """\ - -\ -""" - -# The header and footer used for each section. -section_title_header = "

" -section_title_footer = "

" - -# The header and footer used for code segments. -code_header = '
'
-code_footer = '
' - -# Paragraph header and footer. -para_header = "

" -para_footer = "

" - -# Block header and footer. -block_header = '
' -block_footer_start = """\ -
-
- - -
[Index][TOC]
-""" - -# Description header/footer. -description_header = '
' -description_footer = "

" - -# Marker header/inter/footer combination. -marker_header = '
' -marker_inter = "
" -marker_footer = "
" - -# Header location header/footer. -header_location_header = '
' -header_location_footer = "

" - -# Source code extracts header/footer. -source_header = '
\n'
-source_footer = "\n

" - -# Chapter header/inter/footer. -chapter_header = '

' -chapter_inter = '

  • ' -chapter_footer = '
' - -# Index footer. -index_footer_start = """\ -
- -
[TOC]
-""" - -# TOC footer. -toc_footer_start = """\ -
- - -
[Index]
-""" - - -# source language keyword coloration/styling -keyword_prefix = '' -keyword_suffix = '' - -section_synopsis_header = '

Synopsis

' -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 - - -# same as 'html_quote', but ignores left and right brackets -def html_quote0( line ): - return string.replace( line, "&", "&" ) - - -def dump_html_code( lines, prefix = "" ): - # clean the last empty lines - l = len( self.lines ) - while l > 0 and string.strip( self.lines[l - 1] ) == "": - l = l - 1 - - # The code footer should be directly appended to the last code - # line to avoid an additional blank line. - print prefix + code_header, - for line in self.lines[0 : l + 1]: - print '\n' + prefix + html_quote( line ), - print prefix + code_footer, - - - -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 = "
generated on " + \ - time.asctime( time.localtime( time.time() ) ) + \ - "
" + 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_words( self, words ): - """ convert a series of simple words into some HTML text """ - line = "" - if words: - line = html_quote( words[0] ) - for w in words[1:]: - line = line + " " + html_quote( w ) - - return line - - 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 '' + name + '' + 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 '' + name + '' + rest - - m = re_bold.match( word ) - if m: - name = m.group( 1 ) - rest = m.group( 3 ) - return '' + name + '' + 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 ) - # 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 "
" + field.name + "" - - print self.make_html_items( field.items ) - - if field.name: - print "
" - - 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 + '' + name + '' - 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 + '' + name + '' - 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 "

" - print "" - for field in fields: - if len( field.name ) > 22: - print "" - print "" - print "
" + field.name + "
" - else: - print "
" + field.name + "" - - self.print_html_items( field.items ) - print "
" - - 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 "" - for r in range( rows ): - line = "" - 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 + '' - else: - line = line + '' - line = line + "" - print line - - print "
' + bname + '
" - - 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 "

Table of Contents

" - - def toc_chapter_enter( self, chapter ): - print chapter_header + string.join( chapter.title ) + chapter_inter - print "" - - def toc_section_enter( self, section ): - print '" - - def toc_chapter_exit( self, chapter ): - print "
' - print '' + \ - section.title + '' - - print self.make_html_para( section.abstract ) - - def toc_section_exit( self, section ): - print "
" - print chapter_footer - - def toc_index( self, index_filename ): - print chapter_header + \ - 'Global Index' + \ - 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 "" - - columns = width / maxwidth - if columns < 1: - columns = 1 - - count = len( section.block_names ) - rows = ( count + columns - 1 ) / columns - - for r in range( rows ): - line = "" - for c in range( columns ): - i = r + c * rows - line = line + '' - line = line + "" - print line - - print "
' - if i < count: - name = section.block_names[i] - line = line + '' + name + '' - - line = line + '


" - 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 '

' + block.name + '

' - - # 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/libs/freetype-2.6.2/CMakeLists.txt b/libs/freetype-2.6.2/CMakeLists.txt new file mode 100644 index 00000000..77a5622c --- /dev/null +++ b/libs/freetype-2.6.2/CMakeLists.txt @@ -0,0 +1,436 @@ +# CMakeLists.txt +# +# Copyright 2013-2015 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# Written originally by John Cary +# +# 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. +# +# +# As a preliminary, create a compilation directory and change into it, for +# example +# +# mkdir ~/freetype2.compiled +# cd ~/freetype2.compiled +# +# Now you can say +# +# cmake +# +# to create a Makefile that builds a static version of the library. +# +# For a dynamic library, use +# +# cmake -D BUILD_SHARED_LIBS:BOOL=true +# +# For a framework on OS X, use +# +# cmake -D BUILD_FRAMEWORK:BOOL=true -G Xcode +# +# instead. +# +# For an iOS static library, use +# +# cmake -D IOS_PLATFORM=OS -G Xcode +# +# or +# +# cmake -D IOS_PLATFORM=SIMULATOR -G Xcode +# +# Please refer to the cmake manual for further options, in particular, how +# to modify compilation and linking parameters. +# +# Some notes. +# +# . `cmake' creates configuration files in +# +# /include/freetype/config +# +# which should be further modified if necessary. +# +# . You can use `cmake' directly on a freshly cloned FreeType git +# repository. +# +# . `CMakeLists.txt' is provided as-is since it is normally not used by the +# developer team. +# +# . If you want to disable the automatic generation of the distribution +# targets, add the `-D FREETYPE_NO_DIST=true' command line argument. +# +# . Set the `WITH_ZLIB', `WITH_BZip2', `WITH_PNG', and `WITH_HarfBuzz' +# CMake variables to `ON' or `OFF' to force or skip using a dependency. +# Leave a variable undefined (which is the default) to use the dependency +# only if it is available. Example: +# +# cmake ... -DWITH_ZLIB=ON -DWITH_HarfBuzz=OFF ... + + +cmake_minimum_required(VERSION 2.6) + + +include(CheckIncludeFile) + + +# 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 (WIN32 AND NOT MINGW AND BUILD_SHARED_LIBS) + message(FATAL_ERROR "Building shared libraries on Windows needs MinGW") +endif () + +# Disallow in-source builds +if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}") + message(FATAL_ERROR + " +In-source builds are not permitted! Make a separate folder for" + " building, e.g.," + " + mkdir build; cd build; cmake .." + " +Before that, remove the files created by this failed run with" + " + rm -rf CMakeCache.txt CMakeFiles") +endif () + + +# Add local cmake modules +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/builds/cmake) + + +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 "6") +set(VERSION_PATCH "2") + +set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) +set(SHARED_LIBRARY_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}) + + +# Compiler definitions for building the library +add_definitions(-DFT2_BUILD_LIBRARY) + + +# Find dependencies +foreach (d ZLIB BZip2 PNG HarfBuzz) + string(TOUPPER "${d}" D) + + if (DEFINED WITH_${d} OR DEFINED WITH_${D}) + if (WITH_${d} OR WITH_${D}) + find_package(${d} QUIET REQUIRED) + endif () + else () + find_package(${d} QUIET) + endif () + + if (${d}_FOUND OR ${D}_FOUND) + message(STATUS "Building with ${d}") + endif() +endforeach () + + +message(STATUS + "Creating directory ${PROJECT_BINARY_DIR}/include/freetype/config") +file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/include/freetype/config") + + +# Create the configuration file +message(STATUS + "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h") + +if (UNIX) + check_include_file("unistd.h" HAVE_UNISTD_H) + check_include_file("fcntl.h" HAVE_FCNTL_H) + check_include_file("stdint.h" HAVE_STDINT_H) + + file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.in" + FTCONFIG_H) + if (HAVE_UNISTD_H) + string(REGEX REPLACE + "#undef +(HAVE_UNISTD_H)" "#define \\1" + FTCONFIG_H "${FTCONFIG_H}") + endif () + if (HAVE_FCNTL_H) + string(REGEX REPLACE + "#undef +(HAVE_FCNTL_H)" "#define \\1" + FTCONFIG_H "${FTCONFIG_H}") + endif () + if (HAVE_STDINT_H) + string(REGEX REPLACE + "#undef +(HAVE_STDINT_H)" "#define \\1" + FTCONFIG_H "${FTCONFIG_H}") + endif () + string(REPLACE "/undef " "#undef " + FTCONFIG_H "${FTCONFIG_H}") + file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h" + "${FTCONFIG_H}") +else () + file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h" + FTCONFIG_H) + file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h" + "${FTCONFIG_H}") +endif () + + +# Create the options file +message(STATUS + "Creating file ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h") + +file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h" + FTOPTION_H) +if (ZLIB_FOUND) + string(REGEX REPLACE + "/\\* +(#define +FT_CONFIG_OPTION_SYSTEM_ZLIB) +\\*/" "\\1" + FTOPTION_H "${FTOPTION_H}") +endif () +if (BZIP2_FOUND) + string(REGEX REPLACE + "/\\* +(#define +FT_CONFIG_OPTION_USE_BZIP2) +\\*/" "\\1" + FTOPTION_H "${FTOPTION_H}") +endif () +if (PNG_FOUND) + string(REGEX REPLACE + "/\\* +(#define +FT_CONFIG_OPTION_USE_PNG) +\\*/" "\\1" + FTOPTION_H "${FTOPTION_H}") +endif () +if (HARFBUZZ_FOUND) + string(REGEX REPLACE + "/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1" + FTOPTION_H "${FTOPTION_H}") +endif () +file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h" + "${FTOPTION_H}") + + +# Specify library include directories +include_directories("${PROJECT_SOURCE_DIR}/include") +include_directories(BEFORE "${PROJECT_BINARY_DIR}/include") + + +file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h") +file(GLOB PUBLIC_CONFIG_HEADERS "include/freetype/config/*.h") +file(GLOB PRIVATE_HEADERS "include/freetype/internal/*.h") + + +set(BASE_SRCS + src/autofit/autofit.c + src/base/ftbase.c + src/base/ftbbox.c + src/base/ftbdf.c + src/base/ftbitmap.c + src/base/ftcid.c + src/base/ftfntfmt.c + src/base/ftfstype.c + src/base/ftgasp.c + src/base/ftglyph.c + src/base/ftgxval.c + src/base/ftinit.c + src/base/ftlcdfil.c + src/base/ftmm.c + src/base/ftotval.c + src/base/ftpatent.c + src/base/ftpfr.c + src/base/ftstroke.c + src/base/ftsynth.c + src/base/ftsystem.c + src/base/fttype1.c + src/base/ftwinfnt.c + src/bdf/bdf.c + src/bzip2/ftbzip2.c + src/cache/ftcache.c + src/cff/cff.c + src/cid/type1cid.c + src/gzip/ftgzip.c + src/lzw/ftlzw.c + src/pcf/pcf.c + src/pfr/pfr.c + src/psaux/psaux.c + src/pshinter/pshinter.c + src/psnames/psnames.c + src/raster/raster.c + src/sfnt/sfnt.c + src/smooth/smooth.c + src/truetype/truetype.c + src/type1/type1.c + src/type42/type42.c + src/winfonts/winfnt.c +) + +if (WIN32) + set(BASE_SRCS ${BASE_SRCS} builds/windows/ftdebug.c) +elseif (WINCE) + set(BASE_SRCS ${BASE_SRCS} builds/wince/ftdebug.c) +else () + set(BASE_SRCS ${BASE_SRCS} src/base/ftdebug.c) +endif () + + +if (BUILD_FRAMEWORK) + set(BASE_SRCS + ${BASE_SRCS} + builds/mac/freetype-Info.plist + ) +endif () + +set(CMAKE_DEBUG_POSTFIX d) + +add_library(freetype + ${PUBLIC_HEADERS} + ${PUBLIC_CONFIG_HEADERS} + ${PRIVATE_HEADERS} + ${BASE_SRCS} +) + + +if (BUILD_SHARED_LIBS) + set_target_properties(freetype PROPERTIES + VERSION ${PROJECT_VERSION} + SOVERSION ${SHARED_LIBRARY_VERSION} + COMPILE_DEFINITIONS freetype_EXPORTS + ) +endif () + + +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 () + +if (NOT CMAKE_VERSION VERSION_LESS 2.8.11) + target_include_directories(freetype + PUBLIC $) +endif () + +if (CMAKE_VERSION VERSION_LESS 2.8.12) + set(MAYBE_PRIVATE "") +else () + set(MAYBE_PRIVATE "PRIVATE") +endif () + +if (ZLIB_FOUND) + target_link_libraries(freetype ${MAYBE_PRIVATE} ${ZLIB_LIBRARIES}) + include_directories(${ZLIB_INCLUDE_DIRS}) +endif () +if (BZIP2_FOUND) + target_link_libraries(freetype ${MAYBE_PRIVATE} ${BZIP2_LIBRARIES}) + include_directories(${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS +endif () +if (PNG_FOUND) + add_definitions(${PNG_DEFINITIONS}) + target_link_libraries(freetype ${MAYBE_PRIVATE} ${PNG_LIBRARIES}) + include_directories(${PNG_INCLUDE_DIRS}) +endif () +if (HARFBUZZ_FOUND) + target_link_libraries(freetype ${MAYBE_PRIVATE} ${HARFBUZZ_LIBRARIES}) + include_directories(${HARFBUZZ_INCLUDE_DIRS}) +endif () + + +# Installations +# Note the trailing slash in the argument to the `DIRECTORY' directive +install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/ + DESTINATION include/freetype2 + PATTERN "internal" EXCLUDE + PATTERN "ftconfig.h" EXCLUDE + PATTERN "ftoption.h" EXCLUDE +) +install(FILES + ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h + ${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h + DESTINATION include/freetype2/freetype/config +) +install(TARGETS freetype + EXPORT freetype-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + FRAMEWORK DESTINATION Library/Frameworks +) +install(EXPORT freetype-targets + DESTINATION lib/cmake/freetype + FILE freetype-config.cmake +) + + +# Packaging +# CPack version numbers for release tarball name. +set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) +set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) +set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}}) +if (NOT DEFINED CPACK_PACKAGE_DESCRIPTION_SUMMARY) + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_NAME}") +endif () +if (NOT DEFINED CPACK_SOURCE_PACKAGE_FILE_NAME) + set(CPACK_SOURCE_PACKAGE_FILE_NAME + "${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}-r${PROJECT_REV}" + CACHE INTERNAL "tarball basename" + ) +endif () +set(CPACK_SOURCE_GENERATOR TGZ) +set(CPACK_SOURCE_IGNORE_FILES + "/CVS/;/.svn/;.swp$;.#;/#;/build/;/serial/;/ser/;/parallel/;/par/;~;/preconfig.out;/autom4te.cache/;/.config") +set(CPACK_GENERATOR TGZ) +include(CPack) + + +# Add `make dist' target if FREETYPE_DIST is set (which is the default) +if (NOT DEFINED FREETYPE_NO_DIST) + add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) +endif () + +# eof diff --git a/libs/freetype-2.6.2/ChangeLog b/libs/freetype-2.6.2/ChangeLog new file mode 100644 index 00000000..31c2ac9e --- /dev/null +++ b/libs/freetype-2.6.2/ChangeLog @@ -0,0 +1,3606 @@ +2015-11-28 Werner Lemberg + + * Version 2.6.2 released. + ========================= + + + Tag sources with `VER-2-6-2'. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.6.2. + + * 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.6.1/2.6.2/, s/261/262/. + + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2. + + * builds/unix/configure.raw (version_info): Set to 18:2:12. + * CMakeLists.txt (VERSION_PATCH): Set to 2. + + * docs/CHANGES: Updated. + +2015-11-28 Werner Lemberg + + Fix C++ compilation. + + * src/autofit/afloader.c: Include FT_INTERNAL_CALC_H. + + * src/truetype/ttgload.c (load_truetype_glyph): Pacify compiler. + +2015-11-28 Nikolaus Waxweiler + + Change default LCD filter to be normalized and color-balanced. + + * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Update + `default_filter'. + +2015-11-28 Werner Lemberg + + [docmaker] Allow references to section names. + + In the reference, we show the section's title enclosed in single + quotes. + + * src/tools/docmaker/formatter.py (Formatter::__init__): Collect + section names as identifiers. + + * src/tools/docmaker/tohtml.py (section_title_header): Split into... + (section_title_header1, section_title_header2): ... these two + strings. + (HtmlFormatter::make_block_url, make_html_word, html_source_quote): + Handle sections. + (HtmlFormatter::section_enter): Updated to add `id' HTML attribute. + +2015-11-27 Tamas Kenez + + [cmake] Add script to test the config module. + + * builds/cmake/testbuild.sh: New file. + +2015-11-27 Tamas Kenez + + * CMakeLists.txt: Create `freetype-config.cmake' config module. + +2015-11-27 Tamas Kenez + + * CMakeLists.txt: Set CMAKE_DEBUG_POSTFIX to `d'. + +2015-11-27 Tamas Kenez + + [cmake] Add better control of library dependencies. + + * CMakeLists.txt: Add `WITH_*' variables to force/auto/omit + ZLIB/BZip2/PNG/HarfBuzz. + +2015-11-27 Tamas Kenez + + [cmake] Make `FindHarfbuzz' observe the REQUIRED option. + + * builds/cmake/FindHarfBuzz.cmake: Implement it. + +2015-11-27 Werner Lemberg + + [cmake] Collect files specific to cmake in `builds/cmake'. + + * builds/FindHarfBuzz.cmake: Move to ... + * builds/cmake/FindHarfBuzz.cmake: ... this place. + + * CMakeLists.txt (CMAKE_MODULE_PATH): Updated. + +2015-11-27 Alexander Bock + + CMakeLists.txt: Honour new command line flag `FREETYPE_NO_DIST'. + +2015-11-26 Werner Lemberg + + [docmaker] Allow `foo[bar]' as identifier. + + We need this to handle equally named properties in different + modules. + + * src/tools/docmaker/content.py (re_identifier), + src/tools/docmaker/sources.py (re_crossref): Allow `foo[bar]'. + + * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word, + HtmlFormatter::index_exit, HtmlFormatter::section_enter, + HtmlFormatter::block_enter): Handle `foo[bar]'. + +2015-11-25 Werner Lemberg + + * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480). + + (_bdf_parse_glyphs): Always reset `p->glyph_name' after moving its + contents. + +2015-11-21 Werner Lemberg + + * include/freetype/internal/ftcalc.h: Don't use `register' keyword. + + This fixes compiler warnings. + + Reported by Behdad. + +2015-11-20 Werner Lemberg + + Add `FT_LCD_FILTER_LEGACY1' enum value. + + This does the same as `FT_LCD_FILTER_LEGACY'. + + See + + https://bugs.freedesktop.org/show_bug.cgi?id=92981 + + for the reasoning. + + * include/freetype/ftlcdfil.h (FT_LcdFilter): New value + `FT_LCD_FILTER_LEGACY1'. + + * src/base/ftlcdfil.c (FT_Library_SetLcdFilter): Use it. + +2015-11-15 Werner Lemberg + + * src/autofit/afhints.c (af_get_segment_index): Fix it. + + The old code was too simple, returning invalid values in most cases + where a segment crosses the contour start. + +2015-11-15 Werner Lemberg + + * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46439). + +2015-11-11 Werner Lemberg + + [cff, autofit] Switch off stem darkening by default. + + * src/autofit/afmodule.c (af_autofitter_init), src/cff/cffobjs.c + (cff_driver_init): Do it. + +2015-11-10 Jan Alexander Steffens (heftig) + + Allow native CFF hinter in FT_RENDER_MODE_LIGHT. + + Both the native CFF hinter and the auto-hinter now have a very + similar rendering style. + + * include/freetype/freetype.h: Mention that FT_LOAD_TARGET_LIGHT no + longer implies FT_LOAD_FORCE_AUTOHINT. + + * include/freetype/ftmodapi.h (FT_MODULE_DRIVER_HINTS_LIGHTLY): New + macro. + + * include/freetype/internal/ftobjs.h (FT_DRIVER_HINTS_LIGHTLY): New + macro. + + * src/cff/cffdrivr.c (cff_driver_class): Use it. + + * src/base/ftobjs.c (FT_Load_Glyph): Update auto-hinter selection + logic. + +2015-11-09 Werner Lemberg + + * src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408). + +2015-11-09 Werner Lemberg + + [truetype] Remove integer to pointer conversion compiler warning. + + Problem reported by Alexei. + + * src/truetype/ttgload.c (load_truetype_glyph): Use a solution found + in the glib library to fix the issue. + +2015-11-08 Behdad Esfahbod + + [sfnt] Accept version 3 of `EBLC' and `CBLC' tables also. + + * src/sfnt/ttsbit.c (tt_face_load_sbit): Implement it. + +2015-11-08 Philipp Knechtges + + [autofit] Don't distort (latin) glyphs too much (#46195). + + * src/autofit/aflatin.h (AF_LatinBlueRec): Add `ascender' and + `descender' fields. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Collect + ascender and descender data for blue zones. + (af_latin_metrics_scale_dim): Reject vertical scaling values that + change the result by more than two pixels. + +2015-11-05 Werner Lemberg + + [sfnt] Ignore embedded bitmaps with zero size (#46379). + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Implement + it. + +2015-11-04 Werner Lemberg + + [truetype] Catch infinite recursion in subglyphs (#46372). + + * include/freetype/internal/tttypes.h (TT_LoaderRec): New field + `composites'. + + * src/truetype/ttgload.c: Include FT_LIST_H. + (load_truetype_glyph): Add composite subglyph index to a list; + abort if index is already in list. + (tt_loader_init): Updated. + (tt_loader_done): New function. + (TT_Load_Glyph): Call `tt_loader_done'. + +2015-11-04 Werner Lemberg + + [truetype] Better tracing of composite glyphs. + + * src/truetype/ttgload.c (TT_Load_Composite_Glyph, + load_truetype_glyph): Implement it. + +2015-11-03 Werner Lemberg + + [sfnt] Protect against zero-size bitmaps (#46345). + + * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Check + `glyph_size'. + +2015-11-02 Nikolaus Waxweiler + + * src/autofit/afloader.c (af_loader_load_g): Implement emboldening. + +2015-11-02 Nikolaus Waxweiler + + [autofit] Implement darkening computation function. + + This is a crude adaption of the original `cf2_computeDarkening' + function. + + * src/autofit/afloader.c (af_intToFixed, af_fixedToInt, + af_floatToFixed): New macros, taken from `cf2fixed.h'. + (af_loader_compute_darkening): New function. + * src/autofit/afloader.h: Updated. + +2015-11-02 Nikolaus Waxweiler + + [autofit] Add functions to get standard widths for writing systems. + + We need the computed standard horizontal and vertical widths for the + emboldening calculation. This method provides a convenient way to + extract it from writing-system-specific metrics structures, which + all script definitions must implement. + + * src/autofit/aftypes.h (AF_WritingSystem_GetStdWidthsFunc): New + function type. + (AF_WritingSystemClassRec): New member `style_metrics_getstdw'. + (AF_DEFINE_WRITING_SYSTEM_CLASS): Updated. + + * src/autofit/afcjk.c (af_cjk_get_standard_width): New function. + (af_cjk_writing_system_class): Updated. + * src/autofit/afdummy.c (af_dummy_writing_system_class): Updated. + * src/autofit/afindic.c (af_cjk_get_standard_width): New function. + (af_indic_writing_system_class): Updated. + * src/autofit/aflatin.c (af_latin_get_standard_width): New function. + (af_indic_writing_system_class): Updated. + * src/autofit/aflatin.c (af_latin_get_standard_width): New function. + (af_indic_writing_system_class): Updated. + +2015-11-02 Nikolaus Waxweiler + + [autofit] Extend `AF_FaceGlobalsRec' to hold emboldening data. + + * src/autofit/afglobal.h (AF_FaceGlobalsRec): Add fields. + + * src/autofit/afglobal.c (af_face_globals_new): Initialize new + fields. + (af_face_globals_free): Reset new fields. + +2015-11-02 Nikolaus Waxweiler + + [autofit] Add stem-darkening properties. + + Actual code follows in a later commit. + + * include/freetype/ftautoh.h: Document `no-stem-darkening' and + `darkening-parameters'. + + * src/autofit/afmodule.h: New fields `no_stem_darkening' and + `darken_params'. + + * src/autofit/afmodule.c (af_property_set, af_property_get): + Handle them. + (af_autofitter_init): Initialize them. + +2015-11-02 Bungeman + + [ftfuzzer] Add support for multiple files (patch #8779). + + Currently, libFuzzer only supports mutation of a single file. We + circumvent this problem by using an uncompressed tar archive as + multiple-file input for the fuzzer. + + This patch enables tests of `FT_Attach_Stream' and AFM/PFM parsing; + a constructed tarball should contain a font file as the first + element, and files to be attached as further elements. + + * src/tools/ftfuzzer/ftfuzzer.cc: Include libarchive headers. + (archive_read_entry_data, parse_data): New functions. + (LLVMFuzzerTestOneInput): Updated. + + * src/tools/ftfuzzer/ftmutator.cc: New file, providing a custom + mutator for libFuzzer that can mutate tarballs in a sensible way. + +2015-10-31 Werner Lemberg + + [sfnt] Fix cmap 14 validation (#46346). + + * src/sfnt/ttcmap.c (tt_cmap14_validate): Check limit before + accessing `numRanges' and `numMappings'. + Fix size check for non-default UVS table. + +2015-10-31 Werner Lemberg + + [sfnt] Handle infinite recursion in bitmap strikes (#46344). + + * src/sfnt/ttsbit.c (TT_SBitDecoder_LoadFunc, + tt_sbit_decoder_load_bitmap, tt_sbit_decoder_load_byte_aligned, + tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_png): Add + argument for recursion depth. + (tt_sbit_decoder_load_compound): Add argument for recursion depth. + Increase recursion counter for recursive call. + (tt_sbit_decoder_load_image): Add argument for recursion depth. + Check recurse depth. + (tt_face_load_sbit_image): Updated. + +2015-10-29 Werner Lemberg + + * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor. + +2015-10-29 Werner Lemberg + + * CMakeLists.txt: Remove code to set MSVC's /FD compiler switch. + + Problem reported by David Capello ; see + + http://lists.nongnu.org/archive/html/freetype-devel/2015-10/msg00108.html + + for details. + +2015-10-27 Werner Lemberg + + [pfr] Add some safety guards (#46302). + + * src/pfr/pfrload.h (PFR_CHECK): Rename to... + (PFR_CHECK_SIZE): ... this. + (PFR_SIZE): [!PFR_CONFIG_NO_CHECKS]: Define to PFR_CHECK_SIZE. + + * src/pfr/pfrload.c (pfr_log_font_count): Check `count'. + (pfr_extra_item_load_kerning_pairs): Remove tracing message. + (pfr_phy_font_load): Use PFR_CHECK_SIZE where appropriate. + Allocate `chars' after doing a size checks. + + * src/pfr/pfrsbit.c (pfr_load_bitmap_bits): Move test for invalid + bitmap format to... + (pfr_slot_load_bitmap): ... this function. + Check bitmap size. + +2015-10-26 Werner Lemberg + + [truetype] Fix sanitizing logic for `loca' (#46223). + + * src/truetype/ttpload.c (tt_face_load_loca): A thinko caused an + incorrect adjustment of the number of glyphs, most often using far + too large values. + +2015-10-25 Werner Lemberg + + [autofit] Improve tracing. + + * src/autofit/afhints.c (af_print_idx, af_get_segment_index, + af_get_edge_index): New functions. + + (af_glyph_hints_dump_points): Remove unnecessary `|', `[', and `]'. + Add segment and edge index for each point. + Slightly change printing order of some elements. + Don't print `-1' but `--' for missing elements. + + (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Remove + unnecessary `|', `[', and `]'. + Don't print `-1' but `--' for missing elements. + +2015-10-24 Werner Lemberg + + [sfnt] Sanitize bitmap strike glyph height. + + Problem reported by Nikolay Sivov . + + * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Avoid zero value + for `metrics->height' by applying some heuristics. + +2015-10-22 Werner Lemberg + + [sfnt, type42] Fix clang compiler warnings. + + * src/sfnt/sfobjs.c (sfnt_init_face): Initialize `offset'. + + * src/type42/t42parse.c (t42_parse_sfnts): Use proper cast. + +2015-10-22 Dave Arnold + Werner Lemberg + + [cff] Avoid overflow/module arithmetic. + + This modifies the addition of subroutine number to subroutine bias + from unsigned to signed, but does not change any results. + + * src/cff/cf2ft.c (cf2_initGlobalRegionBuffer, + cf2_initLocalRegionBuffer): Change variable names from (unsigned) + `idx' to (signed) `subrNum', since it is not an index until after + the bias is added. + * src/cff/cf2ft.h: Updated. + + * src/cff/cf2intrp.c (cf2_interpT2CharString) : + Updated similarly. + +2015-10-22 Werner Lemberg + + [cid] Better check of `SubrCount' dictionary entry (#46272). + + * src/cid/cidload.c (cid_face_open): Add more sanity tests for + `fd_bytes', `gd_bytes', `sd_bytes', and `num_subrs'. + +2015-10-21 Werner Lemberg + + [base] Pacify compiler (#46266). + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Initialize `in' and + `anchor'. + +2015-10-21 Werner Lemberg + + [type42] Fix heap buffer overflow (#46269). + + * src/type42/t42parse.c (t42_parse_sfnts): Fix off-by-one error in + bounds checking. + +2015-10-21 Dave Arnold + + [cff] Fix limit in assert for max hints. + + * src/cff/cf2interp.c (cf2_hintmask_setAll): Allow mask equal to the + limit (96 bits). + +2015-10-21 Dave Arnold + + [cff] Remove an assert (#46107). + + * src/cff/cf2hints.c (cf2_hintmap_insertHint): Ignore paired edges + in wrong order. + +2015-10-21 Werner Lemberg + + [sfnt] Avoid unnecessarily large allocation for WOFFs (#46257). + + * src/sfnt/sfobjs.c (woff_open_font): Use WOFF's `totalSfntSize' + only after thorough checks. + Add tracing messages. + +2015-10-21 Werner Lemberg + + [type42] Better check invalid `sfnts' array data (#46255). + + * src/type42/t42parse.c (t42_parse_sfnts): Table lengths must be + checked individually against available data size. + +2015-10-20 Werner Lemberg + + [cid] Add a bunch of safety checks. + + * src/cid/cidload.c (parse_fd_array): Check `num_dicts' against + stream size. + (cid_read_subrs): Check largest offset against stream size. + (cid_parse_dict): Move safety check to ... + (cid_face_open): ... this function. + Also test length of binary data and values of `SDBytes', + `SubrMapOffset', `SubrCount', `CIDMapOffset', and `CIDCount'. + +2015-10-20 Werner Lemberg + + [cid] Avoid segfault with malformed input (#46250). + + * src/cid/cidload.c (cid_read_subrs): Return a proper error code for + unsorted offsets. + +2015-10-20 StudioEtrange + + * CMakeLists.txt: Enable shared library builds on MinGW (#46233). + +2015-10-20 Werner Lemberg + + * src/type1/t1afm.c (T1_Read_Metrics): Fix memory leak (#46229). + +2015-10-19 Bungeman + + [cid] Better handle invalid glyph stream offsets (#46221). + + * src/cid/cidgload.c (cid_load_glyph): Check minimum size of glyph + length. + +2015-10-18 Werner Lemberg + + [psaux] Fix tracing of negative numbers. + + Due to incorrect casting negative numbers were shown as very large + (positive) integers on 64bit systems. + + * src/psaux/t1decode.c (t1_decoder_parse_charstrings) : + Use division instead of shift. + +2015-10-18 Werner Lemberg + + [truetype] Improve TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46223). + + * devel/ftoption.h, include/freetype/config/ftoption.h: Surround it + with #ifndef ... #endif, as suggested in the tracker issue. + +2015-10-18 Werner Lemberg + + [truetype] Better protection against malformed `fpgm' (#46223). + + * src/truetype/ttobjs.c (tt_size_init_bytecode): Don't execute a + malformed `fpgm' table more than once. + +2015-10-17 Werner Lemberg + + * src/cid/cidgload.c (cid_load_glyph): Fix memory leak. + + Reported by Kostya Serebryany . + +2015-10-17 Werner Lemberg + + [bdf] Prevent memory leak (#46217). + + * src/bdf/bdflib.c (_bdf_parse_glyphs) : Check + _BDF_GLYPH_BITS. + +2015-10-17 Werner Lemberg + + [bdf] Use stream size to adjust number of glyphs. + + * src/bdf/bdflib.c (ACMSG17): New message macro. + (_bdf_parse_t): Add member `size'. + (bdf_load_font): Set `size'. + (_bdf_parse_glyphs): Adjust `cnt' if necessary. + +2015-10-17 Werner Lemberg + + * src/cid/cidload.c (cid_parse_dict): Check `[FG]DBytes' size. + +2015-10-17 Werner Lemberg + + * src/cid/cidgload.c (cid_glyph_load): Check file offsets (#46222). + +2015-10-17 Werner Lemberg + + [psaux] Fix heap buffer overflow (#46221). + + * src/psaux/t1decode.c (t1_decoder_parse_charstring) : + Fix limit check. + +2015-10-17 Werner Lemberg + + * src/cid/cidload.c (cid_parse_dict): Handle invalid input (#46220). + +2015-10-15 Kostya Serebryany + + [ftfuzzer] Add README. + + * src/tools/ftfuzzer/README: New file. + +2015-10-15 Bungeman + + [bdf] Fix memory leak (#46213). + + * src/bdf/bdflib.c (bdf_load_font): Always go to label `Fail' in + case of error. + +2015-10-15 Werner Lemberg + + [truetype] Add TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES (#46208). + + * devel/ftoption.h, include/freetype/config/ftoption.h + (TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES): New configuration macro. + + * src/truetype/ttinterp.c (MAX_RUNNABLE_OPCODES): Removed. + (TT_RunIns): Updated. + +2015-10-15 Werner Lemberg + + * src/truetype/ttinterp.c (TT_RunIns): Fix bytecode stack tracing. + + The used indices were off by 1. + +2015-10-15 Bungeman + Werner Lemberg + + * src/tools/ftfuzzer/ftfuzzer.cc: Handle fixed sizes (#46211). + +2015-10-15 Werner Lemberg + + [base] Compute MD5 checksums only if explicitly requested. + + This improves profiling accuracy. + + * src/base/ftobjs.c (FT_Render_Glyph_Internal): Implement it. + +2015-10-14 Werner Lemberg + + [base] Use `FT_' namespace for MD5 functions (#42366). + + * src/base/ftobjs.c (MD5_*): Define as `FT_MD5_*'. + Undefine HAVE_OPENSSL. + +2015-10-13 Werner Lemberg + + [type1] Correctly handle missing MM axis names (#46202). + + * src/type1/t1load.c (T1_Get_MM_Var): Implement it. + +2015-10-13 Werner Lemberg + + [pcf] Quickly exit if font index < 0. + + Similar to other font formats, this commit makes the parser no + longer check the whole PCF file but only the header and the TOC if + we just want to get the number of available faces (and a proper + recognition of the font format). + + * src/pcf/pcfdrivr.c (PCF_Face_Init): Updated. + Exit quickly if face_index < 0. + + * src/pcfread.c (pcf_load_font): Add `face_index' argument. + Exit quickly if face_index < 0. + + * src/pcf/pcf.h: Updated. + +2015-10-13 Werner Lemberg + + [ftfuzzer] Handle TTCs and MM/GX variations. + + This patch also contains various other improvements. + + * src/tools/ftfuzzer/ftfuzzer.cc: Add preprocessor guard to reject + pre-C++11 compilers. + (FT_Global): New class. Use it to provide a global constructor and + destructor for the `FT_Library' object. + (setIntermediateAxis): New function to select an (arbitrary) + instance. + (LLVMFuzzerTestOneInput): Loop over all faces and named instances. + Also call `FT_Set_Char_Size'. + +2015-10-13 Werner Lemberg + + [truetype] Refine some GX sanity tests. + + Use the `gvar' table size instead of the remaining bytes in the + stream. + + * src/truetype/ttgxvar.h (GX_BlendRec): New field `gvar_size'. + + * src/truetype/ttgxvar.c (ft_var_load_gvar): Set `gvar_size'. + (ft_var_readpackedpoints, ft_var_readpackeddeltas: New argument + `size'. + (tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Updated. + +2015-10-13 Werner Lemberg + + [truetype] Another GX sanity test. + + * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Check + `tupleCount'. + Add tracing message. + +2015-10-13 Werner Lemberg + + [truetype] Fix memory leak for broken GX fonts (#46188). + + * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix scope of + deallocation. + +2015-10-13 Werner Lemberg + + [truetype] Fix commit from 2015-10-10. + + * src/truetype/ttgxvar.c (ft_var_load_gvar): Add missing error + handling body to condition. + +2015-10-12 Werner Lemberg + + [unix] Make MKDIR_P actually work. + + * builds/unix/configure.raw: Fix underquoting of `INSTALL' and + `MKDIR_P'. + + Problem reported by Dan Liddell . + +2015-10-11 Werner Lemberg + + [sfnt] Improve extraction of number of named instances. + + * src/sfnt/sfobjs.c (sfnt_init_face) + [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check number of instances against + `fvar' table size. + +2015-10-10 Alexei Podtelezhnikov + + * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow + (#46149). + +2015-10-10 Werner Lemberg + + [sfnt] Fix infinite loops with broken cmaps (#46167). + + * src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next): Take care + of border conditions (i.e., if the loops exit naturally). + +2015-10-10 Werner Lemberg + + [truetype] More sanity tests for GX handling. + + These tests should mainly help avoid unnecessarily large memory + allocations in case of malformed fonts. + + * src/truetype/ttgxvar.c (ft_var_readpackedpoints, + ft_var_readpackeddeltas): Check number of points against stream + size. + (ft_var_load_avar): Check `pairCount' against table length. + (ft_var_load_gvar): Check `globalCoordCount' and `glyphCount' + against table length. + (tt_face_vary_cvt): Check `tupleCount' and `offsetToData'. + Fix trace. + (TT_Vary_Apply_Glyph_Deltas): Fix trace. + Free `sharedpoints' to avoid memory leak. + +2015-10-10 Werner Lemberg + + [truetype] Better protection against malformed GX data (#46166). + + * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Correctly + handle empty `localpoints' array. + +2015-10-10 Werner Lemberg + + * src/pcf/pcfread.c (pcf_read_TOC): Check stream size (#46162). + +2015-10-09 Werner Lemberg + + * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size. + +2015-10-08 Werner Lemberg + + [pcf] Protect against invalid number of TOC entries (#46159). + + * src/pcf/pcfread.c (pcf_read_TOC): Check number of TOC entries + against size of data stream. + +2015-10-08 Werner Lemberg + + [type42] Protect against invalid number of glyphs (#46159). + + * src/type42/t42parse.c (t42_parse_charstrings): Check number of + `CharStrings' dictionary entries against size of data stream. + +2015-10-08 Werner Lemberg + + [sfnt] Fix some signed overflows (#46149). + + * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) + : Use `FT_MulDiv'. + +2015-10-08 Werner Lemberg + + [type1] Protect against invalid number of subroutines (#46150). + + * src/type1/t1load.c (parse_subrs): Check number of + `Subrs' dictionary entries against size of data stream. + +2015-10-07 Kostya Serebryany + + [ftfuzzer] Add support for LLVM's LibFuzzer. + + * src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files. + +2015-10-06 Alexei Podtelezhnikov + + [smooth] Faster alternative line renderer. + + This implementation renders the entire line segment at once without + subdividing it into scanlines. The main speed improvement comes from + reducing the number of divisions to just two per line segment, which + is a bare minimum to calculate cell coverage in a smooth rasterizer. + Notably, the progression from cell to cell does not itself require any + divisions at all. The speed improvement is more noticeable at larger + sizes. + + * src/smooth/ftgrays.c (gray_render_line): New implementation. + +2015-10-06 Werner Lemberg + + [cff] Return correct PS names from pure CFF (#46130). + + * src/cff/cffdrivr.c (cff_get_ps_name): Use SFNT service only for + SFNT. + +2015-10-04 Werner Lemberg + + [base] Replace left shifts with multiplication (#46118). + + * src/base/ftglyph.c (ft_bitmap_glyph_bbox, FT_Get_Glyph): Do it. + +2015-10-04 Werner Lemberg + + * Version 2.6.1 released. + ========================= + + + Tag sources with `VER-2-6-1'. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.6.1. + + * 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.6/2.6.1/, s/26/261/. + + * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. + + * builds/unix/configure.raw (version_info): Set to 18:1:12. + * CMakeLists.txt (VERSION_PATCH): Set to 1. + + * src/autofit/afmodule.c [AF_DEBUG_AUTOFIT]: Ensure C linking for + dumping functions. + +2015-10-04 Werner Lemberg + + [bzip2, gzip] Avoid access of unitialized memory (#46109). + + * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_input), src/gzip/ftgzip.c + (ft_gzip_file_fill_input): In case of an error, adjust the limit to + avoid copying uninitialized memory. + +2015-10-03 Werner Lemberg + + [bzip2, gzip] Avoid access of unitialized memory (#46109). + + * src/bzip2/ftbzip2.c (ft_bzip2_file_fill_output), src/gzip/ftgzip.c + (ft_gzip_file_fill_output): In case of an error, adjust the limit to + avoid copying uninitialized memory. + +2015-10-01 Alexei Podtelezhnikov + + [smooth] Clean up worker. + + * src/smooth/ftgrays.c (gray_TWorker): Remove never used fields. + +2015-10-01 Werner Lemberg + + [sfnt] Make `tt_cmap4_char_map_linear' more robust (#46078). + + * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Take care of + border conditions (i.e., if the loop exits naturally). + +2015-10-01 Werner Lemberg + + * src/autofit/afranges.c (af_deva_nonbase_uniranges): Fix ranges. + They should be a subset of `af_deva_uniranges'. + +2015-10-01 Werner Lemberg + + [sfnt] Make `tt_cmap4_char_map_linear' faster (#46078). + + * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to + reject too large glyph indices. + +2015-09-30 Alexei Podtelezhnikov + + [smooth] Clean up worker. + + * src/smooth/ftgrays.c (gray_TWorker): Remove lightly used `last_ey'. + (gray_start_cell, gray_render_line): Update. + +2015-09-30 Werner Lemberg + + [autofit] Replace `no-base' with `non-base'. + + * src/autofit/*: Do it. + +2015-09-30 Werner Lemberg + + [sfnt] Rewrite `tt_cmap4_char_map_linear' (#46078). + + * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Add code to better + skip invalid segments. + If searching the next character, provide a more efficient logic to + speed up the code. + +2015-09-30 Werner Lemberg + + [truetype] Adjust number of glyphs for malformed `loca' tables. + + * src/truetype/ttpload.c (tt_face_load_loca): Implement it. + +2015-09-29 Werner Lemberg + + [pshinter] Avoid harmless overflow (#45984). + + * src/pshinter/pshglob.c (psh_blues_set_zones): Fix it. + +2015-09-28 Werner Lemberg + + [autofit] Add support for Lao script. + + Thanks to Danh Hong for guidance with blue zone + characters! + + * src/autofit/afblue.dat: Add blue zone data for Lao. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afscript.h: Add Lao standard characters. + + * src/autofit/afranges.c: Add Lao data. + + * src/autofit/afstyles.h: Add Lao data. + +2015-09-27 suzuki toshiya + + [base] Fix a leak by broken sfnt-PS or resource fork (#46028). + + open_face_from_buffer() frees passed buffer if valid font + is not found. But if copying to the buffer is failed, + the allocated buffer should be freed within the caller. + + * src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Free + the buffer `sfnt_ps' if an error caused before calling + open_face_from_buffer(). + (Mac_Read_sfnt_Resource): Free the buffer `sfnt_data' if + an error caused before calling open_face_from_buffer(); + +2015-09-27 suzuki toshiya + + [mac] Fix buffer size calculation for LWFN font. + + * src/base/ftmac.c (read_lwfn): Cast post_size to FT_ULong + to prevent confused copy by too large chunk size. + +2015-09-26 Alexei Podtelezhnikov + + * src/smooth/ftgrays.c (PIXEL_MASK): Remove unused macro. + +2015-09-26 Werner Lemberg + + [autofit] Minor tracing improvement. + + * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Don't emit + blue zones header line if there are no blue zones. + +2015-09-26 Werner Lemberg + + [bzip2, gzip, lzw] Harmonize function signatures with prototype. + + Suggested by Hin-Tak Leung. + + * src/bzip2/ftbzip2.c (ft_bzip2_stream_io), src/gzip/ftgzip.c + (ft_gzip_stream_io), src/lzw/ftlzw.c (ft_lzw_stream_io): Do it. + +2015-09-26 Hin-Tak Leung + + Add new FT_LOAD_COMPUTE_METRICS load flag. + + * include/freetype/freetype.h (FT_LOAD_COMPUTE_METRICS): New macro. + * src/truetype/ttgload.c (compute_glyph_metrics): Usage. + +2015-09-26 Werner Lemberg + + * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add cast. + +2015-09-25 Werner Lemberg + + [type1] Protect against invalid number of glyphs (#46029). + + * src/type1/t1load.c (parse_charstrings): Check number of + `CharStrings' dictionary entries against size of data stream. + +2015-09-23 Werner Lemberg + + [sfnt] Better checks for invalid cmaps (2/2) (#46019). + + While the current code in `FT_Get_Next_Char' correctly rejects + out-of-bounds glyph indices, it can be extremely slow for malformed + cmaps that use 32bit values. This commit tries to improve that. + + * src/sfnt/ttcmap.c (tt_cmap8_char_next, tt_cmap12_next, + tt_cmap12_char_map_binary, tt_cmap13_next, + tt_cmap13_char_map_binary): Reject glyph indices larger than or + equal to the number of glyphs. + +2015-09-23 Werner Lemberg + + [base, sfnt] Better checks for invalid cmaps (1/2). + + * src/base/ftobjs.c (FT_Get_Char_Index): Don't return out-of-bounds + glyph indices. + (FT_Get_First_Char): Updated. + + * src/sfnt/ttcmap.c (tt_cmap6_char_next): Don't return character + codes greater than 0xFFFF. + + (tt_cmap8_char_index): Avoid integer overflow in computation of + glyph index. + (tt_cmap8_char_next): Avoid integer overflows in computation of + both next character code and glyph index. + + (tt_cmap10_char_index): Fix unsigned integer logic. + (tt_cmap10_char_next): Avoid integer overflow in computation of + next character code. + + (tt_cmap12_next): Avoid integer overflows in computation of both + next character code and glyph index. + (tt_cmap12_char_map_binary): Ditto. + (tt_cmap12_char_next): Simplify. + + (tt_cmap13_char_map_binary): Avoid integer overflow in computation + of next character code. + (tt_cmap13_char_next): Simplify. + +2015-09-21 suzuki toshiya + + [base] Check too long POST and sfnt resource (#45919). + + * src/base/ftbase.h (FT_MAC_RFORK_MAX_LEN): Maximum length of the + resource fork for Mac OS. Resource forks larger than 16 MB can be + written but can't be handled correctly, at least in Carbon routine. + See https://support.microsoft.com/en-us/kb/130437. + + * src/base/ftobjs.c (Mac_Read_POST_Resource): No need to use `0x' + prefix for `%p' formatter. + + * src/base/ftbase.c (Mac_Read_POST_Resource): Check the fragment and + total size of the concatenated POST resource before buffer + allocation. + (Mac_Read_sfnt_Resource): Check the declared size of sfnt resource + before buffer allocation. + + * src/base/ftmac.c (read_lwfn, FT_New_Face_From_SFNT): Check the + total resource size before buffer allocation. + +2015-09-19 Werner Lemberg + + [sfnt] Improve handling of invalid SFNT table entries (#45987). + + This patch fixes weaknesses in function `tt_face_load_font_dir'. + + - It incorrectly assumed that valid tables are always at the + beginning. As a consequence, some valid tables after invalid + entries (which are ignored) were never seen. + + - Duplicate table entries (this is, having the same tag) were not + rejected. + + - The number of valid tables was sometimes too large, leading to + access of invalid tables. + + * src/sfnt/ttload.c (check_table_dir): Add argument to return number + of valid tables. + Add another tracing message. + (tt_face_load_font_dir): Only allocate table array for valid + entries as returned by `check_table_dir'. + Reject duplicate tables and adjust number of valid tables + accordingly. + +2015-09-19 Werner Lemberg + + [pcf] Improve `FT_ABS' fix from 2015-09-17 (#45999). + + * src/pcf/pcfread.c (pcf_load_font): Do first the cast to FT_Short, + then take the absolute value. + Also apply FT_ABS to `height'. + +2015-09-17 Werner Lemberg + + [type42] Fix memory leak (#45989). + + * src/type42/t42parse.c (t42_parse_charstrings): Allow only a single + `CharStrings' array. + +2015-09-17 Werner Lemberg + + [psaux] Fix memory leak (#45986). + + * src/psaux/psobjs.c (ps_parser_load_field) : + Free `temp' in case of error. + +2015-09-17 Werner Lemberg + + [psaux] Improve tracing message. + + * src/psaux/psobjs.c (ps_parser_load_field) : + Handle plural correctly. + +2015-09-17 Werner Lemberg + + [pcf] Fix integer overflows (#45985). + + * src/pcf/pcfread.c (pcf_load_font): Use FT_MulDiv. + +2015-09-17 Werner Lemberg + + [pcf] Use FT_ABS for some property values (#45893). + + * src/pcf/pcfread.c (pcf_load_font): Take absolute values for + AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and + RESOLUTION_Y. In tracing mode, add warnings. + +2015-09-16 Werner Lemberg + + Minor fixes for some clang warnings. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Cast, possible missing + initialization. + + * src/truetype/ttgload.c (TT_Process_Composite_Component): Cast. + +2015-09-15 Werner Lemberg + + [type1, type42] Fix memory leaks (#45966). + + * src/type1/t1load.c (parse_blend_axis_types): Handle multiple axis + names. + (parse_blend_design_map): Allow only a single design map. + (parse_encoding): Handle multiple encoding vectors. + + * src/type42/t42parse.c (t42_parse_encoding): Handle multiple + encoding vectors. + +2015-09-15 Werner Lemberg + + [truetype] Fix integer type (#45965). + + * src/truetype/ttobjs.c (tt_synth_sfnt_checksum): Implement it. + +2015-09-15 Werner Lemberg + + * src/pcf/pcfread.c (pcf_load_font): Fix integer overflow (#45964). + +2015-09-15 Werner Lemberg + + [type1, type42] Check encoding array size (#45961). + + * src/type1/t1load.c (parse_encoding), src/type42/t42parse.c + (t42_parse_encoding): Do it. + +2015-09-14 Alexei Podtelezhnikov + + * src/base/ftcalc.c (FT_MulFix) [FT_LONG64]: Improve. + +2015-09-14 Werner Lemberg + + [type1] Fix another potential buffer overflow (#45955). + + * src/type1/t1parse (T1_Get_Private_Dict): Assure that check for + `eexec' doesn't exceed `limit'. + +2015-09-13 Werner Lemberg + + Replace `mkinstalldirs' with AC_PROG_MKDIR_P. + + * builds/unix/mkinstalldirs: Removed, no longer needed. + + * builds/unix/configure.raw: Call `AC_PROG_MKDIR_P'. + Update pwd call for `$INSTALL'. + + * builds/unix/unix-def.in (MKINSTALLDIRS): Use `@MKDIR_P@'. + + * autogen.sh: Updated. + +2015-09-13 Werner Lemberg + + [winfonts] Check alignment shift count for resource data (#45938). + + * src/winfonts/winfnt.c (fnt_face_get_dll_font): Implement it. + +2015-09-13 Werner Lemberg + + [type1] Fix potential buffer overflow (#45923). + + * src/type1/t1parse.c (T1_Get_Private_Dict): Assure `cur' doesn't + point to end of file buffer. + +2015-09-13 Werner Lemberg + + [gzip] Fix access of small compressed files (#45937). + + * src/gzip/ftgzip.c (ft_gzip_stream_close): Avoid memory leak. + + (ft_gzip_get_uncompressed_file): Correct byte order while reading + unsigned long value. Without this change, the whole optimization of + accessing small files in `FT_Stream_OpenGzip' is never executed! As + a consequence, access to PCF files in general (which are normally + small files) should be much improved now as originally intended. + +2015-09-11 Werner Lemberg + + [psaux] Fix potential buffer overflow (#45922). + + * src/psaux/psobjs.c (ps_parser_skip_PS_token): If a token is + enclosed in balanced expressions, ensure that the cursor position + doesn't get larger than the current limit. + +2015-09-11 Werner Lemberg + + [base] Avoid crash while tracing `load_mac_face'. + + Reported in Savannah bug #45919. + + * src/base/ftobjs.c (load_mac_face): Honour FT_OPEN_MEMORY while + tracing. + +2015-09-11 Werner Lemberg + + [type42] Fix endless loop (#45920). + + * src/type42/t42parse.c (t42_parse_encoding): Synchronize with + type1's `parse_encoding'. + +2015-09-10 Werner Lemberg + + [docmaker] Allow `-' in bold and italic markup. + + * src/tools/docmaker/sources.py (re_italic, re_bold): Adjust + accordingly. + +2015-09-09 Alexei Podtelezhnikov + + * src/base/ftcalc.c (FT_RoundFix): Improve. + +2015-09-09 Wojciech Mamrak + + * src/base/ftcalc.c (FT_CeilFix, FT_FloorFix): Normalize. + + This commit makes the functions behave as expected, this is, + rounding towards plus or minus infinity. + +2015-09-07 Alexei Podtelezhnikov + + * src/smooth/ftgrays.c (gray_render_line): Simplify clipping. + +2015-09-04 Alexei Podtelezhnikov + + [raster,smooth] Microoptimizations. + + * src/raster/ftraster.c (Insert_Y_Turn, Finalize_Profile_Table, + Beziier_Up, ): Use do-while loops. + + * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line, + gray_convert_glyph): Ditto. + +2015-09-04 Werner Lemberg + + [autofit] Redesign code ranges (2/2). + + This commit adds two fallback scripts (`latb', `latp') and + implements support for the no-base character ranges introduced in + the previous commit. + + * src/autofit/aftypes.h (AF_ScriptClassRec): Add + `script_uni_nobase_ranges' field. + (AF_DEFINE_SCRIPT_CLASS): Updated. + + * src/autofit/afscript.h, src/autofit/afstyles.h: Add `latb' and + `latp' fallback scripts. + + * src/autofit/afblue.dat: Add blue zones for Latin subscript and + superscript fallback scripts. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afglobal.h (AF_NOBASE): New style flag for no-base + characters. + (AF_STYLE_MASK): Updated. + + * src/autofit/afglobal.c (SCRIPT): Updated. + (af_face_globals_compute_style_coverage): Handle new style flag. + + * src/autofit/aflatin.c (af_latin_hints_apply): Handle new style + flag. + + * src/autofit/afranges.h (SCRIPT): Use it to export no-base ranges. + +2015-09-04 Werner Lemberg + + [autofit] Redesign code ranges (1/2). + + This patch introduces auxiliary code ranges that identify no-base + characters; they refer to glyphs of a script that should be hinted + without alignments to blue zones (mostly diacritics). + + It also splits off ranges for fallback scripts that handle subscript + and superscript characters not covered by OpenType features. For + example, this greatly helps improve the hinting of various phonetic + alphabets, which contain a large amount characters that look like + superscript glyphs. + + Finally, code ranges are updated to Unicode 8.0, and enclosed + characters are removed in general since they normally look better if + they stay unhinted. + + * src/autofit/afranges.c (af_latn_uniranges): Updated to Unicode + 8.0. + Split off superscript-like and subscript-like glyphs into... + + (af_latb_uniranges, af_latp_uniranges): ... these two new arrays. + + (af_xxxx_nobase_uniranges): New arrays that hold no-base characters + of the corresponding character ranges. + +2015-09-03 Werner Lemberg + + [autofit] Pass glyph index to hinting function. + + No functionality change yet. + + * src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Pass + glyph index. + + * src/autofit/afcjk.c, src/autofit/afcjk.h (af_cjk_hints_apply), + src/autofit/afdummy.c (af_dummy_hints_apply), src/autofit/afindic.c + (af_indic_hints_apply), src/autofit/aflatin.c + (af_latin_hints_apply), src/autofit/aflatin2.c + (af_latin2_hints_apply), src/autofit/afloader.c (af_loader_load_g): + Updated. + +2015-08-30 Werner Lemberg + + [autofit] Code clean-up. + + * src/autofit/afglobal.h (AF_STYLE_MASK): New macro. + (AF_STYLE_UNASSIGNED): Use AF_STYLE_MASK for definition. + + * src/autofit/afglobal.c (af_face_globals_compute_style_coverage): + Updated. + +2015-08-30 Werner Lemberg + + [autofit] Make glyph style array use 16bit values. + + * include/freetype/ftautoh.h (FT_Prop_GlyphToScriptMap): Use + `FT_UShort' for `map' field. + + * src/autofit/afglobal.c (af_face_globals_compute_style_coverage, + af_face_globals_new), src/autofit/hbshim.c, src/autofit/hbshim.h + (af_get_coverage): Use FT_UShort for `glyph_styles' array. + + * src/autofit/afglobal.h (AF_STYLE_UNASSIGNED, AF_DIGIT): Extend to + 16 bits. + (AF_FaceGlobalsRec): Use `FT_UShort' for `glyph_styles' field. + +2015-08-26 Werner Lemberg + + * builds/unix/configure.raw: Need harfbuzz >= 0.9.21 (#45828). + +2015-08-25 Werner Lemberg + + [base] Improve kerning tracing and documentation. + + * src/base/ftobjs.c (FT_Get_Kerning): Emit tracing message if + scaled-down kerning values differ. + +2015-08-18 Werner Lemberg + + [raster] Remove last remnants of `raster5' driver. + + * src/raster/ftrend1.h (ft_raster5_renderer_class): Removed. + + * src/raster/rastpic.c, src/raster/rastpic.h + (ft_raster5_renderer_class_pic_init, + ft_raster5_renderer_class_pic_free): Removed. + +2015-08-17 Alexei Podtelezhnikov + + [base] Improve emboldener (#45596). + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Correct displacement + of zero-lenght segments. + +2015-08-16 Alexei Podtelezhnikov + + [base] Reoptimize arithmetic. + + * src/base/ftcalc.c (FT_MulDiv, FT_MulFix) [!FT_LONG64]: Remove + special cases that slow down the general use. + +2015-08-15 pazer + + Fix C++ compilation (#45762). + + * src/base/ftstroke.c (ft_outline_glyph_class): Use + FT_CALLBACK_TABLE. + +2015-08-14 Alexei Podtelezhnikov + + [truetype] Clean up. + + * src/truetype/ttgload.c (TT_Process_Composite_Component): Use + `FT_Outline_Transform' and `FT_Outline_Translate'. + (translate_array): Dropped. + +2015-08-14 Andreas Enge + + * builds/unix/detect.mk (CONFIG_SHELL): Don't handle it (#44261). + +2015-08-13 Werner Lemberg + + [truetype] Introduce named instance access to GX fonts. + + For functions querying a face, bits 16-30 of the face index can hold + the named instance index if we have a GX font. The indices start + with value 1; value 0 indicates font access without GX variation + data. + + * include/freetype/freetype.h (FT_FaceRec): Update documentation. + * include/freetype/internal/sfnt.h: Ditto. + + * src/sfnt/sfobjs.c (sfnt_init_face) + [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Get number of named instances and + do argument checks. + (sfnt_load_face): Updated. + + * src/truetype/ttobjs.c (tt_face_init) + [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Use named instance, overwriting + the style name. + + * src/base/ftobjs.c (open_face_from_buffer, + open_face_PS_from_sfnt_stream): Updated. + * src/bdf/bdfdrivr.c (BDF_Face_Init): Updated. + * src/cff/cffload.c (cff_font_load): Updated. + + * src/cff/cffobjs.c (cff_face_init): Make function exit early for + pure CFF fonts if `font_index < 0'. + Updated. + + * src/cid/cidobjs.c (cid_face_init): Updated. + * src/pcf/pcfdrivr.c (PCF_Face_Init): Updated. + * src/pfr/pfrobjs.c (pfr_face_init): Updated. + * src/type1/t1objs.c (T1_Face_Init): Updated. + * src/type42/t42objs.c (T42_Face_Init): Updated. + * src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init): + Updated. + + * docs/CHANGES: Updated. + +2015-08-12 Alexei Podtelezhnikov + + [type1,cff,cid] Streamline font matrix application. + + * src/type1/t1gload.c (T1_Load_Glyph): Directly modify advances only + if font matrix is not trivial. + * src/cff/cffgload.c (cff_slot_load): Ditto. + * sff/cid/cidgload.c (cid_slot_load_glyph): Ditto for advances and the + entire outline. + +2015-08-11 Werner Lemberg + + [builds/unix] Minor. + + * builds/unix/configure.raw: + s/lib{priv,staticconf}/libs{priv,staticconf}/ for orthogonality with + similarly named uppercase variables. + +2015-08-10 Alexei Podtelezhnikov + + [type1,cid,type42] Minor improvements. + + * src/type1/t1load.c (t1_parse_font_matrix): Scale units per EM only + when necessary. Refresh comments. + * src/cid/cidload.c (cid_parse_font_matrix): Ditto. + * src/type42/t42parse.c (t42_parse_font_matrix): Refresh comments. + +2015-08-08 Werner Lemberg + + [type42] Fix glyph access. + + This is a severe bug: We've missed one level of indirection, as + described in the Type 42 specification. As a result, ftview + sometimes showed incorrect glyphs for given glyph names, and even + displayed `error 0x0006' (invalid argument!) in case the number of + glyph indices differed between the Type 42 font and the embedded + TTF. + + Apparently, noone ever noticed it; this shows how much Type 42 fonts + are in use... + + * src/type42/t42objs.c (T42_GlyphSlot_Load): Map Type 42 glyph index + to embedded TTF's glyph index. + +2015-08-08 Werner Lemberg + + [type42] Minor clean-up. + + * src/type42/t42parse.c (t42_parse_font_matrix): Remove unused + variable. + +2015-08-06 Alexei Podtelezhnikov + + [type42] Parse FontMatrix according to specifications. + + * src/type42/t42parse.c (t42_parse_font_matrix): Type 42 FontMatrix + does not need scaling by 1000. Units_per_EM are taken from the + embedded TrueType. + +2015-08-06 Werner Lemberg + + [autofit] Improve Arabic hinting. + + Problem reported by Titus Nemeth (by using + ttfautohint). + + * src/autofit/afblue.dat: Add neutral blue zone for the tatweel + character. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + +2015-08-05 Alexei Podtelezhnikov + + [truetype] Clean up types. + + * src/truetype/ttobjs.c (TT_Size): Move declaration from here. + * include/freetype/internal/tttypes.h (TT_Size): ... to here. + (TT_LoaderRec): Switch to appropriate types for `face' and `size'. + * src/truetype/ttgload.c: Remove corresponding type casts. + * src/truetype/ttsubpix.c: Ditto. + +2015-08-05 Werner Lemberg + + [autofit] Improve recognition of flat vs. rounded segments. + + Lower the flatness threshold from upem/8 to upem/14, making the + auto-hinter accept shorter elements. + + Synchronize flat/round stem selection algorithm with blue zone code. + + * src/autofit/aflatin.c (FLAT_THRESHOLD): New macro. + (af_latin_metrics_init_blues): Use it. + (af_latin_hints_compute_segments): Collect information on maximum + and minimum coordinates of `on' points; use this to add a constraint + for the flat/round decision similar to + `af_latin_metrics_init_blues'. + +2015-08-04 Werner Lemberg + + Another left-shift bug (#45681). + + * src/base/ftobjs.c (IsMacBinary): Only accept positive values for + `dlen'. + +2015-08-03 Alexei Podtelezhnikov + + [base] Fix `ft_corner_orientation'. + + Remove casting from `FT_Long' to `FT_Int' that might change the sign + of the return value and make it faster too. + + * src/base/ftcalc.c (ft_corner_orientation): On 32-bit systems, stay + with 32-bit arithmetic when safe. Use plain math on 64-bit systems. + * src/pshinter/pshalgo.c: Remove old unused code. + +2015-08-03 Werner Lemberg + + * src/truetype/ttgload.c (load_truetype_glyph) + [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix crash for composite glyphs + having a depth greater than 1. + +2015-08-03 Werner Lemberg + + Fix typo in clang bug from 2015-07-31 (#45678). + + * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Fix inequality. + +2015-08-02 Werner Lemberg + + * CMakeLists.txt: Improve shared library support. + + Based on a patch from John Cary . + +2015-08-02 Werner Lemberg + + * builds/unix/freetype-config.in (enable_shared): Remove. Unused. + +2015-08-02 Werner Lemberg + + Fix more invalid left-shifts. + + * src/pfr/pfrgload.c (pfr_glyph_load_compound): Use multiplication, + not left-shift. + + * src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar, + tt_face_vary_cvt, TT_Vary_Apply_Glyph_Deltas): Use multiplication, + not left-shift. + +2015-07-31 Werner Lemberg + + Fix some bugs found by clang's `-fsanitize=undefined' (#45661). + + * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Only accept + positive values from header. + Check overflow. + + * src/base/ftoutln.c (SCALED): Correctly handle left-shift of + negative values. + + * src/bdf/bdf.h (_bdf_glyph_modified, _bdf_set_glyph_modified, + _bdf_clear_glyph_modified): Use unsigned long constant. + + * src/bdf/bdfdrivr.c (BDF_Size_Select, BDF_Glyph_Load): Don't + left-shift values that can be negative. + + * src/pcf/pcfdrivr.c (PCF_Size_Select, PCF_Glyph_Load): Don't + left-shift values that can be negative. + + * src/raster/ftraster.c (SCALED): Correctly handle left-shift of + negative values. + + * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Don't left-shift + values that can be negative. + + * src/truetype/ttgload.c (TT_Load_Composite_Glyph, + compute_glyph_metrics, load_sbit_image): Don't left-shift values + that can be negative. + +2015-07-31 Werner Lemberg + + Define FT_LONG_MAX. + + * include/freetype/config/ftstdlib.h (FT_LONG_MAX): New macro. + * src/cff/cf2arrst.c (cf2_arrstack_setNumElements): Use it. + +2015-07-28 Alexei Podtelezhnikov + + * src/base/ftcalc.c (FT_Vector_NormLen): Clarify. + +2015-07-27 Alexei Podtelezhnikov + + * src/base/ftcalc.c (FT_Vector_NormLen): Explicate type conversions. + +2015-07-26 Matthias Clasen + + [cff] Don't use `hmtx' table for LSB (#45520). + + * src/cff/cffgload.c (cff_slot_load): Use `htmx' table for advance + width only. Bug introduced 2015-04-10. + +2015-07-09 Werner Lemberg + + Better support of user-supplied C++ namespaces. + + See + + http://lists.nongnu.org/archive/html/freetype-devel/2015-07/msg00008.html + + for a rationale. + + * src/autofit/afpic.h, src/base/basepic.h, src/cff/cffpic.h, + src/pshinter/pshpic.h, src/psnames/pspic.h, src/raster/rastpic.h, + src/sfnt/sfntpic.h, src/smooth/ftspic.h, src/truetype/ttpic.h + (FT_BEGIN_HEADER, FT_END_HEADER): Move macro calls to not enclose + header files that contain FT_{BEGIN,END}_HEADER macros by + themselves. + + * src/autofit/aftypes.h [FT_DEBUG_AUTOFIT]: Include + FT_CONFIG_STANDARD_LIBRARY_H earlier. + + * src/truetype/ttpic.h: Include FT_INTERNL_PIC_H. + +2015-07-07 Werner Lemberg + + [sfnt] Make `tt_face_get_name' member of the SFNT interface. + + * include/freetype/internal/sfnt.h (TT_Get_Name_Func): New + prototype. + (SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): New member `get_name'. + + * src/sfnt/sfdriver.c (sfnt_interface): Updated. + + * src/sfnt/sfobjs.c (tt_face_get_name): Tag it with `LOCAL_DEF'. + * src/sfnt/sfobjs.h: Add prototype for it. + +2015-06-30 Werner Lemberg + + Fix some clang compiler warnings. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY), src/cff/cf2intrp.c + (cf2_interpT2CharString), src/truetype/ttgload.c + (load_truetype_glyph), src/truetype/ttgxvar.c (tt_handle_deltas), + src/truetype/ttinterp.c (Ins_INSTCTRL): Fix signedness issues. + +2015-06-29 Alexei Podtelezhnikov + + [truetype] Speed up bytecode interpreter. + + * src/truetype/ttinterp.c (Normalize): Use `FT_Vector_NormLen'. + +2015-06-29 Alexei Podtelezhnikov + + [base] Speed up emboldening. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use + `FT_Vector_NormLen'. + +2015-06-29 Alexei Podtelezhnikov + + [base] Implement fast vector normalization. + + The function uses Newton's iterations instead of dividing vector + components by its length, which needs a square root. This is, + literally, a bit less accurate but a lot faster. + + * src/base/ftcalc.c (FT_Vector_NormLen): New function. + +2015-06-28 Werner Lemberg + + * CMakeLists.txt: Always create `ftconfig.h'. + + For non-UNIX builds, the file stays unmodified. However, it's + better to have the main configuration files at the same place + regardless of the OS. + +2015-06-28 Werner Lemberg + + * CMakeLists.txt: Improve MSVC support (#43737). + +2015-06-28 Werner Lemberg + + [cmake] Check for libraries and create `ftoption.h'. + + * builds/FindHarfBuzz.cmake: New file, taken from + + https://trac.webkit.org/browser/trunk/Source/cmake/FindHarfBuzz.cmake + + * CMakeLists.Txt: Add path to local cmake modules. + Find dependencies for zlib, bzip2, libpng, and harfbuzz. + Create `ftoption.h' file. + Set up include and linker stuff for libraries. + +2015-06-28 Werner Lemberg + + * CMakeLists.txt: Fix creation of `ftconfig.h'. + Check for UNIX header files using `check_include_file'. + Set up correct header include directories. + +2015-06-28 Werner Lemberg + + * CMakeLists.txt: Disallow in-source builds. + +2015-06-27 Werner Lemberg + + * src/tools/docmaker/utils.py (check_output): Add missing `\n'. + +2015-06-26 Werner Lemberg + + * CMakeLists.txt: Select platform-dependent `ftdebug.c'. + +2015-06-25 Werner Lemberg + + * CMakeLists.txt: Use cmake functions for generating `ftconfig.h'. + Additionally, do this for UNIX only. + +2015-06-25 Werner Lemberg + + * CMakeLists.txt (BASE_SRCS): Use `ftbase.c' and `psnames.c'. + +2015-06-25 Werner Lemberg + + Another adjustment to header locations. + + This change is a result of a discussion thread on freetype-devel + + http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html + + Re-introduce the `freetype2' subdirectory for all FreeType header + files after installation, and rename the `freetype2' subdirectory in + the git repository to `freetype'. + + * include/freetype2: Renamed to... + * include/freetype: This. + + * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS, + PRIVATE_HEADERS): Updated. + Update creation of `ftconfig.h'. + Install generated `ftconfig.h'. + + * Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated. + + * builds/amiga/include/config/ftconfig.h, builds/freetype.mk + (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work), + builds/unix/freetype2.in: Updated. + + * builds/unix/freetype-config.in: Updated. + * builds/unix/configure.raw: Don't check for `rmdir'. + * builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable + according to the autoconf info manual. + * builds/unix/install.mk (install, uninstall, + distclean_project_unix): Update and simplify. + + * builds/wince/*, builds/windows/*: Updated. + + * devel/ft2build.h, include/ft2build.h: Updated. + + * include/freetype2/config/ftheader.h, + include/freetype2/internal/ftserv.h, + include/freetype2/internal/internal.h: Update all header file + macros. + + * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated. + + * docs/*: Updated. + +2015-06-24 Alexei Podtelezhnikov + + * src/bdf/bdflib.c (_bdf_parse_start): Disallow 0 bpp. + +2015-06-24 Alexei Podtelezhnikov + + * src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing. + +2015-06-23 Werner Lemberg + + s/TYPEOF/FT_TYPEOF/ (#45376). + + * builds/unix/ftconfig.in, builds/vms/ftconfig.in, + include/freetype2/config/ftconfig.h, + include/freetype2/internal/ftobjs.h, src/autofit/afwarp.h: Do it. + +2015-06-22 Werner Lemberg + + Fix Savannah bug #45097. + + We no longer `pollute' the namespace of possible header file names; + instead we move `ft2build.h' up by one level so that it gets + installed in the default include directory (e.g., + /usr/local/include). After this commit, only `ft2build.h' stays in + the compiler's include path. + + No visible changes for the user who follows the standard FreeType + header inclusion rules. + + * include/*: Move to ... + * include/freetype2/*: This directory, except `ft2build.h'. + + * CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS, + PRIVATE_HEADERS), Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated. + + * builds/amiga/include/config/ftconfig.h, builds/freetype.mk + (PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work), + builds/unix/install.mk (install, uninstall), + builds/unix/freetype2.in: Updated. + + * builds/unix/freetype-config.in: Updated. + Emit -I directory only if it is not `/usr/include'. + + * builds/wince/*, builds/windows/*: Updated. + + * devel/ft2build.h, include/ft2build.h: Updated. + + * include/freetype2/config/ftheader.h, + include/freetype2/internal/ftserv.h, + include/freetype2/internal/internal.h: Update all header file + macros. + + * src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated. + +2015-06-21 Werner Lemberg + + Make Jam support work again. + + This is just very basic stuff and just a little bit tested on + GNU/Linux only. I won't delve into this since I'm not a Jam user. + + * Jamfile: Call `HDRMACRO' for `ftserv.h' also. + (DEFINES): Replace with... + (CCFLAGS): ... this. + + * src/Jamfile: Don't call `HDRMACRO' for `internal.h'; this is + already handled in the top-level Jamfile. + + * src/autofit/Jamfile (DEFINES): Replace with... + (CCFLAGS): ... this. + (_sources): Add missing files. + + * src/cache/Jamfile: Don't call `HDRMACRO' for `ftcache.h'; it no + longer contains macro header definitions. + + * src/base/Jamfile, src/cff/Jamfile, src/sfnt/Jamfile, + src/truetype/Jamfile (_sources): Add missing files. + +2015-06-16 Werner Lemberg + + Fix Savannah bug #45326. + + * src/sfnt/sfntpic.h (SFNT_SERVICES_GET): Remove duplicate + definitions. + +2015-06-07 Werner Lemberg + + * Version 2.6 released. + ======================= + + + Tag sources with `VER-2-6'. + + * docs/VERSION.DLL: Update documentation and bump version number to + 2.6. + + * 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.5/2.6/, s/255/26/. + + * include/freetype/freetype.h (FREETYPE_MINOR): Set to 6. + (FREETYPE_PATCH): Set to 0. + + * builds/unix/configure.raw (version_info): Set to 18:0:12. + * CMakeLists.txt (VERSION_MINOR): Set to 6. + (VERSION_PATCH): Set to 0. + + * src/autofit/afmodule.c [!FT_MAKE_OPTION_SINGLE_OBJECT]: Add + declarations for dumping functions. + + * src/truetype/ttinterp.c (TT_New_Context): Pacify compiler. + + * builds/toplevel.mk: Use `freetype.mk's code to compute the version + string. + Don't include a zero patch level in version string. + * builds/freetype.mk: Remove code for computing the version string. + +2015-06-06 Ashish Azad + + Fix Savannah bug #45260. + + * src/pfr/pfrdrivr.c (pfr_get_kerning): Fix typo. + +2015-06-03 Werner Lemberg + + [truetype] Fix memory leak. + + Problem reported by Grissiom ; in + + http://lists.nongnu.org/archive/html/freetype/2015-05/msg00013.html + + there is an example code to trigger the bug. + + * src/truetype/ttobjs.c (tt_size_init_bytecode): Free old `size' + data before allocating again. Bug most probably introduced four + years ago in version 2.4.3. + +2015-06-02 Werner Lemberg + + [raster] Add more tracing. + + * src/raster/ftraster.c (FT_TRACE7) [_STANDALONE_]: Define. + (Vertical_Sweep_Span, Vertical_Sweep_Drop, Horizontal_Sweep_Span, + Horizontal_Sweep_Drop, Render_Glyph): Add tracing calls. + +2015-06-01 Werner Lemberg + + [truetype] While tracing opcodes, show code position and stack. + + * src/truetype/ttinterp.c: Change all existing TRACE7 calls to + TRACE6. + (opcode_name): Add string lengths. + (TT_RunIns): Implement display of code position and stack. + +2015-05-31 Werner Lemberg + + [truetype] In GX, make private point numbers work correctly. + + This is completely missing in Apple's documentation: If a `gvar' + tuple uses private point numbers (this is, deltas are specified for + some points only), the uncovered points must be interpolated for + this tuple similar to the IUP bytecode instruction. Examples that + need this functionality are glyphs `Oslash' and `Q' in Skia.ttf. + + * src/truetype/ttgxvar.c (tt_delta_shift, tt_delta_interpolate, + tt_handle_deltas): New functions. + (TT_Vary_Get_Glyph_Deltas): Renamed to... + (TT_Vary_Apply_Glyph_Deltas): ... this; it directly processes the + points and does no longer return an array of deltas. + Add tracing information. + Call `tt_handle_deltas' to interpolate missing deltas. + Also fix a minor memory leak in case of error. + + * src/truetype/ttgxvar.h: Updated. + + * src/truetype/ttgload.c (TT_Process_Simple_Glyph, + load_truetype_glyph): Updated. + +2015-05-31 Werner Lemberg + + [truetype] In GX, make intermediate tuplets work at extrema. + + * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix range condition. + +2015-05-31 Werner Lemberg + + [truetype] Add tracing information to GX code. + + * src/truetype/ttgxvar.c (ft_var_load_avar, ft_var_load_gvar, + ft_var_apply_tuple, TT_Get_MM_Var, TT_Set_MM_Blend, + TT_Set_Var_Design, tt_face_vary_cvt): Do it. + +2015-05-28 Werner Lemberg + + * src/tools/apinames.c (names_dump): Fix invalid reference. + + Problem reported by Guzman Mosqueda, Jose R + . + +2015-05-24 Werner Lemberg + + [truetype] Fix commit from 2015-05-22. + + * src/truetype/ttgload.c, src/truetype/ttinterp.c: Guard new code + with `TT_CONFIG_OPTION_SUBPIXEL_HINTING'. + + Problem reported by Nikolaus Waxweiler . + +2015-05-23 Werner Lemberg + + [truetype] Fix return values of GETINFO bytecode instruction. + + * src/truetype/ttinterp.h (TT_ExecContextRec): New fields + `vertical_lcd' and `gray_cleartype'. + + * src/truetype/ttgload.c (tt_loader_init): Initialize new fields. + Change `symmetrical smoothing' to TRUE, since FreeType produces + exactly this. + + * src/truetype/ttinterp.c (Ins_GETINFO): Fix selector/return bit + values for symmetrical smoothing, namely 11/18. + Handle bits for vertical LCD subpixels (8/15) and Gray ClearType + (12/19). + +2015-05-23 Werner Lemberg + + [truetype] Minor. + + * src/truetype/ttinterp.h (TT_ExecContext): + s/subpixel/subpixel_hinting. + + * src/truetype/ttgload.c, src/truetype/ttgload.h: Updated. + +2015-05-22 Werner Lemberg + + [truetype] Support selector index 3 of the INSTCTRL instruction. + + This flag activates `native ClearType hinting', disabling backwards + compatibility mode as described in Greg Hitchcocks whitepaper. In + other words, it enables unrestricted functionality of all TrueType + instructions in ClearType. + + * src/truetype/ttgload.c (tt_get_metrics): Call `sph_set_tweaks' + unconditionally. + (tt_loader_init): Unset `ignore_x_mode' flag if bit 2 of + `GS.instruct_control' is active. + + * src/truetype/ttinterp.c (Ins_INSTCTRL): Handle selector index 3. + (Ins_GETINFO): Updated. + + * docs/CHANGES: Document it. + +2015-05-20 Werner Lemberg + + [truetype] Minor. + + * src/truetype/ttinterp.h (SetSuperRound): Fix type of `GridPeriod' + argument. + +2015-05-17 Werner Lemberg + + [truetype] Fix loading of composite glyphs. + + * src/truetype/ttgload.c (TT_Load_Composite_Glyph): If the + ARGS_ARE_XY_VALUES flag is not set, handle argument values as + unsigned. I trust `ttx' (which has exactly such code) that it does + the right thing here... + + The reason that noone has ever noticed this bug is probably the fact + that point-aligned subglyphs are rare, as are subglyphs with a + number of points in the range [128;255], which is quite large (or + even in the range [32768;65535], which is extremely unlikely). + +2015-05-12 Chris Liddell + + [cff] Make the `*curveto' operators more tolerant. + + * src/cff/cf2intrp.c (cf2_interpT2CharString): The opcodes + `vvcurveto', `hhcurveto', `vhcurveto', and `hvcurveto' all iterate, + pulling values off the stack until the stack is exhausted. + Implicitly the stack must be a multiple (or for subtly different + behaviour) a multiple plus a specific number of extra values deep. + If that's not the case, enforce it (as the old code did). + +2015-05-12 Chris Liddell + + [cff] fix incremental interface with new cff code. + + * src/cff/cf2ft.c (cf2_getSeacComponent): When using the incremental + interface to retrieve glyph data for a SEAC, it be left to the + incremental interface callback to apply the encoding to raw + character index (as it was in the previous code). + +2015-04-29 Alexei Podtelezhnikov + + [autofit] Speed up IUP. + + * src/autofit/afhints.c (af_iup_interp): Separate trivial snapping to + the same position from true interpolation, use `scale' to reduce + divisions. + +2015-04-28 Werner Lemberg + + [cff] Use `name' table for PS name if we have a SFNT-CFF. + + This follows the OpenType 1.7 specification. See + + http://tug.org/pipermail/tex-live/2015-April/036634.html + + for a discussion. + + * src/cff/cffdrivr.c (cff_get_ps_name): Use the `sfnt' service if we + have an SFNT. + +2015-04-27 Alexei Podtelezhnikov + + [truetype] Speed up IUP. + + * src/truetype/ttinterp.c (_iup_worker_interpolate): Separate trivial + snapping to the same position from true interpolation. + +2015-04-21 Werner Lemberg + + [autofit] By default, enable warping code but switch off warping. + + Suggested by Behdad. + + * include/config/ftoption.h: Define AF_CONFIG_OPTION_USE_WARPER. + + * src/autofit/afmodule.c (af_autofitter_init): Initialize `warping' + with `false'. + +2015-04-21 Werner Lemberg + + * docs/CHANGES: Updated. + +2015-04-21 Werner Lemberg + + [autofit] Introduce `warping' property. + + This code replaces the debugging hook from the previous commit with + a better, more generic solution. + + * include/ftautoh.h: Document it. + + * src/autofit/afmodule.h (AF_ModuleRec) + [AF_CONFIG_OPTION_USE_WARPER]: Add `warping' field. + + * src/autofit/afmodule.c (_af_debug_disable_warper): Remove. + (af_property_set, af_property_get, af_autofitter_init) + [AF_CONFIG_OPTION_USE_WARPER]: Handle `warping' option. + + * src/autofit/afhints.h (AF_HINTS_DO_WARP): Remove use of the no + longer existing `_af_debug_disable_warper'. + + * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c + (af_latin_hints_init), src/autofit/aflatin2.c (af_latin2_hints_init) + [AF_CONFIG_OPTION_USE_WARPER]: Add `AF_SCALER_FLAG_NO_WARPER' to the + scaler flags if warping is off. + + * src/autofit/aftypes.h: Updated. + +2015-04-16 Werner Lemberg + + [autofit] Add debugging hook to disable warper. + + * src/autofit/afmodule.c (_af_debug_disable_warper) + [FT_DEBUG_AUTOFIT]: New global variable. + + * src/autofit/aftypes.h: Updated. + (AF_SCALER_FLAG_NO_WARPER): New macro (not actively used yet). + + * src/autofit/afhints.h (AF_HINTS_DO_WARP): New macro. + + * src/autofi/aflatin.c (af_latin_hints_apply) + [AF_CONFIG_OPTION_USE_WARPER]: Use `AF_HINTS_DO_WARP' to control use + of warper. + + * src/autofit/afcjk.c (af_cjk_hints_init, af_cjk_hints_apply) + [AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'. + + * src/autofit/aflatin2.c (af_latin2_hints_apply) + [AF_CONFIG_OPTION_USE_WARPER]: Synchronize with `aflatin.c'. + +2015-04-10 Werner Lemberg + + [cff] Update advance width handling to OpenType 1.7. + + Problem reported by Behdad. + + * src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case + separately. + + * src/cff/cffgload.c (cff_slot_load): Use advance width and side + bearing values from `hmtx' table if present. + +2015-04-03 Alexei Podtelezhnikov + + * src/autofit/afhints.c (af_glyph_hints_reload): Use do-while loop. + +2015-04-02 Alexei Podtelezhnikov + + * src/autofit/aflatin.c (af_latin_hint_edges): Reduce logic. + +2015-04-01 Alexei Podtelezhnikov + + [autofit] Finish the thought. + + * src/autofit/afhints.c (af_direction_compute): make sure the long arm + is never negative so that its `FT_ABS' is not necessary. + +2015-04-01 Werner Lemberg + + [autofit] Call dumper functions for tracing. + + * src/autofit/afcjk.c (af_cjk_hints_apply): Remove dead code. + * src/autofit/afhints.c (af_glyph_hints_dump_points): Minor + improvement. + * src/autofit/afmodule.c (af_autofitter_load_glyph): Implement it. + +2015-04-01 Werner Lemberg + + [autofit] Make debugging stuff work again. + + The interface to ftgrid was broken in the series of commits starting + with + + [autofit] Allocate AF_Loader on the stack instead of AF_Module. + + from 2015-01-14. + + * src/autofit/afmodule.c (_af_debug_hints_rec) [FT_DEBUG_AUTOFIT]: + Use a global AF_GlyphHintsRec object for debugging. + (af_autofitter_done, af_autofitter_load_glyph): Updated. + + * src/autofit/afloader.c (af_loader_init, af_loader_done): Updated. + +2015-04-01 Werner Lemberg + + * src/autofit/afhints.c (af_glyph_hints_done): Fix minor thinko. + +2015-03-29 Werner Lemberg + + [cff] Fix Savannah bug #44629. + + * src/cff/cf2font.h (CF2_MAX_SUBR), src/cff/cffgload.h + (CFF_MAX_SUBRS_CALLS): Set to 16. + +2015-03-29 Werner Lemberg + + [type1, truetype] Make the MM API more flexible w.r.t. `num_coords'. + + This commit allows `num_coords' to be larger or smaller than the + number of available axes while selecting a design instance, either + ignoring excess data or using defaults if data is missing. + + * src/truetype/ttgxvar.c (TT_Set_MM_Blend, TT_Set_Var_Design): + Implement it. + + * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design, + T1_Set_Var_Design): Ditto. + +2015-03-29 Werner Lemberg + + [type1] Minor. + + * src/type1/t1load.c (T1_Set_MM_Blend, T1_Set_MM_Design): Use + FT_THROW. + (T1_Set_Var_Design): Use T1_MAX_MM_AXIS and FT_THROW. + +2015-03-27 Werner Lemberg + + [cff] Trace charstring nesting levels. + + * src/cff/cf2intrp.c (cf2_interpT2CharString) : Implement it. + + * src/cff/cffgload.c (cff_decoder_parse_charstrings) + : Ditto. + +2015-03-21 Alexei Podtelezhnikov + + [base] Optimize `FT_Angle_Diff'. + + Under normal circumstances we are usually close to the desired range + of angle values, so that the remainder is not really necessary. + + * src/base/fttrigon.c (FT_Angle_Diff): Use loops instead of remainder. + + * src/autofit/aftypes.h (AF_ANGLE_DIFF): Ditto in the unused macro. + +2015-03-21 Werner Lemberg + + [truetype] Improve `gvar' handling. + + * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Correctly handle + single-element runs. Cf. glyph `Q' in Skia.ttf with weights larger + than the default. + +2015-03-20 Alexei Podtelezhnikov + + * src/base/fttrigon.c (FT_Vector_Rotate): Minor refactoring. + +2015-03-17 Alexei Podtelezhnikov + + Fix Savannah bug #44412 (part 2). + + * src/base/fttrigon.c (FT_Sin, FT_Cos, FT_Tan): Call `FT_Vector_Unit'. + +2015-03-11 Werner Lemberg + + [autofit] Add support for Arabic script. + + Thanks to Titus Nemeth for guidance! + + * src/autofit/afblue.dat: Add blue zone data for Arabic. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afscript.h: Add Arabic standard characters. + + * src/autofit/afranges.c: Add Arabic data. + + * src/autofit/afstyles.h: Add Arabic data. + + * docs/CHANGES: Document it. + +2015-03-11 Werner Lemberg + + Rename `svxf86nm.h' to `svfntfmt.h'; update related symbols. + + * include/internal/ftserv.h (FT_SERVICE_XFREE86_NAME_H): Renamed + to... + (FT_SERVICE_FONT_FORMAT_H): This. + + * include/internal/services/svfntfmt.h (FT_XF86_FORMAT_*): Renamed + to ... + (FT_FONT_FORMAT_*): This. + + src/base/ftfntfmt.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c, + src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, + src/truetype/ttdriver.c, src/type1/t1driver.c, + src/type42/t42drivr.c, src/winfonts/winfnt.c: Updated. + +2015-03-11 Werner Lemberg + + [base] Rename `FT_XFREE86_H' to `FT_FONT_FORMATS_H'. + + * include/config/ftheader.h: Implement it. + * src/base/ftfntfmt.c, docs/CHANGES: Updated. + +2015-03-11 Werner Lemberg + + [base] Rename `FT_Get_X11_Font_Format' to `FT_Get_Font_Format'. + + * include/ftfntfmt.h, src/base/ftfntfmt.c: Implement it. + + * docs/CHANGES: Updated. + +2015-03-11 Werner Lemberg + + Fix automatic copyright updating. + + * src/tools/update-copyright: Make scanning of `no-copyright' + actually work. + + * src/tools/no-copyright: Don't include README in general. + +2015-03-11 Werner Lemberg + + Rename `ftxf86.[ch]' to `ftfntfmt.[ch]'. + + CMakeLists.txt, builds/amiga/makefile, builds/amiga/makefile.os4, + builds/amiga/smakefile, builds/mac/FreeType.m68k_cfm.make.txt, + builds/mac/FreeType.m68k_far.make.txt, + builds/mac/FreeType.ppc_carbon.make.txt, + builds/mac/FreeType.ppc_classic.make.txt, builds/symbian/bld.inf, + builds/symbian/freetype.mmp, builds/wince/vc2005-ce/freetype.vcproj, + builds/wince/vc2008-ce/freetype.vcproj, + builds/windows/vc2005/freetype.vcproj, + builds/windows/vc2008/freetype.vcproj, + builds/windows/vc2010/freetype.vcxproj, + builds/windows/vc2010/freetype.vcxproj.filters, + builds/windows/visualc/freetype.dsp, + builds/windows/visualc/freetype.vcproj, + builds/windows/visualce/freetype.dsp, + builds/windows/visualce/freetype.vcproj, docs/INSTALL.ANY, + include/config/ftheader.h, include/ftfntfmt.h, modules.cfg, + src/base/ftfntfmt.c, vms_make.com: Updated. + +2015-03-10 Alexei Podtelezhnikov + + Fix Savannah bug #44412 (part 1). + + * src/base/ftstroke.c (ft_stroker_inside): Handle near U-turns. + +2015-03-10 Werner Lemberg + + [base] Rename `FT_Bitmap_New' to `FT_Bitmap_Init'. + + * include/ftbitmap.h, src/base/ftbitmap.c: Implement it. + Update all callers. + + * docs/CHANGES: Updated. + +2015-03-06 Werner Lemberg + + * src/sfnt/ttload.c (tt_face_load_font_dir): Fix compiler warning. + + Found by Alexei. + +2015-03-05 Alexei Podtelezhnikov + + * src/base/ftstroke.c: Simplify. + +2015-03-04 Werner Lemberg + + [truetype] Some fixes and code refactoring in `ttgxvar.c'. + + * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix return value + of `point_cnt' if two bytes are read. + Use a more vertical coding style. + (ft_var_readpackeddeltas): Use FT_UInt for `delta_cnt' parameter. + Use a more vertical coding style. + +2015-03-03 Werner Lemberg + + [autofit] Fix Savannah bug #44241. + + * src/autofit/aflatin.c (af_latin_metrics_init_blues): Reject glyphs + with less than 3 points. + +2015-03-02 Werner Lemberg + + Simplify `TYPEOF' macro. + + No need for two arguments. + + * include/config/ftconfig.h, builds/unix/ftconfig.in, + builds/vms/ftconfig.h (TYPEOF): Updated. + + * include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR), + src/autofit/afwarp.h (AF_WARPER_FLOOR): Updated. + +2015-03-01 Werner Lemberg + + Various compiler warning fixes for `make multi'. + + * src/autofit/afcjk.c (af_cjk_hints_compute_blue_edges), + src/autofit/aflatin.c (af_latin_hint_compute_blue_edges, + af_latin_hint_edges), src/autofit/aflatin2.c + (af_latin2_hints_compute_blue_edges, af_latin2_hint_edges): Declare + as `static'. + + * src/cache/ftccmap.c (FTC_CMAP_QUERY_HASH, FTC_CMAP_NODE_HASH): + Removed. Unused. + * src/cache/ftcimage.c: Include FT_INTERNAL_OBJECTS_H. + * src/cache/ftcmanag.c (FTC_LRU_GET_MANAGER): Removed. Unused. + + * src/cff/cf2intrp.c: Include `cf2intrp.h'. + * src/cff/cffdrivr.c (PAIR_TAG): Removed. Unused. + + * src/gzip/ftgzip.c (NO_DUMMY_DECL): Removed. Unused. + + * src/psaux/afmparse.c (afm_parser_read_int): Declare as `static'. + + * src/pshinter/pshalgo.c (STRONGER, PSH_ZONE_MIN, PSH_ZONE_MAX): + Removed. Unused. + + * src/raster/ftraster.c (Render_Glyph): Declare as `static'. + + * src/sfnt/ttpost.c (load_format_20): Fix signedness warning. + + * src/truetype/ttdriver.c (PAIR_TAG): Removed. Unused. + * src/truetype/ttsubpix.c (is_member_of_family_class, + is_member_of_style_class): Declare as `static'. + + * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Declare + as `static'. + * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): Declare as + `static'. + (T1_FIELD_COUNT): Removed. Unused. + * src/type1/t1parse.h (T1_Done_Table): Removed. Unused. + + * src/type42/t42parse.c (T1_Done_Table): Removed. Unused. + +2015-02-25 Werner Lemberg + + [psaux] Signedness fixes. + + * include/internal/psaux.h, src/psaux/afmparse.c, + src/psaux/afmparse.h, src/psaux/psconv.c, src/psaux/psobjs.c, + src/psaux/t1cmap.c, src/psaux/t1decode.c: Apply. + +2015-02-25 Werner Lemberg + + [otvalid] Signedness fixes. + + * src/otvalid/otvcommn.c, src/otvalid/otvgdef.c, + src/otvalid/otvgpos.c, src/otvalid/otvgsub.c, src/otvalid/otvmath.c: + Apply. + +2015-02-25 Werner Lemberg + + * src/bzip2/ftbzip2.c (ft_bzip2_alloc): Signedness fix. + +2015-02-25 Werner Lemberg + + [lzw] Signedness fixes. + + * src/lzw/ftzopen.c, src/lzw/ftzopen.h: Apply. + +2015-02-25 Werner Lemberg + + [gxvalid] Signedness fixes. + + * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c, + src/gxvalid/gxvcommn.h, src/gxvalid/gxvjust.c, + src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c, + src/gxvalid/gxvmort1.c, src/gxvalid/gxvmort2.c, + src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx1.c, + src/gxvalid/gxvmorx2.c, src/gxvalid/gxvopbd.c, + src/gxvalid/gxvprop.c, src/gxvalid/gxvtrak.c: Apply. + +2015-02-25 Werner Lemberg + + [cache] Signedness fixes. + + * src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcimage.c, + src/cache/ftcmanag.c, src/cache/ftcsbits.c: Apply. + +2015-02-25 Werner Lemberg + + Change dimension fields in `FTC_ImageTypeRec' to unsigned type. + + This doesn't break ABI. + + * include/ftcache.h (FTC_ImageTypeRec): Use unsigned types for + `width' and `height'. + + * docs/CHANGES: Document it. + +2015-02-25 Werner Lemberg + + [cache] Don't use `labs'. + + This is the only place in FreeType where this function was used. + + * include/config/ftstdlib.h (ft_labs): Remove. + + * src/cache/ftcimage.c (ftc_inode_weight): Replace `ft_labs' with + `FT_ABS'. + +2015-02-23 Werner Lemberg + + [cache] Replace `FT_PtrDist' with `FT_Offset'. + + * src/cache/ftccache.h (FTC_NodeRec): `FT_Offset' (a.k.a. `size_t') + is a better choice for `hash' to hold a pointer than `FT_PtrDist' + (a.k.a. `ptrdiff_t'), especially since the latter is signed, + causing zillions of signedness warnings. [Note that `hash' was of + type `FT_UInt32' before the change to `FT_PtrDist'.] + Update all users. + + * src/cache/ftcbasic.c, src/cache/ftccache.c, src/cache/ftccmap.c, + src/cache/ftcglyph.c, src/cache/ftcglyph.h: Updated. + +2015-02-23 Werner Lemberg + + [smooth, raster] Re-enable standalone compilation. + + * src/raster/ftraster.c (FT_RENDER_POOL_SIZE, FT_MAX) + [_STANDALONE_]: Define macros. + + * src/smooth/ftgrays.c (FT_RENDER_POOL_SIZE, FT_MAX, FT_ABS, + FT_HYPOT) [_STANDALONE_]: Define macros. + +2015-02-22 Werner Lemberg + + [smooth] Signedness fixes. + + * src/smooth/ftgrays.c, src/smooth/ftsmooth.c: Apply. + +2015-02-22 Werner Lemberg + + * src/raster/ftraster.c: Use the file's typedefs everywhere. + +2015-02-22 Werner Lemberg + + * src/sfnt/ttpost.c (load_format_20): Fix error tracing message. + + Bug introduced 6 commits earlier. + +2015-02-22 Werner Lemberg + + [pshinter] Fix thinko. + + * src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Correctly + check `count'. + Bug introduced two commits earlier. + +2015-02-22 Werner Lemberg + + [raster] Signedness fixes. + + * src/raster/ftraster.c, src/raster/ftrend1.c: Apply. + +2015-02-22 Werner Lemberg + + [pshinter] Signedness fixes. + + * src/pshinter/pshalgo.c, src/pshinter/pshglob.c, + src/pshinter/pshrec.c: Apply. + +2015-02-22 Werner Lemberg + + [pshinter] Use macros for (unsigned) flags, not enumerations. + + * src/pshinter/pshalgo.h (PSH_Hint_Flags): Replace with macros. + Updated. + * src/pshinter/pshrec.h (PS_Hint_Flags): Replace with macros. + +2015-02-22 Werner Lemberg + + * src/pshinter/pshrec.c: Simplify. + (ps_hints_open, ps_hints_stem): Remove switch statement. + +2015-02-22 Werner Lemberg + + [sfnt] Signedness fixes. + + * src/sfnt/pngshim.c, src/sfnt/sfobjs.c, src/sfnt/ttcmap.c, + src/sfnt/ttkern.c, src/sfnt/ttload.c, src/sfnt/ttpost.c, + src/sfnt/ttsbit.c: Apply. + * src/sfnt/sfdriver.c: Apply. + (sfnt_get_ps_name): Simplify. + +2015-02-22 Werner Lemberg + + [bdf] Signedness fixes. + + * src/bdf/bdf.h, src/bdf/bdfdrivr.c, src/bdf/bdfdrivr.h, + src/bdf/bdflib.c: Apply. + +2015-02-22 Werner Lemberg + + * src/bdf/bdflib.c (_bdf_atous): New function. + (_bdf_parse_glyphs, _bdf_parse_start): Use it. + +2015-02-22 Werner Lemberg + + [pcf] Signedness fixes. + + * src/pcf/pcf.h, src/pcf/pcfdrivr.c: Apply. + * src/pcf/pcfread.c: Apply. + (pcf_get_encodings): Ignore invalid negative encoding offsets. + +2015-02-21 Werner Lemberg + + * src/winfonts/winfnt.c: Signedness fixes. + +2015-02-21 Werner Lemberg + + [type42] Signedness fixes. + + * src/type42/t42parse.c, src/type42/t42parse.h, + src/type42/t42types.h: Apply. + +2015-02-21 Werner Lemberg + + [pfr] Signedness fixes. + + * src/pfr/pfrdrivr.c, src/pfr/pfrgload.c, src/pfr/pfrload.c, + src/pfr/pfrload.h, src/pfr/pfrobjs.c, src/pfr/pfrsbit.c, + src/pfr/pfrtypes.h: Apply. + +2015-02-21 Werner Lemberg + + [cff] Minor signedness fixes related to last commit. + + * src/cff/cf2ft.c, src/cff/cf2intrp.c, src/cff/cffgload.c: Apply. + +2015-02-20 Werner Lemberg + + [cff] Thinkos in bias handling. + + Only the final result is always positive. + + Bug introduced three commits earlier. + + * src/cff/cffgload.c, src/cff/cffgload.h: Apply. + +2015-02-20 Werner Lemberg + + [cid] Fix signedness issues and emit some better error codes. + + * src/cid/cidgload.c, src/cid/cidload.h, src/cid/cidobjs.c, + src/cid/cidparse.h: Apply. + * src/cid/cidload.c: Apply. + (parse_fd_array): Reject negative values for number of dictionaries. + * src/cid/cidparse.c: Apply. + (cid_parser_new): Reject negative values for hex data length. + +2015-02-20 Werner Lemberg + + [cff] Signedness fixes for new engine. + + * src/cff/cf2arrst.c, src/cff/cf2fixed.h, src/cff/cf2ft.c, + src/cff/cf2ft.h, src/cff/cf2hints.c, src/cff/cf2intrp.c: Apply. + +2015-02-20 Werner Lemberg + + [cff] Signedness fixes for basic infrastructure and old engine. + + * include/internal/pshints.h, src/cff/cffdrivr.c, + src/cff/cffgload.c, src/cff/cffgload.h, src/cff/cffload.c, + src/cff/cffobjs.c, src/cff/cffparse.c, src/pshinter/pshrec.c: Apply. + +2015-02-19 Werner Lemberg + + * src/truetype/ttgxvar.c (TT_Get_MM_Var): Ignore `countSizePairs'. + + This is hard-coded to value 2 in `fvar' version 1.0 (and no newer + version exists), but some fonts set it incorrectly. + + Problem reported by Adam Twardoch . + +2015-02-19 Werner Lemberg + + [cff] Emit better error code for invalid private dict size. + + * src/cff/cffparse.c (cff_parse_private_dict): Reject negative + values for size and offset. + +2015-02-19 Werner Lemberg + + [autofit] Fix signedness issues. + + * src/autofit/afangles.c, src/autofit/afcjk.c, + src/autofit/afglobal.c, src/autofit/afhints.c, + src/autofit/aflatin.c, src/autofit/aflatin2.c, src/autofit/afwarp.c, + src/autofit/hbshim.c: Apply. + +2015-02-19 Werner Lemberg + + [autofit] Use macros for (unsigned) flags, not enumerations. + + This harmonizes with other code in FreeType (and reduces the number + of necessary casts to avoid compiler warnings). + + * src/autofit/afblue.hin: Make flag macros unsigned. + * src/autofit/afblue.h: Regenerated. + + * src/autofit/afcjk.h: Replace flag enumeration with macros. + * src/autofit/afcjk.c: Updated. + + * src/autofit/afhints.h (AF_Flags, AF_Edge_Flags): Replace with + macros. + * src/autofit/afhints.c: Updated. + + * src/autofit/aflatin.h: Replace flag enumerations with macros. + * src/autofit/aflatin.c, src/autofit/aflatin2.c: Updated. + + * src/autofit/aftypes.h (AF_ScalerFlags): Replace with macros. + +2015-02-18 Werner Lemberg + + [type1] Fix signedness issues. + + * include/internal/psaux.h, include/internal/t1types.h, + src/psaux/psobjs.c, src/psaux/psobjs.h, src/psaux/t1decode.c, + src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1parse.c: Apply. + +2015-02-18 Werner Lemberg + + [psaux, type1] Fix minor AFM issues. + + * include/internal/t1types.h (AFM_KernPairRec): Make indices + unsigned. + Update users. + (AFM_FontInfoRec): Make element counters unsigned. + Update users. + * src/psaux/afmparse.h (AFM_ValueRec): Add union member for unsigned + int. + + * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs): + Reject negative values for number of kerning elements. + + * src/type1/t1afm.c, src/tools/test_afm.c: Updated. + +2015-02-18 Werner Lemberg + + Don't use `FT_PtrDist' for lengths. + + Use FT_UInt instead. + + * include/internal/psaux.h (PS_Table_FuncsRec, PS_TableRec, + T1_DecoderRec): Do it. + + * include/internal/t1types.h (T1_FontRec): Ditto. + + * src/cid/cidload.c (cid_parse_dict): Updated. + * src/pfr/pfrload.c (pfr_extra_item_load_font_id): Ditto. + * src/psaux/psobjs.c (ps_table_add), src/psaux/psobjs.h: Ditto. + * src/type1/t1load.c (parse_blend_axis_types, parse_encoding, + parse_chharstrings, parse_dict): Ditto. + * src/type42/t42parse.c (t42_parse_encoding, t42_parse_charstrings, + t42_parse_dict): Ditto. + +2015-02-18 Werner Lemberg + + * src/type1/t1driver.c (t1_ps_get_font_value): Clean up. + This handles negative values better, avoiding many casts. + +2015-02-17 Werner Lemberg + + [base] Fix Savannah bug #44284. + + * src/base/ftcalc.c (FT_MulFix): Typos. + +2015-02-17 Werner Lemberg + + [truetype] Finish compiler warning fixes for signedness issues. + + * src/truetype/ttgxvar.c, src/truetype/ttsubpix.c, + src/truetype/ttsubpix.h: Apply. + +2015-02-17 Werner Lemberg + + * src/truetype/ttsubpix.c: Adding missing `static' keywords. + +2015-02-17 Werner Lemberg + + [truetype] More signedness fixes. + + * include/internal/tttypes.h, src/truetype/ttinterp.h, + src/truetype/ttobjs.h, src/truetype/ttinterp.c, + src/truetype/ttobjs.c: Apply. + +2015-02-17 Werner Lemberg + + [truetype] Various signedness fixes. + + * include/internal/ftgloadr.h, src/truetype/ttpload.c: Apply. + + * src/truetype/ttgload.c: Apply. + (TT_Get_VMetrics): Protect against invalid ascenders and descenders + while constructing advance height. + +2015-02-16 Werner Lemberg + + [base] Finish compiler warning fixes for signedness issues. + + * src/base/ftglyph.c, src/base/ftlcdfil.c, src/base/ftstroke.c: + Apply. + +2015-02-16 Werner Lemberg + + * include/tttables.h (TT_OS2): `fsType' must be FT_UShort. + +2015-02-16 Werner Lemberg + + More minor signedness warning fixes. + + * src/base/ftbbox.c, src/base/ftbitmap.c, src/base/fttrigon.c, + src/base/ftutil.c: Apply. + +2015-02-16 Werner Lemberg + + Next round of minor compiler warning fixes. + + * include/internal/ftrfork.h (FT_RFork_Ref): Change `offset' member + type to `FT_Long'. + (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Add `static' keyword. + + * include/internal/ftstream.h (FT_Stream_Pos): Return `FT_ULong'. + + * src/base/ftoutln.c, src/base/ftrfork.c, src/base/ftstream.c: + Signedess fixes. + +2015-02-16 Werner Lemberg + + Various minor signedness fixes. + + * include/ftadvanc.h, include/internal/ftobjs.h, + src/base/ftgloadr.c, src/base/ftobjs.c: Apply. + +2015-02-16 Werner Lemberg + + New `TYPEOF' macro. + + This helps suppress signedness warnings, avoiding issues with + implicit conversion changes. + + * include/config/ftconfig.h, builds/unix/ftconfig.in, + builds/vms/ftconfig.h (TYPEOF): Define. + + * include/internal/ftobjs.h (FT_PAD_FLOOR, FT_PIX_FLOOR), + src/autofit/afwarp.h (AF_WARPER_FLOOR): Use it. + +2015-02-16 Werner Lemberg + + * src/base/ftsystem.c: Use casts in standard C function wrappers. + (ft_alloc, ft_realloc, ft_ansi_stream_io, FT_Stream_Open): Do it. + +2015-02-16 Werner Lemberg + + Fix Savannah bug #44261. + + * builds/unix/detect.mk (setup) [unix]: Set `CONFIG_SHELL' in the + environment also while calling the configure script. + +2015-02-16 Werner Lemberg + + * include/internal/ftmemory.h: Add some `FT_Offset' casts. + (FT_MEM_SET, FT_MEM_COPY, FT_MEM_MOVE, FT_ARRAY_ZERO, FT_ARRAY_COPY, + FT_MEM_MOVE): Do it. + +2015-02-15 Werner Lemberg + + [base] Clean up signedness issues in `ftdbgmem.c'. + + Also fix other minor issues. + + * src/base/ftdbgmem.c (FT_MemTableRec): Replace all FT_ULong types + with FT_Long for consistency. + (ft_mem_primes): Change type to `FT_Int'. + (ft_mem_closest_prime, ft_mem_table_set): Updated. + + (ft_mem_debug_panic, ft_mem_debug_alloc, ft_mem_debug_free, + ft_mem_debug_realloc): Use `static' keyword and fix signedness + warnings where necessary. + + (ft_mem_table_resize, ft_mem_table_new, ft_mem_table_destroy, + ft_mem_table_get_nodep, ft_mem_debug_init, FT_DumpMemory): Fix types + and add or remove casts to avoid signedness warnings. + +2015-02-15 Werner Lemberg + + [base] Clean up signedness in arithmetic functions. + + This makes the code more readable and reduces compiler warnings. + + * src/base/ftcalc.c (FT_MulDiv, FT_MulDiv_No_Round, FT_MulFix, + FT_DivFix): Convert input parameters to unsigned, do the + computation, then convert the result back to signed. + (ft_corner_orientation): Fix casts. + +2015-02-07 Werner Lemberg + + [sfnt] Fix Savannah bug #44184. + + * src/sfnt/ttload.c (check_table_dir, tt_face_load_font_dir): No + longer reject `htmx' and `vmtx' tables with invalid length but + sanitize them. + +2015-02-06 Jon Anderson + + [truetype] Fix regression in the incremental glyph loader. + + * src/truetype/ttgload.c (load_truetype_glyph): For incremental + fonts, the glyph index may be greater than the number of glyphs + indicated, so guard the check with a preprocessor conditional. + +2015-02-06 Werner Lemberg + + [autofit] Fix potential memory leak. + + While this doesn't show up with FreeType, exactly the same code + leaks with ttfautohint's modified auto-hinter code (which gets used + in a slightly different way). + + It certainly doesn't harm since it is similar to already existing + checks in the code for embedded arrays. + + * src/autofit/afhints.c (af_glyph_hints_reload): Set `max_contours' + and `max_points' for all cases. + +2015-01-31 Werner Lemberg + + [autofit] Add support for Thai script. + + Thanks to Ben Mitchell for guidance with blue + zone characters! + + * src/autofit/afblue.dat: Add blue zone data for Thai. + + * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. + + * src/autofit/afscript.h: Add Thai standard characters. + + * src/autofit/afranges.c: Add Thai data. + + * src/autofit/afstyles.h: Add Thai data. + +2015-01-23 Behdad Esfahbod + + [raster] Handle `FT_RASTER_FLAG_AA' correctly. + + This fixes a breakage caused by the commit `[raster] Remove + 5-level gray AA mode from monochrome rasterizer.'. + + Problem reported by Markus Trippelsdorf . + + * src/raster/ftraster.c (ft_black_render): Handle + `FT_RASTER_FLAG_AA'. + + * src/raster/ftrend1.c (ft_raster1_render): Remove gray AA mode + remnants. + +2015-01-18 Werner Lemberg + + * src/base/ftobjs.c (FT_New_Library): Fix compiler warning. + +2015-01-18 Chris Liddell + + [raster] Fix Savannah bug #44022. + + Add fallback for glyphs with degenerate bounding boxes. + + If a glyph has only one very narrow feature, the bbox can end up + with either the width or height of the bbox being 0, in which case + no raster memory is allocated and no attempt is made to render the + glyph. This is less than ideal when the drop-out compensation in + the rendering code would actually result in the glyph being + rendered. + + This problem can be observed with the `I' glyph (gid 47) in the + Autodesk RomanS TrueType font. + + * src/raster/ftrend1.c (ft_raster1_render): Add a fallback if either + dimension is zero to explicitly round up/down (instead of simply + round). + +2015-01-17 Werner Lemberg + + Add some tools to handle yearly copyright notice updates. + + We are now following the GNU guidelines: A new release automatically + means that the copyright year of all affected files gets updated; it + is no longer used to track years of modification changes. + + * src/tools/update-copyright-year: New Perl script. + * src/tools/update-copyright: New shell script that calls + `update-copyright-year' on all files. + * src/tools/no-copyright: Exceptions that should not be handled by + `update-copyright' + +2015-01-14 Werner Lemberg + + * docs/CHANGES: Updated, using a description from Behdad. + +2015-01-14 Behdad Esfahbod + + * src/autofit/afmodule.c (af_autofitter_done): Fix compiler warning. + +2015-01-14 Behdad Esfahbod + + [autofit] Add embedded array of segments and edges. + + Avoids multiple mallocs per typical glyphs. + + With this and recent changes to avoid mallocs, the thread-safe + stack-based loader is now as fast as the previous model that had one + cached singleton. + + * src/autofit/afhints.h (AF_SEGMENTS_EMBEDDED, AF_EDGES_EMBEDDED): + New macros. + (AF_AxisHintsRec): Add two arrays for segments and edges. + + * src/autofit/afhints.c (af_axis_hints_new_segment): Only allocate + data if number of segments exceeds given threshold value. + (af_axis_hints_new_edge): Only allocate data if number of edges + exceeds given threshold value. + (af_glyph_hints_done): Updated. + +2015-01-14 Behdad Esfahbod + + [autofit] Add embedded arrays for points and contours. + + This avoids at least two malloc calls for typical glyphs. + + * src/autofit/afhints.h (AF_POINTS_EMBEDDED, AF_CONTOURS_EMBEDDED): + New macros. + (AF_GlyphHintsRec): Add two arrays for contours and points. + + * src/autofit/afhints.c (af_glyph_hints_init, af_glyph_hints_done): + Updated. + (af_glyph_hints_reload): Only allocate data if number of contours or + points exceeds given threshold values. + +2015-01-14 Behdad Esfahbod + + [autofit] Allocate hints object on the stack. + + This avoids one malloc per load. + + * src/autofit/afloader.h (AF_LoaderRec): Change type of `hints' to + `AF_GlyphHints'. + Update prototype. + + * src/autofit/afloader.c (af_loader_init): Use `AF_GlyphHints' + parameter instead of `FT_Memory'. + (af_loader_done): Directly reset `load_hints'. + (af_loader_load_g): Updated. + + * src/autofit/afmodule.c (af_autofitter_load_glyph): Use local + `hints' object. + +2015-01-14 Behdad Esfahbod + + [autofit] Reuse slot glyph loader. + + No need to create a new glyph loader; we can reuse the one from + `slot->internal->loader'. It's hard to tell why it was written that + way originally, but new code looks sound and correct to me, and + avoids lots of allocations. + + * src/autofit/afloader.c (af_loader_init): Change return type to + `void'. + Don't call `FT_GlyphLoader_New'. + (af_loader_reset): Don't call `FT_GlyphLoader_Rewind'. + (af_loader_load_g): Update code to use `internal->loader', which + doesn't need copying of data. + + * src/autofit/afloader.h (AF_LoaderRec): Remove `gloader' member. + Update prototype. + + * src/autofit/afmodule.c (af_autofitter_load_glyph): Updated. + +2015-01-14 Behdad Esfahbod + + [autofit] Remove (unused) support for composite glyphs. + + We never have to deal with composite glyphs in the autohinter, as + those will be loaded into FORMAT_OUTLINE by the recursed + `FT_Load_Glyph' function. + + In the rare cases that FT_LOAD_NO_RECURSE is set, it will imply + FT_LOAD_NO_SCALE as per `FT_Load_Glyph', which then implies + FT_LOAD_NO_HINTING: + + /* resolve load flags dependencies */ + + if ( load_flags & FT_LOAD_NO_RECURSE ) + load_flags |= FT_LOAD_NO_SCALE | + FT_LOAD_IGNORE_TRANSFORM; + + if ( load_flags & FT_LOAD_NO_SCALE ) + { + load_flags |= FT_LOAD_NO_HINTING | + FT_LOAD_NO_BITMAP; + + load_flags &= ~FT_LOAD_RENDER; + } + + and as such the auto-hinter is never called. Thus, the recursion in + `af_loader_load_g' never actually happens. So remove the depth + counter as well. + + * src/autofit/afloader.c (af_loader_load_g): Remove `depth' + parameter. + : Remove associated code. + (af_loader_load_glyph): Updated. + +2015-01-14 Behdad Esfahbod + + [raster] Fix uninitialized memory access. + + Apparently `ras.cProfile' might be uninitialized. This will be the + case if `ras.top == ras.cProfile->offset', as can be seen in + `End_Profile'. The overshoot code introduced in a change `Fix B/W + rasterization of subglyphs with different drop-out modes.' (from + 2009-06-18) violated this, accessing `ras.cProfile->flags' + unconditionally just before calling `End_Profile' (which then + detected that `cProfile' is uninitialized and didn't touch it). + + This was harmless, and was not detected by valgrind before because + the objects were allocated on the `raster_pool', which was always + initialized. With recent change to allocate raster buffers on the + stack, valgrind now reported this invalid access. + + * src/raster/ftraster.c (Convert_Glyph): Don't access an + uninitialized `cProfile'. + +2015-01-14 Behdad Esfahbod + + [smooth] Fix uninitialized memory access. + + Looks like `ras.span_y' could always be used without initialization. + This was never detected by valgrind before because the library-wide + `raster_pool' was used for the worker object and `raster_pool' was + originally zero'ed. But subsequent reuses of it were using `span_y' + uninitialized. With the recent change to not use `render_pool' and + allocate worker and buffer on the stack, valgrind now detects this + uninitialized access. + + * src/smooth/ftgrays.c (gray_raster_render): Initialize + `ras.span_y'. + +2015-01-14 Behdad Esfahbod + + [base] Don't initialize unused `driver->glyph_loader'. + + * src/base/ftobjs.c (Destroy_Driver): Don't call + `FT_GlyphLoader_Done'. + (FT_Add_Module): Don't call `FT_GlyphLoader_New'. + +2015-01-14 Behdad Esfahbod + + [base] Don't allocate `library->raster_pool' anymore. + + It's unused after the following commits: + + [raster] Allocate render pool for mono rasterizer on the stack. + [raster] Remove 5-level gray AA mode from monochrome rasterizer. + + The value of FT_RENDER_POOL_SIZE still serves the purpose it used to + serve, which is, to adjust the pool size. But the pool is now + allocated on the stack on demand. + + * src/base/ftobjs.c (FT_New_Library, FT_Done_Library): Implement. + +2015-01-14 Behdad Esfahbod + + [base] Do not reorder library->renderers upon use. + + Instead of keeping `library->renderers' in a MRU order, just leave + it as-is. The MRU machinery wasn't thread-safe. + + With this patch, rasterizing glyphs from different faces from + different threads doesn't fail choosing rasterizer + (FT_Err_Cannot_Render_Glyph). + + Easiest to see that crash was to add a `printf' (or otherwise let + thread yield in FT_Throw with debugging enabled). + + * src/base/ftobjs.c (FT_Render_Glyph_Internal), src/base/ftoutln.c + (FT_Outline_Render): Don't call `FT_Set_Renderer'. + +2015-01-14 Behdad Esfahbod + + [raster] Allocate render pool for mono rasterizer on the stack. + + Instead of using the `render_pool' member of `FT_Library' that is + provided down to the rasterizer, completely ignore that and allocate + needed objects on the stack instead. + + With this patch, rasterizing glyphs from different faces from + different threads doesn't crash in the monochrome rasterizer. + + * src/raster/ftraster.c (black_TRaster): Remove `buffer', + `buffer_size', and `worker' members. + + (ft_black_render): Create `buffer' locally. + (ft_black_reset): Updated. + +2015-01-14 Behdad Esfahbod + + [raster] Remove 5-level gray AA mode from monochrome rasterizer. + + It was off by default and couldn't be turned on at runtime. And the + smooth rasterizer superceded it over ten years ago. No point in + keeping. Comments suggested that it was there for compatibility + with FreeType 1. + + 550 lines down. + + * src/raster/ftraster.c (FT_RASTER_OPTION_ANTI_ALIASING, + RASTER_GRAY_LINES): Remove macros and all associated code. + + (black_TWorker): Remove `gray_min_x' and `gray_max_x'. + (black_TRaster): Remove `grays' and `gray_width'. + + (Vertical_Sweep_Init, Vertical_Sweep_Span, Vertical_Sweep_Drop, + ft_black_render): Updated. + + * src/raster/ftrend1.c (ft_raster1_render): Simplify code. + (ft_raster5_renderer_class): Removed. + +2015-01-14 Behdad Esfahbod + + [smooth] Allocate render pool for smooth rasterizer on the stack. + + Instead of using the `render_pool' member of `FT_Library' that is + provided down to the rasterizer, completely ignore that and allocate + needed objects on the stack instead. + + With this patch, rasterizing glyphs from different faces from + different threads doesn't crash in the smooth rasterizer. + + Bugs: + + https://bugzilla.redhat.com/show_bug.cgi?id=678397 + https://bugzilla.redhat.com/show_bug.cgi?id=1004315 + https://bugzilla.redhat.com/show_bug.cgi?id=1165471 + https://bugs.freedesktop.org/show_bug.cgi?id=69034 + + * src/smooth/ftgrays.c (gray_TRaster): Remove `buffer', + `buffer_size', `band_size', and `worker' members. + + (gray_raster_render): Create `buffer', `buffer_size', and + `band_size' locally. + (gray_raster_reset): Updated. + +2015-01-14 Behdad Esfahbod + + [truetype] Allocate TT_ExecContext in TT_Size instead of TT_Driver. + + Previously the code had stipulation for using a per-TT_Size exec + context if `size->debug' was true. But there was no way that + `size->debug' could *ever* be true. As such, the code was always + using the singleton `TT_ExecContext' that was stored in `TT_Driver'. + This was, clearly, not threadsafe. + + With this patch, loading glyphs from different faces from different + threads doesn't crash in the bytecode loader code. + + * src/truetype/ttobjs.h (TT_SizeRec): Remove `debug' member. + (TT_DriverRec): Remove `context' member. + + * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Remove + `TT_ExecContext' code related to a global `TT_Driver' object. + + (tt_driver_done): Don't remove `TT_ExecContext' object here but ... + (tt_size_done_bytecode): ... here. + + (tt_driver_init): Don't create `TT_ExecContext' object here but ... + (tt_size_init_bytecode): ... here, only on demand. + + * src/truetype/ttinterp.c (TT_Run_Context): Remove defunct debug + code. + (TT_New_Context): Remove `TT_ExecContext' code related to a global + `TT_Driver' object. + + * src/truetype/ttinterp.h: Updated. + + * src/truetype/ttgload.c (TT_Hint_Glyph, tt_loader_init): Updated. + +2015-01-14 Behdad Esfahbod + + [autofit] Allocate AF_Loader on the stack instead of AF_Module. + + Stop sharing a global `AF_Loader'. Allocate one on the stack during + glyph load. + + Right now this results in about 25% slowdown, to be fixed in a + following commit. + + With this patch loading glyphs from different faces from different + threads doesn't immediately crash in the autohinting loader code. + + Bugs: + + https://bugzilla.redhat.com/show_bug.cgi?id=1164941 + + * src/autofit/afloader.c (af_loader_init): Pass + `AF_Loader' and `FT_Memory' instead of `AF_Module' as arguments. + (af_loader_reset, af_loader_load_glyph): Also pass `loader' as + argument. + (af_loader_done): Use `AF_Loader' instead of `AF_Module' as + argument. + + * src/autofit/afmodule.c (af_autofitter_init): Don't call + `af_loader_init'. + (af_autofitter_done): Don't call `af_loader_done'. + (af_autofitter_load_glyph): Use a local `AF_Loader' object. + + * src/autofit/afloader.h: Include `afmodule.h'. + Update prototypes. + Move typedef for `AF_Module' to... + + * src/autofit/afmodule.h: ... this place. + No longer include `afloader.h'. + +2015-01-14 Behdad Esfahbod + + * src/type42/t42objs.h (T42_DriverRec): Remove unused member. + +2015-01-12 Werner Lemberg + + Fix Savannah bug #43976. + + Assure that FreeType's internal include directories are found before + `CPPFLAGS' (which might be set by the user in the environment), and + `CPPFLAGS' before `CFLAGS'. + + * builds/freetype.mk (FT_CFLAGS): Don't add `INCLUDE_FLAGS'. + (FT_COMPILE): Make this a special variable for compiling only the + files handled in `freetype.mk'. + (.c.$O): Removed, unused. + + * src/*/rules.mk (*_COMPILE): Fix order of include directories. + +2015-01-11 Werner Lemberg + + [truetype] Prettyfing. + + * src/truetype/ttinterp.c (project, dualproj, fast_project, + fast_dualproj): Rename to... + (PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this. + +2015-01-11 Werner Lemberg + + * src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify. + + Based on a patch from Behdad. + +2015-01-11 Werner Lemberg + + * src/truetype/ttinterp.c (Ins_SxVTL): Simplify function call. + +2015-01-11 Werner Lemberg + + * src/truetype/ttinterp.c (Normalize): Remove unused argument. + +2015-01-11 Werner Lemberg + + [truetype] More macro expansions. + + * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Remove macro by + expansion. + +2015-01-11 Werner Lemberg + + [truetype] More macro expansions. + + * src/truetype/ttinterp.c (INS_ARG): Remove macro by expansion, + adjusting funtion calls where necessary. + (FT_UNUSED_ARG): Removed, no longer needed. + +2015-01-10 Werner Lemberg + + [truetype] More macro expansions. + + Based on a patch from Behdad. + + * src/truetype/ttinterp.c (DO_*): Expand macros into corresponding + `Ins_*' functions. + (TT_RunIns): Replace `DO_*' macros with `Ins_*' function calls. + (ARRAY_BOUND_ERROR): Remove second definition, which is no longer + needed. + (Ins_SVTCA, Ins_SPVTCA, Ins_SFVTCA): Replaced with... + (Ins_SxyTCA): New function. + +2015-01-10 Werner Lemberg + + [truetype] Remove TT_CONFIG_OPTION_INTERPRETER_SWITCH. + + Behdad suggested this code simplification, and nobody objected... + + * include/config/ftoption.h, devel/ftoption.h + (TT_CONFIG_OPTION_INTERPRETER_SWITCH): Remove. + + * src/truetype/ttinterp.c [TT_CONFIG_OPTION_INTERPRETER_SWITCH]: + Remove related code. + (ARRAY_BOUND_ERROR): Use do-while loop. + +2015-01-10 Werner Lemberg + + [truetype] More macro expansions. + + * src/truetype/ttinterp.c, src/truetype/ttinterp.h (EXEC_ARG_, + EXEC_ARG): Remove by replacing with expansion. + +2015-01-10 Werner Lemberg + + [truetype] More macro expansions. + + Based on a patch from Behdad. + + * src/truetype/ttinterp.c (SKIP_Code, GET_ShortIns, NORMalize, + SET_SuperRound, ROUND_None, INS_Goto_CodeRange, CUR_Func_move, + CUR_Func_move_orig, CUR_Func_round, CUR_Func_cur_ppem, + CUR_Func_read_cvt, CUR_Func_write_cvt, CUR_Func_move_cvt, + CURRENT_Ratio, INS_SxVTL, COMPUTE_Funcs, COMPUTE_Round, + COMPUTE_Point_Displacement, MOVE_Zp2_Point): Remove by replacing + with expansion. + + (Cur_Func_project, CUR_Func_dualproj, CUR_fast_project, + CUR_fast_dualproj): Replace with macros `project', `dualproj', + `fast_project', `fast_dualproj'. + +2015-01-10 Werner Lemberg + + [truetype] More macro expansions. + + * src/truetype/ttinterp.c (EXEC_OP_, EXEC_OP): Remove by replacing + with expansion. + +2015-01-10 Werner Lemberg + + [truetype] Remove code for static TrueType interpreter. + + This is a follow-up patch. + + * src/truetype/ttinterp.c, src/truetype/ttinterp.h + [TT_CONFIG_OPTION_STATIC_INTERPRETER, + TT_CONFIG_OPTION_STATIC_RASTER]: Remove macros and related code. + +2015-01-10 Werner Lemberg + + * src/truetype/ttinterp.c (CUR): Remove by replacing with expansion. + + This starts a series of patches that simplifies the code of the + bytecode interpreter. + + +---------------------------------------------------------------------------- + +Copyright 2015 by +David Turner, Robert Wilhelm, and Werner Lemberg. + +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. + + +Local Variables: +version-control: never +coding: utf-8 +End: diff --git a/libs/freetype-2.5.0.1/ChangeLog.20 b/libs/freetype-2.6.2/ChangeLog.20 similarity index 97% rename from libs/freetype-2.5.0.1/ChangeLog.20 rename to libs/freetype-2.6.2/ChangeLog.20 index cba6fa8b..6dae58ea 100644 --- a/libs/freetype-2.5.0.1/ChangeLog.20 +++ b/libs/freetype-2.6.2/ChangeLog.20 @@ -1,2613 +1,2613 @@ -2002-02-09 Werner Lemberg - - * README: Fix typo. - * docs/CHANGES: Minor fixes. - - - * Version 2.0.8 released. - ========================= - - -2002-02-08 David Turner - - * docs/CHANGES: Updating for 2.0.8. - - * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and - removing `FT_Get_Next_Char' from the API (temporarily). - - * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char; - note that this function might temporarily be removed for the 2.0.8 - release. - -2002-02-07 David Turner - - * src/pcf/pcfread.c (pcf_load_font): Removed immature support of - the AVERAGE_WIDTH property. - -2002-02-06 David Turner - - * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in - PDF documents do not include 'cmap', 'post' and 'name' tables, the - SFNT face loader has been changed to not immediately report an - error if these are not present. - - Note that the specification _requires_ these tables, but Adobe - seems to ignore it completely. - - * src/sfnt/ttcmap.c: Removing compiler warnings. - - * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt. - (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code - is now in ... - (pcf_get_metric): Here. - (pcfSeekToType): Renamed to ... - (pcf_seek_to_table_type): This. - Use FT_Int. - (pcfHasType): Renamed to ... - (pcf_has_table_type): This. - Use FT_Int. - (find_property): Renamed to ... - (pcf_find_property): This. - Use FT_Int. - (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts - better (delaying format checks out of FT_Access_Frame .. - FT_Forget_Frame blocks to avoid leaving the stream in an incorrect - state when encountering an invalid PCF font). - - * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ... - (PCF_Face_Done): This. - (PCF_Init_Face): Renamed to ... - (PCF_Face_Init): This. - (PCF_Get_Char_Index): Renamed to ... - (PCF_Char_Get_Index): This. - (PCF_Get_Next_Char): Renamed to ... - (PCF_Char_Get_Next): This. - (pcf_driver_class): Updated. - - * src/pcf/pcf.h (PCF_Done_Face): Removed. - -2002-02-06 Detlef Würkner - - * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak. - - * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH' - property to return correct character pixel (width/height) pairs for - embedded bitmaps. - -2002-02-04 Keith Packard - - Adding the function `FT_Get_Next_Char', doing the obvious thing - w.r.t. the selected charmap. - - * include/freetype/freetype.h: Add prototype. - * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar' - typedef. - (FT_Driver_Class): Use it. - * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func' - typedef. - (PSNames_Interface): Use it. - * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func' - typedef. - (TT_CMapTable): Use it. - - * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing - high-level API. - * src/cff/cffdrivr.c (cff_get_next_char): New function. - (cff_driver_class): Add it. - * src/cid/cidriver.c (Cid_Get_Next_Char): New function. - (t1cid_driver_class): Add it. - * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function. - (pcf_driver_class): Add it. - * src/psnames/psmodule.c (PS_Next_Unicode): New function. - (psnames_interface): Add it. - * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4, - code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary - functions. - (TT_CharMap_Load): Use them. - * src/truetype/ttdriver.c (Get_Next_Char): New function. - (tt_driver_class): Add it. - * src/type1/t1driver.c (Get_Next_Char): New function. - (t1_driver_class): Add it. - * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function. - (winfnt_driver_class): Add it. - - * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for - Unicode and Latin 1 encodings. - -2002-02-02 Keith Packard - - * builds/unix/freetype-config.in: Add missing `fi'. - - - * Version 2.0.7 released. - ========================= - - -2002-02-01 David Turner - - * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7 - for the new release. - -2002-01-31 David Turner - - * README, README.UNX, docs/CHANGES: Updating documentation for the - 2.0.7 release. - -2002-01-30 David Turner - - * INSTALL: Moved to ... - * docs/INSTALL: Here to avoid conflicts with the `install' script on - Windows, where the filesystem doesn't preserve case. - -2002-01-29 David Turner - - * configure: Fixed the script. It previously didn't accept more - than one argument correctly. For example, when typing: - - ./configure --disable-shared --disable-nls - - the `--disable-nls' was incorrectly sent to the `make' program. - -2002-01-29 Werner Lemberg - - * README.UNX: Fix typo. - * builds/unix/install.mk (uninstall): Fix library name for libtool. - -2002-01-28 Francesco Zappa Nardelli - - * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of - the face object (face->toc.tables, face->root.family_name, - face->root.available_size, face->charset_encoding, - face->charset_registry are now freed). Thanks to Niels Moseley. - -2002-01-28 Roberto Alameda - - * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'. - -2002-01-28 Werner Lemberg - - * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy - of `base' string for decrypting to not modify the original data. - Based on a patch by Jakub Bogusz . - -2002-01-27 Giuliano Pochini - - * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused - bad rendering of thin lines (less than one pixel thick). - -2002-01-25 Werner Lemberg - - * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work - actually. - -2002-01-25 Martin Zinser - - * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix - compilation warnings. - * src/base/descrip.mms (OBJS): Add `ftmm.obj'. - * src/cache/descrip.mms (ftcache.obj): Dependencies added. - -2002-01-25 WANG Yi - - * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug. - -2002-01-21 Antoine Leca - - * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in - the URL for the online resource. - -2002-01-18 Ian Brown - - * builds/win32/ftdebug.c: New file. - * builds/win32/visualc/freetype.dsp: Updated. - -2002-01-18 Detlef Würkner - - * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9. - * builds/amiga/README: Updated. - -2002-01-18 Ian Brown - - * builds/win32/visualc/freetype.dsp: Updated. - -2002-01-13 Werner Lemberg - - * builds/unix/freetype2.a4: The script was still buggy. - * builds/unix/freetype-config.in: Make it really work for any install - prefix. - -2002-01-10 Werner Lemberg - - * builds/unix/freetype2.a4: Fix some serious bugs. - -2002-01-09 David Turner - - * builds/unix/configure.ac: Build top-level Jamfile. - -2002-01-09 Maxim Shemanarev - - * src/smooth/ftgrays.c (gray_render_line): Small optimization to - the smooth anti-aliased renderer that deals with vertical segments. - This results in a 5-7% speedup in rendering speed. - -2002-01-08 David Turner - - Added some wrapper scripts to make the installation more - Unix-friendly. - - * configure, install: New files. - - * INSTALL, README.UNX: Updated installation documentation to use the - new 'configure' and 'install' scripts. - -2002-01-07 David Turner - - - * Version 2.0.6 released. - ========================= - - - * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release. - - * src/tools/docmaker.py: Fixed HTML quoting in sources. - (html_format): Replaced with ... - (html_quote): New function. - (html_quote0): New function. - (DocCode::dump_html): Small improvement. - (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote. - - * include/freetype/config/ftoption.h: Setting default options for - a release build (debugging off, bytecode interpreter off). - - * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c, - src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c, - src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler - warnings (in pedantic compilation modes). - -2002-01-05 David Turner - - * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation - of auto-hinted stem widths; this avoids color fringes in - `ClearType-like' rendering. - - * src/truetype/ttgload.c (TT_Load_Glyph_Header, - TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph): - Modified the TrueType loader to make it more paranoid; this avoids - nasty buffer overflows in the case of invalid glyph data (as - encountered in the output of some buggy font converters). - -2002-01-04 David Turner - - * README.UNX: Added special README file for Unix users. - - * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo. - - * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid - of compiler warnings. - - * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning. - -2002-01-03 Werner Lemberg - - * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler - warning. - -2002-01-03 Keith Packard - - * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that - all FreeType input streams are closed in child processes of a `fork' - on Unix systems. This is important to avoid (potential) access - control issues. - -2002-01-03 David Turner - - * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the - library when dealing with certain weird fonts like `Stalingrad', in - `sadn.pfb' (this font has no full font name entry). - - * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check): - New function to check the consistency of outline data. - - * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to - ensure that loaded glyphs are valid. This allows certain fonts like - `tt1095m_.ttf' to be loaded even though it appears they contain - really funky glyphs. - - There still is a bug there, though. - - * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition. - -2001-12-30 David Turner - - * src/autohint/ahhint.c (ah_hinter_load): Fix advance width - computation of auto-hinted glyphs. This noticeably improves the - spacing of letters in KDE and Gnome. - -2001-12-25 Antoine Leca - - * builds/dos/detect.mk: Correcting the order for Borland compilers: - 16-bit bcc was never selected, always overridden by 32-bit bcc32. - -2001-12-22 Francesco Zappa Nardelli - - * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE' - and fix incorrect computation of `available_sizes'. - -2001-12-22 David Turner - - * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an - incorrect glyph advance in the case of mono-width fonts (like - Courier, Andale Mono, and others). - -2001-12-22 Detlef Würkner - - * builds/amiga/*: Adaptations to latest changes. - Support added for MorphOS. - -2001-12-22 Werner Lemberg - - * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'. - (ps_mask_table_merge, ps_hints_open, ps_hints_stem, - ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix - FT_ERROR messages. - * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as - `trace_pshalgo1'. - * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as - `trace_pshalgo2'. - * include/freetype/internal/ftdebug.h (FT_Trace): Updated. - - * docs/modules.txt: New file. - -2001-12-21 David Turner - - * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter): - Ignore invalid `hintmask' and `cntrmask' operators (instead of - returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro' - couldn't be rendered otherwise (it seems its charstring is buggy, - though this requires more analysis). - (FT_COMPONENT): Define. - - * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c - (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a - bug where the X and Y axis where inverted in the postscript hinter. - This caused problem when displaying on non-square surfaces. - - * src/pshinter/pshalgo2.c: s/vertical/dimension/. - - * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating - point constant with a fixed-float equivalent. For some reasons not - all compilers are capable of directly computing a floating pointer - constant casted to FT_Fixed, and will link a math library instead. - -2001-12-20 Werner Lemberg - - * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix - tracing strings. - * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto. - * src/cache/ftcmanag.c (ftc_family_table_alloc, - ftc_family_table_free, FTC_Manager_Check): Ditto. - * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto. - - * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning. - -2001-12-20 David Turner - - Added PostScript hinter support to the CFF and CID drivers. - - * include/freetype/internal/cfftypes.h (CFF_Font): New member - `pshinter'. - * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function. - * src/cff/cffload.h: Updated. - * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ... - (CFF_Builder_Init): This. - Added new argument `hinting'. - (CFF_Done_Builder): Renamed to ... - (CFF_Builder_Done): This. - (CFF_Init_Decoder): Added new argument `hinting'. - (CFF_Parse_CharStrings): Implement vstem support. - (CFF_Load_Glyph): Updated. - Add hinting support. - (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding(). - (cff_argument_counts): Updated. - * src/cff/cffgload.h: Updated. - * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. - (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init, - CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New - functions. - (CFF_Init_Face): Renamed to ... - (CFF_Face_Init): This. - Add hinter support. - (CFF_Done_Face): Renamed to ... - (CFF_Face_Done): This. - (CFF_Init_Driver): Renamed to ... - (CFF_Driver_Init): This. - (CFF_Done_Driver): Renamed to ... - (CFF_Driver_Done): This. - * src/cff/cffobjs.h: Updated. - * src/cff/cffdrivr.c (cff_driver_class): Updated. - - * include/freetype/internal/t1types.h (CID_FaceRec): New member - `pshinter'. - * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support. - * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. - (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs, - CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions. - (CID_Done_Face): Renamed to ... - (CID_Face_Done): This. - (CID_Init_Face): Renamed to ... - (CID_Face_Init): This. - Add hinting support. - (CID_Init_Driver): Renamed to ... - (CID_Driver_Init): This. - (CID_Done_Driver): Renamed to ... - (CID_Driver_Done): This. - * src/cid/cidobjs.h: Updated. - * src/cidriver.c: Updated. - - * src/pshinter/pshrec.c (t2_hint_stems): Fixed. - - * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that - crashed the library on exit. - - * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix - transformation of hinted glyphs. - - * src/cid/cidload.c (cid_read_subrs): Fix error condition. - - * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs - routines were never released when CID faces were destroyed. - - * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated - to move the definition of encoding tables back within `cffload.c' - instead of making them part of a shared header (causing problems in - `multi' builds). This reverts change 2001-08-08. - - * docs/CHANGES: Updated for 2.0.6 release. - * docs/TODO: Added `stem3 and counter hints support' to the TODO - list for the Postscript hinter. - * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug. - -2001-12-19 David Turner - - * include/freetype/cache/ftcache.h: Added comments to indicate that - some of the exported functions should only be used by applications - that need to implement custom cache types. - - * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug - that prevented composites from loading correctly, due to missing - parentheses around macro parameters. - - * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name' - tables optional to load PCL fonts properly. - - * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c - (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY): - `Fixed' the bug that prevented embedded bitmaps to be loaded when - the auto-hinter is used. This actually is a hack but will be enough - until the internal re-design scheduled for FreeType 2.1. - - * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline - shifting bug in the monochrome renderer. - - * README: Updated version numbers to 2.0.6. - -2001-12-17 Werner Lemberg - - * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid - glyph header. - -2001-12-15 Werner Lemberg - - * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning. - * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is - already in ftcmanag.h. - * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable - `gfam'. - * src/cache/ftcmanag.c (ftc_family_table_alloc, - * ftc_family_table_free): Use FT_EXPORT_DEF. - * include/freetype/cache/ftcmanag.h: Updated. - * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF. - * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable - `cfam'. - Remove compiler warning. - (FTC_CMapCache_Lookup): Remove compiler warnings. - (ftc_cmap_family_init): Ditto. - (FTC_CMapCache_Lookup): Ditto. - - * builds/unix/configure.ac: Increase `version_info' to 8:0:2. - * builds/unix/configure: Regenerated. - -2001-12-14 Werner Lemberg - - * builds/mac/README: Updated. - -2001-12-14 Scott Long - - * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when - dealing with invalid fonts (i.e. glyph size < 10 bytes). - -2001-12-14 Sam Latinga - - * builds/mac/freetype.make: A new Makefile to build with MPW on - MacOS classic. - -2001-12-14 David Turner - - * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c - (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph), - src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to - all font drivers (the advance width was never hinted when it - should). - - * include/freetype/freetype.h (FREETYPE_PATCH): New macro. - * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't - use `extern' keyword. - -2001-12-12 David Turner - - * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem - psh_globals_new): Adding correct BlueScale/BlueShift support, plus - family blues processing. - * src/pshinter/pshglob.h (PSH_BluesRec): Updated. - - Started adding support for the Postscript hinter in the CFF module. - - * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. - (CFF_Parse_CharStrings): Implement it. - * src/cff/cffgload.h: Updated. - -2001-12-12 Werner Lemberg - - * builds/unix/freetype2.m4: Some portability fixes. - -2001-12-11 Jouk Jansen - - * src/base/descrip.mms (OBJS): Add ftdebug.obj. - -2001-12-11 Werner Lemberg - - * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos. - -2001-12-11 David Turner - - * builds/unix/freetype-config.in: Modified the script to prevent - passing `-L/usr/lib' to gcc. - - * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT'). - - * builds/unix/freetype2.m4: New file for checking configure paths. - We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I - didn't modify builds/unix/install.mk yet. - - * INSTALL: Updated the instructions to build shared libraries with - Jam. They were simply wrong. - - * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused - slightly improper results for `FT_Cos' and `FT_Sin' (example: - FT_Sin(0) == -1!). - -2001-12-11 Detlef Würkner - - * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE): - Fixed incorrect argument types. - -2001-12-10 Francesco Zappa Nardelli - - * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts - by setting the `face->metrics.max_advance' correctly. - -2001-12-07 David Turner - - * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new - charmap cache. - * src/cache/ftcache.c: Updated. - - * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/. - -2001-12-06 Leonard Rosenthol - - Added support for reading .dfont files on Mac OS X. Also added a - new routine which looks up a given font by name in the Mac OS and - returns the disk file where it resides. - - * src/base/ftmac.c: Include and . - (is_dfont): New auxiliary function. - (FT_New_Face_From_dfont): New function. - (FT_GetFile_From_Mac_Name): New exported function. - (FT_New_Face): Updated. - * include/freetype/ftmac.h: Updated. - -2001-12-06 David Turner - - * src/cache/Jamfile, src/cache/rules.mk: Updated. - -2001-12-06 Werner Lemberg - - * INSTALL: Small update. - -2001-12-05 David Turner - - * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for - debugging purposes. - Comment out use of `origin'. - - * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug - where outline shifting wasn't correctly undone after bitmap - rasterization. This created problems with certain glyphs (like '"' - of certain fonts) and the cache system. - - * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo. - * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo. - (ps2_hints_apply): Small fix. - -2001-12-05 David Turner - - * src/pshinter/pshalgo2.c (psh2_hint_table_init), - src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler - warnings. - - * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*: - Yet another massive rewrite of the caching sub-system in order to - both increase performance and allow simpler cache sub-classing. As - an example, the code for the image and sbit caches is now much - simpler. - - I still need to update the documentation in - www/freetype2/docs/cache.html to reflect the new design though. - - * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New - macro. - (FT_CACHE_INTERNAL_CACHE_H): Updated. - -2001-12-05 David Krause - - * docs/license.txt: s/X Windows/X Window System/. - -2001-12-04 Werner Lemberg - - * src/raster/ftraster.c: Fix definition condition of MEM_Set(). - * src/smooth/ftgrays.c (M_Y): Change value to 192. - * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter. - Remove unused variable. - * src/cache/ftcimage.c (ftc_image_node_init, - ftc_image_node_compare): Remove unused variables. - * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused - variable. - * src/raster/ftraster.c (MEM_Set): Move definition down to avoid - compiler warning. - * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to - avoid compiler warnings. - * src/pcf/pcfread.c (tableNames): Use `const'. - (pcf_read_TOC): Change counter name to avoid compiler warning. - Use `const'. - * src/pshinter/pshrec.c (ps_hints_close): Remove redundant - declaration. - * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables - to avoid shadowing. - * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto. - * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()' - and `T1_Size_Done()'. - -2001-11-20 Antoine Leca - - * include/freetype/ttnameid.h: Added some new Microsoft language - codes and LCIDs as found in MSDN (Passport SDK). Also added - comments about the meaning of bit 57 of the `OS/2' table - (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is - a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner - for noticing this. - -2001-11-20 David Turner - - * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting - routine that created nasty alignment artefacts. - - * src/pshinter/pshrec.c, tests/gview.c: Debugging updates. - - * src/smooth/ftgrays.c: De-activated experimental gamma support. - Apparently, `optimal' gamma tables depend on the monitor type, - resolution and general karma, so it's better to compute them outside - of the rasterizer itself. - (gray_convert_glyph): Use `volatile' keyword. - -2001-10-29 David Turner - - Adding experimental `gamma' support. This produces smoother glyphs - at small sizes for very little cost. - - * src/smooth/ftgrays.c (grays_init_gamma): New function. - (gray_raster_new): Use it. - - Various fixes to the auto-hinter. They merely improve the output of - sans-serif fonts. Note that there are still problems with serifed - fonts and composites (accented characters). - - * src/autohint/ahglyph.c (ah_outline_load, - ah_outline_link_segments): Implement it. - Fix typos. - (ah_outline_save, ah_outline_compute_segments): Fix typos. - * src/autohint/ahhint.c (ah_align_serif_edge): New argument - `vertical'. Implement improvement. - (ah_hint_edges_3, ah_hinter_hint_edges): Implement it. - Fix typos. - (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix - typos. - (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined. - * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro. - * src/autohint/ahtypes.h: Ditto. - (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges' - (making them global as `ah_debug_disable_horz' and - `ah_debug_disable_vert'). - Fix typos. - - * tests/gview.c: Updated the debugging glyph viewer to show the - hints generated by the `autohint' module. - -2001-10-27 David Turner - - * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that - considerably lowered the performance of the abstract chunk cache. - -2001-10-26 David Turner - - * include/freetype/ftcache.h, include/freetype/cache/*.h, - src/cache/*.c: Major re-design of the cache sub-system to provide - better performance as well as an `Acquire'/`Release' API. Seems to - work well here, but probably needs a bit more testing. - -2001-10-26 Leonard Rosenthol - - * builds/mac/README: Updated to reflect my taking over the project - and that is now being actively maintained. - - * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller - to support loading a face other than the - first from a FOND resource. - (FT_New_Face_From_FOND): Updated. - -2001-10-25 Leonard Rosenthol - - * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac - OS for latest version (7) of CWPro and for recent changes to the FT - source tree. - -2001-10-25 David Turner - - * include/freetype/config/ftoption.h: Updated comments to explain - precisely how to use project-specific macro definitions without - modifying this file manually. - - (FT_CONFIG_FORCE_INT64): Define. - - (FT_DEBUG_MEMORY): New macro. - -2001-10-24 Tom Kacvinsky - - * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'. - -2001-10-23 David Turner - - * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c: - Improvements to the memory debugger to report more information in - case of errors. Also, some allocations that occurred through REALLOC - couldn't be previously caught correctly. - - * src/autohint/ahglyph.c (ah_outline_compute_segments, - ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new), - src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced - liberal uses of memset() by the MEM_Set() macro. - -2001-10-23 David Turner - - * src/raster/ftraster.c (Update): Removed to be inlined in ... - (Sort): Updated. - -2001-10-22 David Turner - - * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory), - builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory), - builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory), - src/base/ftdbgmem.c: Updated the memory debugger and - platform-specific implementations of `ftsystem' in order to be able - to debug memory allocations on Unix, VMS and Amiga too! - - * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed - some bogus warnings. - - * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c: - Modified the debugging memory manager to report the location (source - file name + line number) where leaked memory blocks are allocated in - the source file. - - * src/base/ftdbgmem.c: New debugging memory manager. You must - define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It - will record every memory block allocated and report simple errors - like memory leaks and double deletes. - - * src/base/Jamfile: Include ftdbgmem. - * src/base/rules.mk: Ditto. - * src/base/ftbase.c: Include ftdbgmem.c. - - * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY - macro definition. - - * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the - base component to use the debugging memory manager when the macro - FT_DEBUG_MEMORY is defined. - -2001-10-21 Tom Kacvinsky - - * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if - we are working with a CID keyed CFF font. Otherwise, a variable - that was never allocated memory might freed. This is a correction - to the previous patch for freeing subfonts. - -2001-10-21 Tom Kacvinsky - - * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to - avoid a memory leak. - -2001-10-21 David Turner - - * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c, - src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes - (in multi-object compilation mode, mainly). - -2001-10-20 Tom Kacvinsky - - * src/type1/t1load.c (parse_encoding): Add a test to make sure - that custom encodings (i.e., neither StandardEncoding nor - ExpertEncoding) are not loaded twice when the Type 1 font is - synthetic. - - * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test - for when loading synthetic fonts to make sure that the font name - and subroutines are not loaded twice. This is to remove a memory - leak that occurred because the original memory blocks for these - objects were not deallocated when the objects were parsed the - second time. - -2001-10-19 David Turner - - * src/smooth/ftgrays.c, src/pshinter/pshglob.h, - src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of - compiler warnings. - - * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control - files to build the PostScript hinter with the `old' build system. - -2001-10-19 Jacob Jansen - - * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build - files. - -2001-10-18 David Turner - - * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the - `glnames.py' script used to generate the `pstables.h' header file. - The old one contained a serious bug that made FreeType return - incorrect glyph names for certain glyphs. - - * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of - pixel size from character size to use rounding. This is an - experiment to see whether this gives values similar to Windows for - scaled ascent/descent/etc. - - * src/base/ftcalc.c (FT_Div64by32): Changed the implementation - slightly since the original code was mis-compiled on Mac machines - using the MPW C compiler. - - * src/base/ftobjs.c (FT_Realloc): When a memory block was grown - through FT_Realloc(), the new bytes were not set to 0, which created - some strange bugs in the PostScript hinter. - (destroy_face): Don't deallocate unconditionally. - - * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph): - Adding support to new PostScript hinter. - - * include/freetype/internal/psglobal.h, - include/freetype/internal/pshints.h, - include/freetype/config/ftmodule.h, src/pshinter/Jamfile, - src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h, - src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h, - src/pshinter/pshalgo2.c, src/pshinter/pshglob.h, - src/pshinter/pshglob.c, src/pshinter/pshinter.c, - src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c, - src/pshinter/pshrec.h: Adding new PostScript hinter module. - - * include/freetype/internal/ftobjs.h, - include/freetype/internal/internal.h, - include/freetype/internal/psaux.h, - include/freetype/internal/t1types.h, src/psaux/psobjs.c, - src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c, - src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c, - src/type1/t1objs.h: Updates to use the new PostScript hinter. - - * tests/Jamfile, tests/gview.c: Adding a new glyph hinting - viewer/debugger to the source tree. Note that you will _not_ be - able to compile it since it depends on an unavailable graphics - library named `Nirvana' to render vector images. - -2001-10-17 David Turner - - - * Version 2.0.5 released. - ========================= - - - * include/freetype/freetype.h, include/internal/ftobjs.h, - src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named - 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given - font. Should work with all formats except pure CFF/CEF fonts (this - will be added soon). - - * src/cid/cidriver (cid_get_postscript_name): New function. - (CID_Get_Interface): Handle `postscript_name' interface. - - * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function. - (SFNT_Get_Interface): Handle `postscript_name' interface. - - * src/type1/t1driver.c (t1_get_ps_name): New function. - (Get_Interface): Handle `postscript_name' interface. - - * README, docs/CHANGES: Updated for 2.0.5 release. - -2001-10-08 David Turner - - Fixed a bug in `glnames.py' that prevented it from generating - correct glyph names tables. This resulted in the unavailability of - certain glyphs like `Cacute', `cacute' and `lslash' in Unicode - charmaps, even if these were present in the font (causing problems - for Polish users). - - * src/tools/glnames.py (mac_standard_names): Fixed. - (t1_standard_strings): Some fixes and renamed to ... - (sid_standard_names): This. - (t1_expert_encoding): Fixed. - (the_adobe_glyph_list): Renamed to ... - (adobe_glyph_names): This. - (the_adobe_glyphs): Renamed to ... - (adobe_glyph_values): This. - (dump_mac_indices, dump_glyph_list, dump_unicode_values, main): - Updated. - * src/psnames/pstables.h: Regenerated. - * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset. - Fix return value. - Use `sid_standard_table' and `ps_names_to_unicode' instead of - `t1_standard_glyphs' and `names_to_unicode'. - (PS_Macintosh_Name): Use `ps_glyph_names' instead of - `standard_glyph_names'. - (PS_Standard_Strings): Use `sid_standard_names' instead of - `t1_standard_glyphs'. - - * doc/BUGS, doc/TODO: New documents. - -2001-10-07 Richard Barber - - * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented - correct LRU behaviour. - -2001-10-07 David Turner - - setjmp() and longjmp() are now used for rollback (i.e. when memory - pool overflow occurs). - - Function names are now all uniformly prefixed with `gray_'. - - * src/smooth/ftgrays.c: Include . - (ErrRaster_MemoryOverflow): New macro. - (TArea): New type to store area values in each cell (using `int' was - too small on 16-bit systems). is included to properly - get the needed data type. - (TCell, TRaster): Use it. - (TRaster): New element `jump_buffer'. - (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get - `outline' from it. - (gray_record_cell): Use longjmp(). - (gray_set_cell): Use gray_record_cell() for error handling. - (gray_render_line, gray_render_conic, gray_render_cubic): Simplify. - (gray_convert_glyph_inner): New function, using setjmp(). - (gray_convert_glyph): Use it. - -2001-10-07 David Turner - - Provide a public API to manage multiple size objects for a given - FT_Face in the new header file `ftsizes.h'. - - * include/freetype/ftsizes.h: New header file, - * include/freetype/internal/ftobjs.h: Use it. - Remove declarations of FT_New_Size and FT_Done_Size (moved to - ftsizes.h). - * include/freetype/config/ftheader.h (FT_SIZES_H): New macro. - * src/base/ftobjs.c (FT_Activate_Size): New function. - * src/cache/ftcmanag.c: Include ftsizes.h. - (ftc_manager_init_size, ftc_manager_flush_size): Use - FT_Activate_Size. - -2001-09-20 Detlef Würkner - - * builds/amiga/*: Added port to Amiga with the SAS/C compiler. - -2001-09-15 Detlef Würkner - - * src/type1/t1afm.c (T1_Done_AFM): Free `afm'. - -2001-09-10 Yao Zhang - - * src/sfnt/ttcmap.c (code_to_index2): Handle code values with - hi-byte == 0 correctly. - -2001-09-10 Werner Lemberg - - * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo. - -2001-08-30 Martin Muskens - - * src/type1/t1load.c (parse_font_matrix): A new way to compute the - units per EM with greater accuracy (important for embedded T1 fonts - in PDF documents that were automatically generated from TrueType - ones). - - * src/type1/t1load.c (is_alpha): Now supports `+' in font names; - this is used in embedded fonts. - - * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that - generated a dangling pointer reference. - -2001-08-30 Anthony Feik - - * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag - FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files. - -2001-08-25 Werner Lemberg - - * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of - `cmap_rec_fields'. - - * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]: - Undefine FT_ERR_BASE before defining again. - -2001-08-22 Werner Lemberg - - * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func. - -2001-08-21 Werner Lemberg - - * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'. - -2001-08-21 David Turner - - * include/freetype/config/ftoption.h: Changed the default setting - for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks - source compatibility in a few cases. Updated the comment to explain - that too. - -2001-08-17 Martin Muskens - - * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo. - -2001-08-12 Werner Lemberg - - Updating to OpenType 1.3. - - * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4, - TT_CMap6): Adding field `language'. - (TT_CMapTable): Removing field `language'. - Type of `length' field changed to FT_ULong. - Adding fields for cmaps format 8, 10, and 12. - (TT_CMapGroup): New auxiliary structure. - (TT_CMap8_12, TT_CMap10): New structures. - * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader): - Removed last element of `Reserved' array. - * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4, - TT_NAME_ID_CID_FINDFONT_NAME): New macros. - - * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language' - field to the new structures. - Fixed freeing of arrays in case of unsuccessful loads. - Added support for loading format 8, 10, and 12 cmaps. - (TT_CharMap_Free): Added support for freeing format 8, 10, and 12 - cmaps. - (code_to_index4): Small improvement. - (code_to_index6): Ditto. - (code_to_index8_12, code_to_index10): New functions. - * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new - structure. - (TT_Load_CMap): Ditto. - - * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS - Unicode). - -2001-08-11 Werner Lemberg - - * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning. - -2001-08-09 Tom Kacvinsky - - * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to - cff_get_glyph_name for consistency. - - (cff_get_glyph_index): Minor documentation change. - - * src/type1/t1driver.c (t1_get_name_index): New function used in - Get_Interface as the function returned when the `name_index' - function is requested. - - (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency. - -2001-08-08 Tom Kacvinsky - - * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset, - cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding, - and cff_expert_encoding arrays to cffload.h. - - * src/cff/cffload.h: Added definitions of cff_isoadobe_charset, - cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding, - and cff_expert_encoding arrays. - - * src/cff/cffdrivr.c (cff_get_name_index): New function, returned - when `cff_get_interface' is called with a request for the - `name_index' function. - - (cff_get_interface): Modified so that it returns the function - `cff_get_name_index' when the `name_index' function is requested. - - * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to - return a glyph index for a given glyph name only if the driver - supports glyph names. - - * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester): - New function pointer type definition used in the function - FT_Get_Name_Index. - - * include/freetype/freetype.h (FT_Get_Name_Index): Added - documentation and prototype. - -2001-07-26 Werner Lemberg - - * builds/cygwin/*: Removed. Use the unix stuff instead. - -2001-07-26 Jouk Jansen - - * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated - 2001-06-27. - -2001-07-17 Werner Lemberg - - * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for - `cursor' and `capacity'. - * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second - parameter. - (PS_Table_Add): Use FT_Offset for `new_size'. - - Add support for version 0.5 maxp tables. - - * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it. - (TT_Load_OS2): Initialize some values. - -2001-07-13 Werner Lemberg - - * src/base/ftsynth.c: Include ftcalc.h unconditionally. - -2001-07-07 David Turner - - * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread: - Removed pedantic compiler warnings when the bytecode interpreter is - compiled in. - -2001-07-03 Werner Lemberg - - * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove - unused variable `edges'. - (ah_hinter_load): Remove unused variables `old_width' and - `new_width'. - * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again). - * src/psaux/psobjs.c (T1_Decrypt): Ditto. - * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto. - -2001-06-28 David Turner - - * include/internal/ftstream.h: Modified the definitions - of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness. - -2001-06-26 Werner Lemberg - - * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset - instead of FT_Int as type for `length' parameter. - * include/freetype/internal/psaux.h (PSAux_Interface): Updated. - -2001-06-27 Wolfgang Domröse - - * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset - instead of FT_Int as type for `length' parameter. - - - * Version 2.0.4 released. - ========================= - - -2001-06-27 David Turner - - * builds/unix/ftconfig.in: Changed the definition of the - FT_CALLBACK_DEF macro. - - * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and - use of the FT_CALLBACK_DEF macro in order to support 16-bit - compilers. - - * builds/unix/ftconfig.in: Changed the definition of the - FT_CALLBACK_DEF macro. - - * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures - that the kerning table is correctly sorted (some problem fonts don't - have a correct kern table). - -2001-06-26 Wolfgang Domröse - - * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo. - -2001-06-24 David Turner - - * src/base/ftcalc.c (ft_div64by32): Fixed the source to work - correctly on 16-bit systems. - -2001-06-23 Anthony Fok - - * debian/*: Added Debian package build directory for 2.0.4. - -2001-06-22 David Turner - - * docs/PATENTS: Added patents disclaimer. This one was missing! - - * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release. - -2001-06-20 Werner Lemberg - - * include/freetype/config/ftconfig.h: Add two more `L's to - constants. - Add missing semicolons. - - * builds/toplevel.mk: Do similar change as for - builds/unix/detect.mk. - - * include/freetype/freetype.h (FT_ENC_TAG): New version to make it - easier to redefine. - * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto. - - * src/pcf/pcfread.c (pcf_get_encodings): Add cast. - -2001-06-19 David Turner - - * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html: - Updated the Visual C++ project (for the 2.0.4 release). - - * builds/unix/detect.mk: Added rule for AIX detection (which uses - /usr/sbin/init instead of /sbin/init). - - * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the - error macros to simplify handling of new error scheme. - -2001-06-19 Werner Lemberg - - * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro. - -2001-06-19 David Turner - - Removing _lots_ of compiler warnings when the most pedantic warning - levels of Visual C++ and Borland C++ are used. Too many files to be - listed here, but FT2 now compiles without warnings with VC++ and the - `/W4' warning level (lint-style). - - * include/freetype/freetype.h (FT_New_Memory_Face): Updated - documentation. - * include/freetype/fttypes.h (FT_BOOL): New macro. - * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++ - to suppress warning. - * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE}, - FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros. - (NEXT_*): Use them. - * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H. - (FT_New_Memory_Face): Add `const' to function declaration. - -2001-06-18 Werner Lemberg - - Minor cleanups to remove compiler warnings. - - * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use - `L' for constant. - * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto. - * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant. - * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable. - * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants. - * src/base/ftobjs.c (FT_Done_Size): Fix return value. - (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove - unused `memory' variable. - * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant. - * src/autohint/ahhint.c (ah_hint_edges_3, - ah_hinter_align_edge_points): Remove unused `before' and `after' - variables. - (ah_hinter_align_weak_points): Remove unused `edge_limit' variable. - (ah_hinter_load): Remove unused `new_advance', `start_contour', - and `metrics' variables. - * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid - compiler warning. - * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset' - variable. - * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused - `outline' variable. - (cff_compute_bias): Use `U' for constant. - * src/cid/cidload.c (cid_decrypt): Ditto. - * src/psaux/psobjs.c (T1_Decrypt): Ditto. - * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto. - * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version' - variable. - * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top' - variable. - * src/truetype/ttgload.c (load_truetype_glyph): Remove unused - `num_contours' and `ins_offset' variables. - (compute_glyph_metrics): Remove unused `Top' and `x_scale' - variables. - (TT_Load_Glyph): Remove unused `memory' variable. - * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants. - -2001-06-18 Werner Lemberg - - Make the new error scheme source compatible with older FT versions - by introducing another layer. - - * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New - macros. - (FT_NOERRORDEF): Removed. - * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_. - -2001-06-16 Werner Lemberg - - * include/freetype/freetype.h (FT_ENC_TAG): New macro. - (FT_Encoding_): Use it. - * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it - conditionally. - -2001-06-14 David Turner - - Modified the TrueType interpreter to let it use the new - trigonometric functions provided in `fttrigon.h'. This gets rid of - some old 64-bit computation routines, as well as many warnings when - compiling the library with the `long long' 64-bit integer type. - - * include/freetype/config/ftoption.h: Undefine - FT_CONFIG_OPTION_OLD_CALCS. - * include/freetype/internal/ftcalc.h: Rearrange use of - FT_CONFIG_OPTION_OLD_CALCS. - * src/base/ftcalc.c: Add declaration of FT_Int64 if - FT_CONFIG_OPTION_OLD_CALCS isn't defined. - * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H. - (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't - defined. - (Current_Ratio, Normalize): Simplify code. - -2001-06-11 Mike Owens - - * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove - compiler warnings. - -2001-06-08 Werner Lemberg - - * builds/unix/configure.in: Renamed to ... - * builds/unix/configure.ac: This to make sure that autoconf 2.50 is - needed. - Run `autoupdate' on it. - Increase `version_info' to 7:0:1. - * builds/unix/configure: Regenerated. - -2001-06-08 David Turner - - * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that - corrupted transformed glyphs that were auto-hinted (the transform - was applied twice). - - Fixed a bug that returned an invalid linear width for composite - TrueType glyphs. - - * include/internal/tttypes.h (TT_Loader_): Two new elements `linear' - and `linear_def'. - * src/truetype/ttgload.c (load_truetype_glyph, - compute_glyph_metrics): Use it. - - * include/fttypes.h (FT_ERROR_BASE): New macro. - * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it - to make source code work with the new error scheme implemented by - Werner. - * src/base/ftoutln.c (FT_Outline_Render): Ditto. - -2001-06-07 Werner Lemberg - - Updating to libtool 1.4.0 and autoconf 2.50. - - * builds/unix/ltconfig: Removed. - * builds/unix/ltmain.sh, builds/unix/configure.in, - builds/unix/aclocal.m4: Updated. - * builds/unix/configure: Regenerated. - -2001-06-06 Werner Lemberg - - Complete redesign of error codes. Please check ftmoderr.h for more - details. - - * include/freetype/internal/cfferrs.h, - include/freetype/internal/tterrors.h, - include/freetype/internal/t1errors.h: Removed. Replaced with files - local to the module. All extra error codes have been moved to - `fterrors.h'. - - * src/sfnt/ttpost.h: Move error codes to `fterrors.h'. - - * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h, - src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h, - src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h, - src/smooth/ftsmerrs.h, src/truetype/tterrors.h, - src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the - error names for the module it belongs to. - - * include/freetype/ftmoderr.h: New file, defining the module error - offsets. Its structure is similar to `fterrors.h'. - - * include/freetype/fterrors.h (FT_NOERRORDEF): New macro. - (FT_ERRORDEF): Redefined to use module error offsets. - All internal error codes are now public; unused error codes have - been removed, some are new. - - * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New - macro. - * include/freetype/config/ftoption.h - (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro. - - All other source files have been updated to use the new error codes; - some already existing (internal) error codes local to a module have - been renamed to give them the same name as in the base module. - - All make files have been updated to include the local error files. - -2001-06-06 Werner Lemberg - - * src/cid/cidtokens.h: Replaced with... - * src/cid/cidtoken.h: This file for 8+3 consistency. - - * src/raster/ftraster.c: Use macros for header file names. - - * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_): - Fix length of `Reserved' array. Note that this isn't the real fix - since recent OpenType specs have introduced a `CaretOffset' field - instead of the first reserved byte. - -2001-05-29 Werner Lemberg - - * INSTALL: Minor fixes. - - - * Version 2.0.3 released. - ========================= - - -2001-05-29 David Turner - - * INSTALL, docs/CHANGES: Updated. - -2001-05-25 David Turner - - Moved several documents from the top-level to the `docs' directory. - - * src/base/ftcalc.c (FT_DivFix): Small fix to return value. - -2001-05-16 David Turner - - * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the - composite loader. Spotted by Keith Packard. - * src/base/ftobjs.c (FT_GlyphLoader_Check_Points, - FT_GlyphLoader_Check_Subglyphs): Ditto. - -2001-05-14 David Turner - - Fixed the incorrect blue zone computations, and improved the - composite support. Note that these changes result in improved - rendering, while sometimes introducing their own artefacts. This is - probably the last big change to the autohinter before the - introduction of a complete replacement. - - * src/autohint/ahglobal.c (sort_values): Fix loop. - * src/autohint/ahglyph.c: Removed some obsolete code. - (ah_outline_compute_edges): Modify code to set the ah_edge_round - flag. - (ah_outline_compute_blue_edges): Add code to compute active blue - zones. - * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags - value. - - * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that - created incorrect scale factors! - (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements. - -2001-05-12 Werner Lemberg - - * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__. - * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ -> - __FTTRIGON_H__. - Include FT_FREETYPE_H. - Beautified; added copyright. - * src/base/fttrigon.c: Beautified; added copyright. - -2001-05-11 David Turner - - * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c - (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed - the incorrect EM size computation. - - * include/freetype/fttrigon.h, src/base/fttrigon.c: New files, - adding trigonometric functions to the core API (using Cordic - algorithms). - * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them. - - * builds/newline: New file. - * builds/top_level.mk, builds/detect.mk: Use it. This fixes - problems with Make on Windows 2000, as well as problems when `make - distclean' is invoked on a non-Unix platform when there is no - `config.mk' in the current directory. - - * builds/freetype.mk: Fixed a problem with object deletions under - Dos/Windows/OS/2 systems. - - Added new directory to hold tools and test programs. - - * docs/docmaker.py, docs/glnames.py: Moved to... - * src/tools/docmaker.py, src/tools/glnames.py: This place. - * src/tools/cordic.py: New file used to compute arctangent table - needed by fttrigon.c. - * src/tools/test_bbox.c, src/tools/test_trig.c: New test files. - - * src/tools/docmaker.py: Improved the script to add the current date - at the footer of each web page (useful to distinguish between - versions). - - * Jamfile: Fixed incorrect HDRMACRO argument. - - * TODO: Removed the cubic arc bbox computation note, since it has been - fixed recently. - * src/base/ftbbox.c (test_cubic_zero): Renamed to... - (test_cubic_extrema): This function. Use `UL' for unsigned long - constants. - - * include/freetype/t1tables.h, include/freetype/config/ftoption.h: - Formatting. - -2001-05-10 David Turner - - * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak - which happened when trying to open 0-size font files! - -2001-05-09 Werner Lemberg - - * include/freetype/internal/ftcalc.h: Move declaration of - FT_SqrtFixed() out of `#ifdef FT_LONG64'. - -2001-05-08 Francesco Zappa Nardelli - - * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width - computation. - -2001-05-08 David Turner - - * docs/docmaker.py: Updated the DocMaker script in order to add - command line options (--output,--prefix,--title), fix the erroneous - line numbers reported during errors and warnings, and other - formatting issues. - - * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny - fixes related to rounding in 64-bits routines and - pseudo-`optimizations'. - -2001-04-27 David Turner - - * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient - normalization algorithm (invalid final bit position, and invalid - shift computation). - -2001-04-26 Werner Lemberg - - * builds/unix/config.guess, builds/unix/config.sub: Updated to - latest versions from gnu.org. - - * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag. - - * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed() - unconditionally. - * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H. - Fix compiler warnings. - * src/base/ftcalc.c: Fix (potential) compiler warnings. - -2001-04-26 David Turner - - * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit - fixed-point square root computation. It is now used even with - 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-) - - * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line. - -2001-04-25 David Turner - - * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use - direct computations with 16.16 values instead of sub-divisions. It - is now slower, but proves a point :-) - - * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c: - Fixed the Bézier stack depths. - - * src/base/ftcalc.c (FT_MulFix): Minor rounding fix. - - * builds/beos: Added BeOS-specific files to the old build system - (no changes were necessary to support BeOS in the Jamfile though). - -2001-04-20 David Turner - - * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int - types on platforms where Autoconf is not available). Also removed - FTCALC_USE_LONG_LONG and replaced it with - FT_CONFIG_OPTION_FORCE_INT64. - - * builds/win32/freetype.dsp: Updated the Visual C++ project file. - Doesn't create a DLL yet. - - * cffgload.c: Removed a compilation warning. - -2001-04-10 Tom Kacvinsky - - * t1load.c (parse_charstrings): Changed code for placing .notdef - glyph into slot 0 so that we no longer have a memory access - violation. - - * t1load.h: In structure T1_Loader, added swap_table (of type - PS_Table) to facilitate placing the .notdef glyph into slot 0. - -2001-04-10 Francesco Zappa Nardelli - - * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value. - -2001-04-09 Laurence Withers - - * builds/dos/detect.mk: Add support for bash. - -2001-04-05 Werner Lemberg - - * builds/os2/*.mk: These files have been forgotten to update to - the structure of similar makefiles. - * builds/dos/*.mk: Ditto. - * builds/ansi/*.mk: Ditto. - - * builds/win32/win32-def.mk (BUILD): Fix typo. - - * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT. - This is already used in the link_*.mk files. - -2001-04-03 Werner Lemberg - - * src/*/Jamfile: Slight changes to make files more cryptic. - -2001-04-03 Werner Lemberg - - * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes - to give files identical structure. - -2001-04-02 Werner Lemberg - - * CHANGES: Reformatted, minor fixes. - * TODO: Updated. - * README: Formatting. - * include/freetype/freetype.h: Formatting. - - * Jamfile: Fix typo. - - * src/cff/cffparse.c: Move error code #defines to... - * include/freetype/internal/cfferrs.h: This file. - * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced - `FT_Err_*' with `CFF_Err_*'. - * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'. - * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto. - * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with - `TT_Err_*'. - * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto. - * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c, - src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'. - - * include/freetype/internal/cfferrs.h: Add - `CFF_Err_Unknown_File_Format'. - * include/freetype/internal/t1errors.h: Add - `T1_Err_Unknown_File_Format'. - * include/freetype/internal/tterrors.h: Add - `TT_Err_Unknown_File_Format'. - - * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset' - references. - * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'. - - * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use - FT_LOCAL_DEF. - * src/cid/cidobjs.c (CID_Done_Driver): Ditto. - * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size): - Ditto. - * src/type1/t1objs.c (T1_Done_Driver): Ditto. - * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto. - * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'. - -2001-04-02 Tom Kacvinsky - - * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer - dereference. Submitted by Herbert Duerr . - -2001-03-26 Tom Kacvinsky - - * include/freetype/config/ftconfig.h: Changed hexadecimal - constants to use suffix U to avoid problems with HP-UX's c89 - compiler. Submitted by G.W. Lucas . - -2001-03-24 David Turner - - * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to - the source tree. See www.freetype.org/jam/index.html for details. - - - * Version 2.0.2 released. - ========================= - - -2001-03-20 Werner Lemberg - - * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. - -2001-03-20 David Turner - - * include/freetype/config/ftheader.h, include/freetype/ftsnames.h: - Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to - FT_SFNT_NAMES_H. - - * docs/docmaker.py: Added generation of INDEX link in table of - contents. - - * INSTALL, docs/BUILD: Updated documentation to indicate that the - compilation process has changed slightly (no more `src' required in - the include path). - - * builds/*/*-def.mk: Changed the objects directory from `obj' to - `objs'. - - * include/freetype/config/ftheader.h: Removed obsolete macros like - FT_SOURCE_FILE, etc. and added cache-specific macro definitions that - were previously defined in . Added comments to - be included in a new API Reference section. - - * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each - component needs to add its own directory to the include path at - compile time. Modified all `rules.mk' and `descrip.mms' - accordingly. - -2001-03-20 Werner Lemberg - - * builds/unix/configure.in: Add $ft_version. - * builds/unix/freetype-config.in: Use it. - * builds/unix/configure: Updated. - -2001-03-19 Tom Kacvinsky - - * src/type1/t1load.c (parse_font_matrix): Assign the units per em - value an unsigned short value, first by shifting right 16 bits, - then by casting the results to FT_UShort. - - * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em - value an unsigned short value, first by shifting right 16 bits, - then by casting the results to FT_UShort. - -2001-03-17 David Turner - - * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, - src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove - compiler warnings in pedantic modes. - - * include/config/ft2build.h, include/config/ftheader.h: The file - `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the - top-level . - - * include/config/ftheader.h: Added new section describing the #include - macros. - -2001-03-17 Tom Kacvinsky - - * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed - values for the bounding box numbers. - - * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font, - set `root->ascender' (`root->descender') to the integer part of - `root->bbox.yMax' (`root->bbox.yMin', respectively). - -2001-03-16 Tom Kacvinsky - - * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in - cff_get_interface to facilitate getting a glyph name for glyph index - via FT_Get_Glyph_Name(). - - (cff_get_interface): Added support for getting a glyph name via the - `glyph_name' module interface. Uses the new function - get_cff_glyph_name(). - Submitted by Sander van der Wal . - - * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with - FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is - not defined. This is to add support for getting a glyph name from a - glyph index via FT_Get_Glyph_Name(). - Submitted by Sander van der Wal . - - * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for - deprecated operator `dotsection'. - Submitted by Sander van der Wal . - -2001-03-12 Werner Lemberg - - * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error - messages. - - * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer. - -2001-03-12 Tom Kacvinsky - - * include/freetype/internal/psaux.h: Changed the lenIV member of - the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt. - - * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust - for lenIV seed bytes at the start of a decrypted subroutine. - - * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only - if lenIV >= 0. - - * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only - if lenIV >= 0. - -2001-03-11 Werner Lemberg - - * TODO: Updated. - - * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to - avoid compiler warnings. - -2001-03-10 Tom Kacvinsky - - * TODO: New file. - - * include/freetype/freetype.h: Added prototypes and notes for - three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix. - * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added - implementation code. - - * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM, - and if that is not available, default to 1000 units per EM. Changed - assignment code for ascender and descender values. - * src/cid/cidload.c (parse_font_matrix): Added units_per_EM - processing. - (parse_font_bbox): Changed to use FT_Fixed number handling. - - * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code - for ascender, descender, and max_advance_width. - * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed - number handling. - -2001-03-10 Henrik Grubbström - - * src/*/*.c: Added many casts to make code more 64bit-safe. - -2001-03-07 Werner Lemberg - - * INSTALL, docs/BUILD: We need GNU make 3.78 or newer. - -2001-03-07 Tom Kacvinsky - - * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait - until parse_font_bbox is changed before we use logical shift rights - in the assignments of `root->ascender', `root->descender', and - `root->max_advance_width'. - - (T1_Done_Face): Free `char_name' table to avoid a memory leak. - Submitted by Sander van der Wal . - -2001-03-05 Tom Kacvinsky - - * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the - the Type 2 glyph charstring (used by conversion programs). - Submitted by Ha Shao . - -2001-03-04 Antoine Leca - - * include/freetype/ttnameid.h: Correct a stupid typo which prevented - correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice). - -2001-03-04 Werner Lemberg - - * src/autohint/ahtypes.h (AH_Hinter): Add elements - `disable_horz_edges', `disable_vert_edges'. - * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use - them (and remove static variables with the same names). - * src/pcf/pcfutil.c (BitOrderInvert): Add `const'. - * docs/glnames.py: Updated to latest pstables.h changes. - - * builds/unix/detect.mk: Add test for Hurd. - * builds/hurd/detect.mk: Removed. - -2001-03-04 Sander van der Wal - - * src/psnames/pstables.h: Add more `const'. - * src/pcf/pcfutil.c: Ditto. - -2001-03-04 Werner Lemberg - - * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo - (FT_Glyph_Done -> FT_Done_Glyph). - -2001-03-01 Antoine Leca - - * include/freetype/ttnameid.h: Added some new Microsoft language - codes and LCIDs as found in Office Xp. - -2001-02-28 David Turner - - * builds/hurd/detect.mk: New file. Added support to detect the GNU - Hurd operating system as Unix-like. Fix submitted by Anthony Fok - . - - * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the - the Type 1 glyph charstring (used by conversion programs). - Submitted by Ha Shao . - -2001-02-22 David Turner - - * src/base/ftgrays.c (grays_sweep): The function didn't exit - immediately if `num_cells' was 0 as it should. Thanks to Boris for - finding this out. - - * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when - bitmap rendering fails (thanks to Graham Asher). - -2001-02-13 Werner Lemberg - - * docs/docmaker.py (DocSection::add_element): Use - `self.print_error()'. - - * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org). - -2001-02-13 David Turner - - * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker - script to support chapters and section block ordering. Updated the - public header files accordingly. - - * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format - were not correctly copied. - -2001-02-08 Tom Kacvinsky - - * src/cff/cffparse.c (cff_parse_font_matrix): Removed an - unnecessary fprintf( stderr, ... ). - -2001-02-07 Tom Kacvinsky - - * src/type1/t1objs.c (T1_Init_Face): Added code to get the - units_per_EM from the value assigned in parse_font_matrix, if - available. Default to 1000 if not available. - - * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get - the units_per_EM from the FontMatrix. - - (cff_parse_fixed_thousand): New function. Gets a real number from - the CFF font, but multiplies by 1000 (this is to avoid rounding - errors when placing this real number into a 16.16 fixed number). - - (cff_parse_real): Added code so that the integer part is moved - into the high sixteen bits of the 16.16 fixed number. - - * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units - per EM from the CFF dictionary, if available. - - * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_, - added a units_per_em member to facilitate passing of units_per_em - from function cff_parse_font_matrix. - - * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric - character. This is so that font names with `-' are fully parsed, - etc... - -2001-02-02 Werner Lemberg - - * src/psaux/psobjs.c (shift_elements): Remove if clause (which is - obsolete now). - - (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC() - + MEM_Copy() to avoid a memory bug. - -2001-02-01 David Turner - - * docs/docmaker.py: Improved the index sorting routine to place - capital letters before small ones. Added the `' marker to - section blocks in order to give the order of blocks. - -2001-01-30 Antoine Leca - - * include/freetype/ttnameid.h: Latest updates to Microsoft language - ID codes. - -2001-01-24 Tom Kacvinsky - - * src/cff/t1load.c (parse_font_matrix): Added heuristic to get - units_per_EM from the font matrix. - - (parse_dict): Deleted test to see whether the FontInfo keyword has - been seen. Deletion of this test allows fonts without FontInfo - dictionaries to be parsed by the Type 1 driver. - - (T1_Open_Face): Deleted empty subroutines array test to make sure - fonts with no subroutines still are parsed. - -2001-01-17 Francesco Zappa Nardelli - - * src/pcfread.c (pcf_get_properties, pcf_get_metrics, - pcf_get_bitmaps): Fix compiler errors. - -2001-01-11 David Turner - - * src/pcf/pcfread.c: Removed some compilation warnings related - to comparison of signed vs. unsigned integers. - - * include/freetype/internal/ftdebug.h: Changed the debug trace - constants from trace_t2xxxx to trace_cffxxxx to be able to compile - the CFF driver in debug mode. - -2001-01-11 Matthew Crosby - - * builds/unix/freetype-config.in: Fix problems with separate - --prefix and --exec-prefix. - -2001-01-11 David Turner - - * docs/docmaker.py: Added cross-references generation as well as - more robust handling of pathname wildcard matching. - -2001-01-10 Werner Lemberg - - * docs/docmaker.py: Minor improvements to reduce unwanted spaces - and empty lines in output. - -2001-01-09 David Turner - - * docs/docmaker.py: Improved script to generate table of contents - and index pages. It also supports wildcards on non Unix systems. - - * include/freetype/*.h, include/freetype/cache/*.h: Updated comments - to include section definitions/delimitations for the API Reference - generator. - - * include/freetype/freetype.h: Moved declaration of - `FT_Generic_Finalizer' and the `FT_Generic' structure to... - * include/freetype/fttypes.h: here. - -2001-01-04 Werner Lemberg - - * include/freetype/ttnameid.h: Updated Unicode code range comments. - -2001-01-03 Tom Kacvinsky - - * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}. - - * include/freetype/internal/internal.h: Changed to use cfftypes.h - (cfferrs.h) instead of t2types.h (t2errors.h, respectively). - - * include/freetype/internal/cfftypes.h: Merged in changes from - t2types.h and made this the canonical `types' header for the CFF - driver. - - * include/freetype/internal/t2types.h: This file was merged with - cfftypes.h and is no longer necessary. - - * include/freetype/internal/t2errors.h: Renamed to cfferrs.h. - - * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c, - src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c, - src/cff/cffgload.c, src/cff/cffgload.h: Changed to use - cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_ - (T2_) were replaced with cff_ (CFF_, respectively). - - * src/cff/t2gload.h: Renamed cffgload.h. - - * src/cff/t2gload.c: Renamed cffgload.c - -2000-01-02 Jouk Jansen - - * builds/vms: Support files for VMS architecture added. - * descrip.mms, src/*/descrip.mms: VMS makefiles added. - * README.VMS: New file. - -2000-01-01 Werner Lemberg - - * LICENSE.TXT: Added info about PCF driver license. - -2001-01-01 Francesco Zappa Nardelli - - * src/pcf/*: New driver module for PCF font format (used in - X Window System). - * include/freetype/internal/ftdebug.h (FT_Trace): Added values for - PCF driver. - * include/freetype/internal/pcftypes.h: New file. - * include/freetype/config/ftmodule.h: Added PCF driver module. - -2001-01-01 Werner Lemberg - - * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type. - -2000-12-31 Werner Lemberg - - * builds/modules.mk (clean_module_list): Fixed deletion of module - file in case `make make_module_list' is called before `make setup'. - -2000-12-30 Werner Lemberg - - * src/cff/cffload.c (CFF_Load_Charset): Improved error messages. - (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable - definition. - -2000-12-30 Tom Kacvinsky - - * include/freetype/internal/t2types.h, - include/freetype/internal/cfftypes.h: Changed the structures for - CFF_Encoding and CFF_Encoding for the new implementations of the - charset and encoding parsers in the CFF driver. - - * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode, - t2_operator_seac): Added these functions for use in implementing the - seac emulation provided by the Type 2 endchar operator. - (T2_Parse_CharStrings): Added seac emulation for the endchar - operator. - - * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset, - CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the - charset/encoding tables, and free the memory used by them when the - CFF driver is finished with them. Added tables - - cff_isoadobe_charset - cff_expert_charset - cff_expertsubset_charset - cff_standard_encoding - cff_expert_encoding - - so that the encoding/charset parser can handle predefined encodings and - charsets. - -2000-12-24 Tom Kacvinsky - - * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font - transform is applied. - - * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that - the font matrix numbers are scaled by 1/(matrix->yy). Also, the - offset vector now contains integer values instead of 16.16 fixed - numbers. - -2000-12-22 Tom Kacvinsky - - * src/autohint/ahhint.c (ah_hinter_load_glyph): - Removed unnecessary comments and commented-out code. - -2000-12-21 David Turner - - * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, - we'll work on supporting CID AFM files later I guess :-) - -2000-12-21 Tom Kacvinsky - - * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph): - Changed so that fonts with a non-standard FontMatrix render - correctly. Previously, the first glyph rendered from such a - font did not have the transformation matrix applied. - -2000-12-17 Werner Lemberg - - * *.mk: Added lots of `.PHONY' targets. - -2000-12-17 Karsten Fleischer - - * *.mk: Implemented `platform' target to disable auto-detection. - -2000-12-14 Werner Lemberg - - * docs/design/modules.html: Removed. Covered by design-*.html. - - * INSTALL: Added info about makepp. - -2000-12-14 David Turner - - Added support for clipped direct rendering in the smooth renderer. - This should not break binary compatibility of existing applications. - - * include/freetype/fttypes.h, include/freetype/ftimage.h: Move - definition of the FT_BBox structure from the former to the latter. - * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to - FT_Raster_Flag enumeration. - Add `clip_box' element to FT_Raster_Params structure. - * src/smooth/ftgrays.c (grays_convert_glyph): Implement it. - - * INSTALL: Updated installation instructions on Win32, listing the - new `make setup list' target used to list supported - compilers/targets. - - * src/raster/ftraster.c (ft_black_render): Test for unsupported - direct rendering before testing arguments. - -2000-12-13 David Turner - - * include/freetype/config/ft2build.h, - include/freetype/internal/internal.h: Fixed header inclusion macros - to use direct definitions. This is the only way to do these things - in a portable way :-( The rest of the code should follow shortly - though everything compiles now. - - * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. - - * builds/win32/detect.mk: Added support for the Intel C/C++ - compiler, as well as _preliminary_ (read: doesn't work!) support for - Watcom. Also added a new setup target. Type `make setup list' for - a list of supported command-line compilers on Win32. - - * src/base/ftdebug.c: Added dummy symbol to avoid empty file if - conditionals are off. - -2000-12-13 Werner Lemberg - - * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong - ftconfig.h file. - -2000-12-12 Werner Lemberg - - * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT): - Removed. ANSI C doesn't (explicitly) allow macro expansion in - arguments using `##'. - (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory - names directly. Make them configurable. Use `##' to strip leading - and trailing spaces from arguments. - - * builds/unix/ft2unix.h: Adapted. - - * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream, - ft_close_stream): Use FT_CALLBACK_DEF. - - * builds/unix/ftsystem.c: Use new header scheme. - (FT_Done_Memory): Use free() from FT_Memory structure. - - * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes. - -2000-12-11 Werner Lemberg - - * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT, - FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE, - FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant. - -2000-12-09 Werner Lemberg - - * builds/unix/detect.mk: Remove unused USE_CFLAGS variable. - -2000-12-08 Werner Lemberg - - * */*.h: Changed body inclusion macro names to start and end with - `__' (those which haven't converted yet). Fixed minor conversion - issues. - - * src/winfonts/winfnt.c: Updated to new header inclusion scheme. - - * src/truetype/ttinterp.c: Remove unused CALC_Length() macro. - -2000-12-07 David Turner - - * */*.[ch]: Changed source files to adhere to the new - header inclusion scheme. Not completely tested but works for now - here. - - * src/cff/t2driver.c: Renamed and updated to... - * src/cff/cffdrivr.c: New file. - * src/cff/t2driver.h: Renamed and updated to... - * src/cff/cffdrivr.h: New file. - * src/cff/t2load.c: Renamed and updated to... - * src/cff/cffload.c: New file. - * src/cff/t2load.h: Renamed and updated to... - * src/cff/cffload.h: New file. - * src/cff/t2objs.c: Renamed and updated to... - * src/cff/cffobjs.c: New file. - * src/cff/t2objs.h: Renamed and updated to... - * src/cff/cffobjs.h: New file. - * src/cff/t2parse.c: Renamed and updated to... - * src/cff/cffparse.c: New file. - * src/cff/t2parse.h: Renamed and updated to... - * src/cff/cffparse.h: New file. - * src/cff/t2tokens.h: Renamed and updated to... - * src/cff/cfftoken.h: New file. - - * src/cff/cff.c, src/cff/rules.mk: Updated. - -2000-12-06 David Turner - - * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak. - -2000-12-06 Werner Lemberg - - * builds/module.mk: Replaced `xxx #' with `xxx$(space). - * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to - avoid trailing spaces in variable. - * builds/freetype.mk: Use $(D) instead of $D to make statement more - readable. - - * docs/docmaker.py: Formatting. - -2000-12-05 David Turner - - * src/psaux/psauxmod.c: Fixed a broken inclusion of component - header files (an FT_FLAT_COMPILE test was missing). - - * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused - an occasional crash when the function was called (due to a dangling - pointer). - - * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug: - The ANSI `free()' function was called instead of `memory->free()'. - - * docs/docmaker.py: Added section filtering, multi-page generation - (index page generation is still missing though). - -2000-12-04 David Turner - - * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h' - is now installed as for Unix systems. Note that we - still use the `freetype2/freetype' installation path for now. - - * */*.[ch]: Now using as the default build and setup - configuration file in all public headers. Internal source files - still need some changes though. - - * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new - directory to hold all development options for both the Unix and - Win32 developer builds. - - * builds/win32/detect.mk, builds/win32/w32-bccd.mk, - builds/win32/w32-dev.mk: Changed the developer build targets to - `devel-gcc' and `devel-bcc' in order to be able to develop with the - Borland C++ compiler. - -2000-12-01 David Turner - - - * Version 2.0.1 released. - ========================= - - - * builds/unix/configure.in, builds/unix/configure, - builds/cygwin/configure.in, builds/cygwin/configure: Setting - `version_info' to 6:1:0 for the 2.0.1 release. - - * CHANGES: Added a summary of changes between 2.0.1 and 2.0. - - * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes - to allow compilation under Unix with the Unix-specific config - files. - -2000-12-01 Werner Lemberg - - * INSTALL: Revised. - * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk, - builds/compiler/bcc.mk, builds/win32/w32-bcc.mk, - builds/win32/w32-bccd.mk: Revised. - * include/freetype/config/ftbuild.h, - include/freetype/internal/internal.h: Revised. - * include/freetype/ftimage.h: Updated to new header inclusion scheme. - -2000-11-30 Werner Lemberg - - * builds/toplevel.mk (.PHONY): Adding `distclean'. - * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc', - `setup'. - -2000-11-30 David Turner - - * INSTALL: Slightly updated the quick starter documentation to - include IDE compilation, prevent against BSD Make, and specify `make - setup' instead of a single `make' for build configuration. - - * include/config/ftbuild.h, include/internal/internal.h: Added new - configuration files used to determine the location of all public, - configuration, and internal header files for FreeType 2. Modified - all headers under `include/freetype' to reflect this change. Note - that we still need to change the library source files themselves - though. - - * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk, - builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk, - builds/win32/detect.mk: Added new files to support compilation with - the free Borland C++ command-line compiler. Modified the detection - rules to recognize the new `bcc32' target in `make setup bcc32'. - - * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c, - src/truetype/ttobjs.c, src/truetype/ttgload.c, - src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++ - didn't really like. Basically, this compiler complains when FT_UInt - is compared to FT_UShort (apparently, it promotes `UShort' to `Int' - in these cases). - -2000-11-30 Tom Kacvinsky - - * t2objs.c (T2_Init_Face): Added calculation of `face->height' for - pure CFF fonts. - - * t1objs.c (T1_Init_Face): Fixed computation of `face->height'. - -2000-11-29 David Turner - - * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid - bug in the formula used to compute the conic Bézier extrema - of non-monotonous arcs. - -2000-11-29 Werner Lemberg - - * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c - (FT_Set_Renderer): Use FT_EXPORT_DEF. - * src/cache/ftcimage.c (FTC_Image_Cache_Lookup), - src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset, - FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size, - FTC_Manager_Register_Cache), src/cache/ftcsbits.c - (FTC_SBit_Cache_Lookup): Ditto. - - * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init), - src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT. - -2000-11-29 Werner Lemberg - - * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only - conditionally. - - * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set - `size->strike_index' only conditionally. - - * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only - conditionally. - - * src/winfonts/winfnt.h: Move all type definitions to... - * src/include/freetype/internal/fnttypes.h: New file. - * src/winfonts/winfnt.c: Use it. - -2000-11-29 ??? ??? - - * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT - with a direct solution (which also satisfies picky compilers). - -2000-11-28 YAMANO-UCHI Hidetoshi - - * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with - disabled interpreter also. - - * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect - parentheses. - -2000-11-26 Tom Kacvinsky - - * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph - width setting code to take into account even/odd argument counts - and glyph width operand before endchar/hmoveto/vmoveto. - -2000-11-26 Werner Lemberg - - * builds/ansi/ansi.mk: Fix inclusion order of files. - -2000-11-26 Keith Packard - - * src/type1/t1objs.c (T1_Init_Face): Compute style flags. - -2000-11-26 Werner Lemberg - - * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and - conditional. - -2000-11-23 Werner Lemberg - - * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt - function from PSAux module. - - * src/type1/t1parse.c (T1_Done_Parse): Renamed to... - (T1_Finalize_Parser): New function (to avoid name clash with a - function in the PSAux module). - (T1_Decrypt): Removed since it is duplicated in the PSAux module. - (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt - function from PSAux module. - - * src/type1/t1parse.h: Adapted. - -2000-11-22 Tom Kacvinsky - - * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set - `root->num_faces' to `cff->num_faces' and set `units_per_EM' - to 1000. - - * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing - loop. - - * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a - sid that was off by one. - -2000-11-16 David Turner - - * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control - auto-hinting of synthetic Type 1 fonts. - - * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph): - Added auto-hinting support of synthetic Type 1 fonts. - -2000-11-12 Tom Kacvinsky - - * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change - tracing output. - - * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable - `has-outline' to true only if the font has a `glyf' or `CFF ' table. - -2000-11-11 Werner Lemberg - - * builds/win32/visualc/freetype.dsp: Fix raster1->raster and - type1z->type1. - -2000-11-11 Tom Kacvinsky - - * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in: - Added a --libtool option. When freetype-config --libtool is - invoked, the absolute path to the libtool convenience library - is returned. - -2000-11-11 Werner Lemberg - - * builds/cygwin/cygwin-def.in: Same fix as previous. - -2000-11-10 Tom Kacvinsky - - * builds/unix/unix-def.in: Add - - INSTALL_PROGRAM := @INSTALL_PROGRAM@ - INSTALL_SCRIPT := @INSTALL_SCRIPT@ - - so that installation of freetype-config does not fail. - -2000-11-10 Werner Lemberg - - * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in: - Move test down for empty --exec-prefix. - Fix --version. - - * builds/cygwin/install.mk, builds/unix/install.mk: Use - $(INSTALL_SCRIPT) for installation of freetype-config. - - * builds/cygwin/install.mk: Fix clean target names. - -2000-11-09 David Turner - - - * Version 2.0 released. - ======================= - ----------------------------------------------------------------------------- - -Copyright 2000, 2001, 2002, 2007 by -David Turner, Robert Wilhelm, and Werner Lemberg. - -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. - - -Local Variables: -version-control: never -coding: utf-8 -End: +2002-02-09 Werner Lemberg + + * README: Fix typo. + * docs/CHANGES: Minor fixes. + + + * Version 2.0.8 released. + ========================= + + +2002-02-08 David Turner + + * docs/CHANGES: Updating for 2.0.8. + + * include/freetype/freetype.h: Setting `PATCH_LEVEL' to 8 and + removing `FT_Get_Next_Char' from the API (temporarily). + + * include/freetype/freetype.h: Adding comments to FT_Get_Next_Char; + note that this function might temporarily be removed for the 2.0.8 + release. + +2002-02-07 David Turner + + * src/pcf/pcfread.c (pcf_load_font): Removed immature support of + the AVERAGE_WIDTH property. + +2002-02-06 David Turner + + * src/sfnt/sfobjs.c (SFNT_Load_Face): Since many fonts embedded in + PDF documents do not include 'cmap', 'post' and 'name' tables, the + SFNT face loader has been changed to not immediately report an + error if these are not present. + + Note that the specification _requires_ these tables, but Adobe + seems to ignore it completely. + + * src/sfnt/ttcmap.c: Removing compiler warnings. + + * src/pcf/pcfread.c (pcf_read_TOC): Use FT_UInt. + (pcf_parse_metric, pcf_parse_compressed_metric): Removed. Code + is now in ... + (pcf_get_metric): Here. + (pcfSeekToType): Renamed to ... + (pcf_seek_to_table_type): This. + Use FT_Int. + (pcfHasType): Renamed to ... + (pcf_has_table_type): This. + Use FT_Int. + (find_property): Renamed to ... + (pcf_find_property): This. + Use FT_Int. + (pcf_get_bitmaps, pcf_get_encodings): Handle invalid PCF fonts + better (delaying format checks out of FT_Access_Frame .. + FT_Forget_Frame blocks to avoid leaving the stream in an incorrect + state when encountering an invalid PCF font). + + * src/pcf/pcfdriver.c (PCF_Done_Face): Renamed to ... + (PCF_Face_Done): This. + (PCF_Init_Face): Renamed to ... + (PCF_Face_Init): This. + (PCF_Get_Char_Index): Renamed to ... + (PCF_Char_Get_Index): This. + (PCF_Get_Next_Char): Renamed to ... + (PCF_Char_Get_Next): This. + (pcf_driver_class): Updated. + + * src/pcf/pcf.h (PCF_Done_Face): Removed. + +2002-02-06 Detlef Würkner + + * src/pcf/pcfdriver.c (FT_Done_Face): Fixed small memory leak. + + * src/pcf/pcfread.c (pcf_load_font): Now handles the `AVERAGE_WIDTH' + property to return correct character pixel (width/height) pairs for + embedded bitmaps. + +2002-02-04 Keith Packard + + Adding the function `FT_Get_Next_Char', doing the obvious thing + w.r.t. the selected charmap. + + * include/freetype/freetype.h: Add prototype. + * include/freetype/internal/ftdriver.h: Add `FTDriver_getNextChar' + typedef. + (FT_Driver_Class): Use it. + * include/freetype/internal/psnames.h: Add `PS_Next_Unicode_Func' + typedef. + (PSNames_Interface): Use it. + * include/freetype/internal/tttypes.h: Add `TT_CharNext_Func' + typedef. + (TT_CMapTable): Use it. + + * src/base/ftobjs.c (FT_Get_Next_Char): New function, implementing + high-level API. + * src/cff/cffdrivr.c (cff_get_next_char): New function. + (cff_driver_class): Add it. + * src/cid/cidriver.c (Cid_Get_Next_Char): New function. + (t1cid_driver_class): Add it. + * src/pcf/pcfdriver.c (PCF_Get_Next_Char): New function. + (pcf_driver_class): Add it. + * src/psnames/psmodule.c (PS_Next_Unicode): New function. + (psnames_interface): Add it. + * src/sfnt/ttcmap.c (code_to_next0, code_to_next2, code_to_next4, + code_to_next6, code_to_next_8_12, code_to_next_10): New auxiliary + functions. + (TT_CharMap_Load): Use them. + * src/truetype/ttdriver.c (Get_Next_Char): New function. + (tt_driver_class): Add it. + * src/type1/t1driver.c (Get_Next_Char): New function. + (t1_driver_class): Add it. + * src/winfonts/winfnt.c (FNT_Get_Next_Char): New function. + (winfnt_driver_class): Add it. + + * src/pcf/pcfread.c (pcf_load_font): For now, report Unicode for + Unicode and Latin 1 encodings. + +2002-02-02 Keith Packard + + * builds/unix/freetype-config.in: Add missing `fi'. + + + * Version 2.0.7 released. + ========================= + + +2002-02-01 David Turner + + * include/freetype/freetype.h: Increasing FREETYPE_PATCH to 7 + for the new release. + +2002-01-31 David Turner + + * README, README.UNX, docs/CHANGES: Updating documentation for the + 2.0.7 release. + +2002-01-30 David Turner + + * INSTALL: Moved to ... + * docs/INSTALL: Here to avoid conflicts with the `install' script on + Windows, where the filesystem doesn't preserve case. + +2002-01-29 David Turner + + * configure: Fixed the script. It previously didn't accept more + than one argument correctly. For example, when typing: + + ./configure --disable-shared --disable-nls + + the `--disable-nls' was incorrectly sent to the `make' program. + +2002-01-29 Werner Lemberg + + * README.UNX: Fix typo. + * builds/unix/install.mk (uninstall): Fix library name for libtool. + +2002-01-28 Francesco Zappa Nardelli + + * src/pcf/pcfdriver.c (PCF_Done_Face): Fix incorrect destruction of + the face object (face->toc.tables, face->root.family_name, + face->root.available_size, face->charset_encoding, + face->charset_registry are now freed). Thanks to Niels Moseley. + +2002-01-28 Roberto Alameda + + * src/type1/t1load.c (parse_encoding): Set `loader->num_chars'. + +2002-01-28 Werner Lemberg + + * src/type1/t1load.c (parse_subrs, parse_charstrings): Use copy + of `base' string for decrypting to not modify the original data. + Based on a patch by Jakub Bogusz . + +2002-01-27 Giuliano Pochini + + * src/smooth/ftgrays.c (gray_render_scanline): Fix bug which caused + bad rendering of thin lines (less than one pixel thick). + +2002-01-25 Werner Lemberg + + * src/cff/cffdrivr.c (cff_get_name_index): Make last patch work + actually. + +2002-01-25 Martin Zinser + + * src/cache/ftccache.c (ftc_node_done, ftc_node_destroy): Fix + compilation warnings. + * src/base/descrip.mms (OBJS): Add `ftmm.obj'. + * src/cache/descrip.mms (ftcache.obj): Dependencies added. + +2002-01-25 WANG Yi + + * src/cff/cffdrivr.c (cff_get_name_index): Fix deallocation bug. + +2002-01-21 Antoine Leca + + * docs/PATENTS: Typo fixed (thanks to Detlef `Hawkeye' Würkner) in + the URL for the online resource. + +2002-01-18 Ian Brown + + * builds/win32/ftdebug.c: New file. + * builds/win32/visualc/freetype.dsp: Updated. + +2002-01-18 Detlef Würkner + + * builds/amiga/src/base/ftsystem.c: Updated for AmigaOS 3.9. + * builds/amiga/README: Updated. + +2002-01-18 Ian Brown + + * builds/win32/visualc/freetype.dsp: Updated. + +2002-01-13 Werner Lemberg + + * builds/unix/freetype2.a4: The script was still buggy. + * builds/unix/freetype-config.in: Make it really work for any install + prefix. + +2002-01-10 Werner Lemberg + + * builds/unix/freetype2.a4: Fix some serious bugs. + +2002-01-09 David Turner + + * builds/unix/configure.ac: Build top-level Jamfile. + +2002-01-09 Maxim Shemanarev + + * src/smooth/ftgrays.c (gray_render_line): Small optimization to + the smooth anti-aliased renderer that deals with vertical segments. + This results in a 5-7% speedup in rendering speed. + +2002-01-08 David Turner + + Added some wrapper scripts to make the installation more + Unix-friendly. + + * configure, install: New files. + + * INSTALL, README.UNX: Updated installation documentation to use the + new 'configure' and 'install' scripts. + +2002-01-07 David Turner + + + * Version 2.0.6 released. + ========================= + + + * docs/BUGS, docs/CHANGES: Updating documentation for 2.0.6 release. + + * src/tools/docmaker.py: Fixed HTML quoting in sources. + (html_format): Replaced with ... + (html_quote): New function. + (html_quote0): New function. + (DocCode::dump_html): Small improvement. + (DocParagraph::dump, DocBlock::html): Use html_quote0 and html_quote. + + * include/freetype/config/ftoption.h: Setting default options for + a release build (debugging off, bytecode interpreter off). + + * src/base/ftobjs.c, src/base/ftoutln.c, src/cache/ftccmap.c, + src/cff/cffload.c, src/cff/cffobjs.c, src/pshinter/pshalgo2.c, + src/sfnt/ttload.c, src/sfnt/ttsbit.c: Removing small compiler + warnings (in pedantic compilation modes). + +2002-01-05 David Turner + + * src/autohint/ahhint.c (ah_align_linked_edge): Modified computation + of auto-hinted stem widths; this avoids color fringes in + `ClearType-like' rendering. + + * src/truetype/ttgload.c (TT_Load_Glyph_Header, + TT_Load_Simple_Glyph, TT_Load_Composite_Glyph, load_truetype_glyph): + Modified the TrueType loader to make it more paranoid; this avoids + nasty buffer overflows in the case of invalid glyph data (as + encountered in the output of some buggy font converters). + +2002-01-04 David Turner + + * README.UNX: Added special README file for Unix users. + + * builds/unix/ftsystem.c (FT_New_Stream): Fixed typo. + + * src/base/ftobjs.c: Added #include FT_OUTLINE_H to get rid + of compiler warnings. + + * src/base/ftoutln.c (FT_Outline_Check): Remove compiler warning. + +2002-01-03 Werner Lemberg + + * src/type1/t1objs.c (T1_Face_Init): Add cast to avoid compiler + warning. + +2002-01-03 Keith Packard + + * builds/unix/ftsystem.c (FT_New_Stream): Added a fix to ensure that + all FreeType input streams are closed in child processes of a `fork' + on Unix systems. This is important to avoid (potential) access + control issues. + +2002-01-03 David Turner + + * src/type1/t1objs.c (T1_Face_Init): Fixed a bug that crashed the + library when dealing with certain weird fonts like `Stalingrad', in + `sadn.pfb' (this font has no full font name entry). + + * src/base/ftoutln.c, include/freetype/ftoutln.h (FT_Outline_Check): + New function to check the consistency of outline data. + + * src/base/ftobjs.c (FT_Load_Glyph): Use `FT_Outline_Check' to + ensure that loaded glyphs are valid. This allows certain fonts like + `tt1095m_.ttf' to be loaded even though it appears they contain + really funky glyphs. + + There still is a bug there, though. + + * src/truetype/ttgload.c (load_truetype_glyph): Fix error condition. + +2001-12-30 David Turner + + * src/autohint/ahhint.c (ah_hinter_load): Fix advance width + computation of auto-hinted glyphs. This noticeably improves the + spacing of letters in KDE and Gnome. + +2001-12-25 Antoine Leca + + * builds/dos/detect.mk: Correcting the order for Borland compilers: + 16-bit bcc was never selected, always overridden by 32-bit bcc32. + +2001-12-22 Francesco Zappa Nardelli + + * src/pfc/pcfread.c (pcf_load_font): Handle property `POINT_SIZE' + and fix incorrect computation of `available_sizes'. + +2001-12-22 David Turner + + * src/autohint/ahhint.c (ah_hinter_load): Auto-hinted glyphs had an + incorrect glyph advance in the case of mono-width fonts (like + Courier, Andale Mono, and others). + +2001-12-22 Detlef Würkner + + * builds/amiga/*: Adaptations to latest changes. + Support added for MorphOS. + +2001-12-22 Werner Lemberg + + * src/pshinter/pshrec.c (FT_COMPONENT): Redefine to `trace_pshrec'. + (ps_mask_table_merge, ps_hints_open, ps_hints_stem, + ps_hints_t1stem3, ps_hints_t2mask, ps_hints_t2counter): Fix + FT_ERROR messages. + * src/pshinter/pshalgo1.c (FT_COMPONENT): Define as + `trace_pshalgo1'. + * src/pshinter/pshalgo2.c (FT_COMPONENT): Define as + `trace_pshalgo2'. + * include/freetype/internal/ftdebug.h (FT_Trace): Updated. + + * docs/modules.txt: New file. + +2001-12-21 David Turner + + * src/pshinter/pshrec.c (ps_hints_t2mask, ps_hints_t2counter): + Ignore invalid `hintmask' and `cntrmask' operators (instead of + returning an error). Glyph 2028 of the CFF font `MSung-Light-Acro' + couldn't be rendered otherwise (it seems its charstring is buggy, + though this requires more analysis). + (FT_COMPONENT): Define. + + * src/cff/cffgload.c (CFF_Parse_CharStrings), src/psaux/t1decode.c + (T1_Decoder_Parse_Charstrings), src/pshinter/pshalgo2.c (*), Fixed a + bug where the X and Y axis where inverted in the postscript hinter. + This caused problem when displaying on non-square surfaces. + + * src/pshinter/pshalgo2.c: s/vertical/dimension/. + + * src/pshinter/pshglob.c (psh_globals_new): Replaced a floating + point constant with a fixed-float equivalent. For some reasons not + all compilers are capable of directly computing a floating pointer + constant casted to FT_Fixed, and will link a math library instead. + +2001-12-20 Werner Lemberg + + * src/cache/ftccache.c (ftc_node_destroy, ftc_cache_lookup): Fix + tracing strings. + * src/cache/ftccmap.c (ftc_cmap_family_init): Ditto. + * src/cache/ftcmanag.c (ftc_family_table_alloc, + ftc_family_table_free, FTC_Manager_Check): Ditto. + * src/cache/ftcsbits.c (ftc_sbit_node_load): Ditto. + + * src/base/ftobjs.c (FT_Done_Library): Remove compiler warning. + +2001-12-20 David Turner + + Added PostScript hinter support to the CFF and CID drivers. + + * include/freetype/internal/cfftypes.h (CFF_Font): New member + `pshinter'. + * src/cff/cffload.c (CFF_Get_Standard_Encoding): New function. + * src/cff/cffload.h: Updated. + * src/cff/cffgload.c (CFF_Init_Builder): Renamed to ... + (CFF_Builder_Init): This. + Added new argument `hinting'. + (CFF_Done_Builder): Renamed to ... + (CFF_Builder_Done): This. + (CFF_Init_Decoder): Added new argument `hinting'. + (CFF_Parse_CharStrings): Implement vstem support. + (CFF_Load_Glyph): Updated. + Add hinting support. + (cff_lookup_glyph_by_stdcharcode): Use CFF_Get_Standard_Encoding(). + (cff_argument_counts): Updated. + * src/cff/cffgload.h: Updated. + * src/cff/cffobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. + (CFF_Size_Get_Globals_Funcs, CFF_Size_Done, CFF_Size_Init, + CFF_Size_Reset, CFF_GlyphSlot_Done, CFF_GLyphSlot_Init): New + functions. + (CFF_Init_Face): Renamed to ... + (CFF_Face_Init): This. + Add hinter support. + (CFF_Done_Face): Renamed to ... + (CFF_Face_Done): This. + (CFF_Init_Driver): Renamed to ... + (CFF_Driver_Init): This. + (CFF_Done_Driver): Renamed to ... + (CFF_Driver_Done): This. + * src/cff/cffobjs.h: Updated. + * src/cff/cffdrivr.c (cff_driver_class): Updated. + + * include/freetype/internal/t1types.h (CID_FaceRec): New member + `pshinter'. + * src/cid/cidgload.c (CID_Load_Glyph): Add hinter support. + * src/cid/cidobjs.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. + (CID_GlyphSlot_Done, CID_GlyphSlot_Init, CID_Size_Get_Globals_Funcs, + CID_Size_Done, CID_Size_Init, CID_Size_Reset): New functions. + (CID_Done_Face): Renamed to ... + (CID_Face_Done): This. + (CID_Init_Face): Renamed to ... + (CID_Face_Init): This. + Add hinting support. + (CID_Init_Driver): Renamed to ... + (CID_Driver_Init): This. + (CID_Done_Driver): Renamed to ... + (CID_Driver_Done): This. + * src/cid/cidobjs.h: Updated. + * src/cidriver.c: Updated. + + * src/pshinter/pshrec.c (t2_hint_stems): Fixed. + + * src/base/ftobjs.c (FT_Done_Library): Fixed a stupid bug that + crashed the library on exit. + + * src/type1/t1gload.c (T1_Load_Glyph): Enable font matrix + transformation of hinted glyphs. + + * src/cid/cidload.c (cid_read_subrs): Fix error condition. + + * src/cid/cidobjs.c (CID_Face_Done): Fixed a memory leak; the subrs + routines were never released when CID faces were destroyed. + + * src/cff/cffload.h, src/cff/cffload.c, src/cff/cffgload.c: Updated + to move the definition of encoding tables back within `cffload.c' + instead of making them part of a shared header (causing problems in + `multi' builds). This reverts change 2001-08-08. + + * docs/CHANGES: Updated for 2.0.6 release. + * docs/TODO: Added `stem3 and counter hints support' to the TODO + list for the Postscript hinter. + * docs/BUGS: Closed the AUTOHINT-NO-SBITS bug. + +2001-12-19 David Turner + + * include/freetype/cache/ftcache.h: Added comments to indicate that + some of the exported functions should only be used by applications + that need to implement custom cache types. + + * src/truetype/ttgload.c (cur_to_org, org_to_cur): Fixed a nasty bug + that prevented composites from loading correctly, due to missing + parentheses around macro parameters. + + * src/sfnt/sfobjs.c (SFNT_Load_Face): Make the `post' and `name' + tables optional to load PCL fonts properly. + + * src/truetype/ttgload.c (TT_Load_Glyph), src/base/ftobjs.c + (FT_Load_Glyph), include/freetype/freetype.h (FT_LOAD_SBITS_ONLY): + `Fixed' the bug that prevented embedded bitmaps to be loaded when + the auto-hinter is used. This actually is a hack but will be enough + until the internal re-design scheduled for FreeType 2.1. + + * src/raster/ftrend1.c (ft_raster1_render): Fixed a nasty outline + shifting bug in the monochrome renderer. + + * README: Updated version numbers to 2.0.6. + +2001-12-17 Werner Lemberg + + * src/truetype/ttgload.c (load_truetype_glyph): Fix test for invalid + glyph header. + +2001-12-15 Werner Lemberg + + * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove compiler warning. + * include/freetype/ftcache.h (FTC_Node_Unref): Removed. It is + already in ftcmanag.h. + * src/cache/ftcsbits.c (ftc_sbit_node_load): Remove unused variable + `gfam'. + * src/cache/ftcmanag.c (ftc_family_table_alloc, + * ftc_family_table_free): Use FT_EXPORT_DEF. + * include/freetype/cache/ftcmanag.h: Updated. + * src/cache/ftccache.c (ftc_node_destroy): Use FT_EXPORT_DEF. + * src/cache/ftccmap.c (ftc_cmap_node_init): Remove unused variable + `cfam'. + Remove compiler warning. + (FTC_CMapCache_Lookup): Remove compiler warnings. + (ftc_cmap_family_init): Ditto. + (FTC_CMapCache_Lookup): Ditto. + + * builds/unix/configure.ac: Increase `version_info' to 8:0:2. + * builds/unix/configure: Regenerated. + +2001-12-14 Werner Lemberg + + * builds/mac/README: Updated. + +2001-12-14 Scott Long + + * src/truetype/ttgload.c (load_truetype_glyph): Fixing crash when + dealing with invalid fonts (i.e. glyph size < 10 bytes). + +2001-12-14 Sam Latinga + + * builds/mac/freetype.make: A new Makefile to build with MPW on + MacOS classic. + +2001-12-14 David Turner + + * src/truetype/ttgload.c (TT_Load_Glyph), src/type1/t1gload.c + (T1_Load_Glyph), src/cid/cidgload.c (CID_Load_Glyph), + src/cff/cffgload.c (CFF_Load_Glyph): Fixed a serious bug common to + all font drivers (the advance width was never hinted when it + should). + + * include/freetype/freetype.h (FREETYPE_PATCH): New macro. + * src/base/ftdbgmem.c (debug_mem_dummy) [!FT_DEBUG_MEMORY]: Don't + use `extern' keyword. + +2001-12-12 David Turner + + * src/pshinter/pshglob.c (psh_blues_scale_zones, psh_blues_snap_stem + psh_globals_new): Adding correct BlueScale/BlueShift support, plus + family blues processing. + * src/pshinter/pshglob.h (PSH_BluesRec): Updated. + + Started adding support for the Postscript hinter in the CFF module. + + * src/cff/cffgload.c: Include FT_INTERNAL_POSTSCRIPT_HINTS_H. + (CFF_Parse_CharStrings): Implement it. + * src/cff/cffgload.h: Updated. + +2001-12-12 Werner Lemberg + + * builds/unix/freetype2.m4: Some portability fixes. + +2001-12-11 Jouk Jansen + + * src/base/descrip.mms (OBJS): Add ftdebug.obj. + +2001-12-11 Werner Lemberg + + * src/sfnt/ttload.c (TT_Load_Generic_Header): Typos. + +2001-12-11 David Turner + + * builds/unix/freetype-config.in: Modified the script to prevent + passing `-L/usr/lib' to gcc. + + * docs/FTL.TXT: Simple fix (change `LICENSE.TXT' to `FTL.TXT'). + + * builds/unix/freetype2.m4: New file for checking configure paths. + We need to install it in $(prefix)/share/aclocal/freetype2.m4 but I + didn't modify builds/unix/install.mk yet. + + * INSTALL: Updated the instructions to build shared libraries with + Jam. They were simply wrong. + + * src/base/fttrigon.c (FT_Cos): Fixed a small bug that caused + slightly improper results for `FT_Cos' and `FT_Sin' (example: + FT_Sin(0) == -1!). + +2001-12-11 Detlef Würkner + + * include/freetype/internal/ftstream.h (GET_LongLE, GET_ULongLE): + Fixed incorrect argument types. + +2001-12-10 Francesco Zappa Nardelli + + * src/pcf/pcfdriver.c (PCF_Init_Face): Allow Xft to use PCF fonts + by setting the `face->metrics.max_advance' correctly. + +2001-12-07 David Turner + + * include/freetype/cache/ftccmap.h, src/cache/ftccmap.c: Added new + charmap cache. + * src/cache/ftcache.c: Updated. + + * src/autohint/ahhint.c (ah_hinter_hint_edges): s/UNUSED/FT_UNUSED/. + +2001-12-06 Leonard Rosenthol + + Added support for reading .dfont files on Mac OS X. Also added a + new routine which looks up a given font by name in the Mac OS and + returns the disk file where it resides. + + * src/base/ftmac.c: Include and . + (is_dfont): New auxiliary function. + (FT_New_Face_From_dfont): New function. + (FT_GetFile_From_Mac_Name): New exported function. + (FT_New_Face): Updated. + * include/freetype/ftmac.h: Updated. + +2001-12-06 David Turner + + * src/cache/Jamfile, src/cache/rules.mk: Updated. + +2001-12-06 Werner Lemberg + + * INSTALL: Small update. + +2001-12-05 David Turner + + * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Re-ordered code for + debugging purposes. + Comment out use of `origin'. + + * src/smooth/ftsmooth.c (ft_smooth_render): Fixed a nasty hidden bug + where outline shifting wasn't correctly undone after bitmap + rasterization. This created problems with certain glyphs (like '"' + of certain fonts) and the cache system. + + * src/pshinter/pshalgo1.c (psh1_hint_table_init): Fix typo. + * src/pshinter/pshalgo2.c (psh2_hint_table_init): Fix typo. + (ps2_hints_apply): Small fix. + +2001-12-05 David Turner + + * src/pshinter/pshalgo2.c (psh2_hint_table_init), + src/pshinter/pshalgo1.c (psh1_hint_table_init): Removed compiler + warnings. + + * include/freetype/ftcache.h, include/freetype/cache/*, src/cache/*: + Yet another massive rewrite of the caching sub-system in order to + both increase performance and allow simpler cache sub-classing. As + an example, the code for the image and sbit caches is now much + simpler. + + I still need to update the documentation in + www/freetype2/docs/cache.html to reflect the new design though. + + * include/freetype/config/ftheader.h (FT_CACHE_CHARMAP_H): New + macro. + (FT_CACHE_INTERNAL_CACHE_H): Updated. + +2001-12-05 David Krause + + * docs/license.txt: s/X Windows/X Window System/. + +2001-12-04 Werner Lemberg + + * src/raster/ftraster.c: Fix definition condition of MEM_Set(). + * src/smooth/ftgrays.c (M_Y): Change value to 192. + * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter. + Remove unused variable. + * src/cache/ftcimage.c (ftc_image_node_init, + ftc_image_node_compare): Remove unused variables. + * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused + variable. + * src/raster/ftraster.c (MEM_Set): Move definition down to avoid + compiler warning. + * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to + avoid compiler warnings. + * src/pcf/pcfread.c (tableNames): Use `const'. + (pcf_read_TOC): Change counter name to avoid compiler warning. + Use `const'. + * src/pshinter/pshrec.c (ps_hints_close): Remove redundant + declaration. + * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables + to avoid shadowing. + * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto. + * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()' + and `T1_Size_Done()'. + +2001-11-20 Antoine Leca + + * include/freetype/ttnameid.h: Added some new Microsoft language + codes and LCIDs as found in MSDN (Passport SDK). Also added + comments about the meaning of bit 57 of the `OS/2' table + (TT_UCR_SURROGATES) which (with OpenType v.1.3) now means `there is + a character beyond 0xFFFF in this font'. Thanks to Detlef Würkner + for noticing this. + +2001-11-20 David Turner + + * src/pshinter/{pshalgo2.c, pshalgo1.c}: Fixed stupid bug in sorting + routine that created nasty alignment artefacts. + + * src/pshinter/pshrec.c, tests/gview.c: Debugging updates. + + * src/smooth/ftgrays.c: De-activated experimental gamma support. + Apparently, `optimal' gamma tables depend on the monitor type, + resolution and general karma, so it's better to compute them outside + of the rasterizer itself. + (gray_convert_glyph): Use `volatile' keyword. + +2001-10-29 David Turner + + Adding experimental `gamma' support. This produces smoother glyphs + at small sizes for very little cost. + + * src/smooth/ftgrays.c (grays_init_gamma): New function. + (gray_raster_new): Use it. + + Various fixes to the auto-hinter. They merely improve the output of + sans-serif fonts. Note that there are still problems with serifed + fonts and composites (accented characters). + + * src/autohint/ahglyph.c (ah_outline_load, + ah_outline_link_segments): Implement it. + Fix typos. + (ah_outline_save, ah_outline_compute_segments): Fix typos. + * src/autohint/ahhint.c (ah_align_serif_edge): New argument + `vertical'. Implement improvement. + (ah_hint_edges_3, ah_hinter_hint_edges): Implement it. + Fix typos. + (ah_hinter_align_strong_points, ah_hinter_align_weak_points): Fix + typos. + (ah_hinter_load): Set `ah_debug_hinter' if DEBUG_HINTER is defined. + * src/autohint/ahmodule.c: Implement support for DEBUG_HINTER macro. + * src/autohint/ahtypes.h: Ditto. + (AH_Hinter): Remove `disable_horz_edges' and `disable_vert_edges' + (making them global as `ah_debug_disable_horz' and + `ah_debug_disable_vert'). + Fix typos. + + * tests/gview.c: Updated the debugging glyph viewer to show the + hints generated by the `autohint' module. + +2001-10-27 David Turner + + * src/cache/ftcchunk.c (ftc_chunk_cache_lookup): Fixed a bug that + considerably lowered the performance of the abstract chunk cache. + +2001-10-26 David Turner + + * include/freetype/ftcache.h, include/freetype/cache/*.h, + src/cache/*.c: Major re-design of the cache sub-system to provide + better performance as well as an `Acquire'/`Release' API. Seems to + work well here, but probably needs a bit more testing. + +2001-10-26 Leonard Rosenthol + + * builds/mac/README: Updated to reflect my taking over the project + and that is now being actively maintained. + + * src/base/ftmac.c (parse_fond): Applied patches from Paul Miller + to support loading a face other than the + first from a FOND resource. + (FT_New_Face_From_FOND): Updated. + +2001-10-25 Leonard Rosenthol + + * builds/mac/ftlib.prj: Update of CodeWarrior project file for Mac + OS for latest version (7) of CWPro and for recent changes to the FT + source tree. + +2001-10-25 David Turner + + * include/freetype/config/ftoption.h: Updated comments to explain + precisely how to use project-specific macro definitions without + modifying this file manually. + + (FT_CONFIG_FORCE_INT64): Define. + + (FT_DEBUG_MEMORY): New macro. + +2001-10-24 Tom Kacvinsky + + * builds/unix/ftsystem.c (FT_New_Memory): Added a missing `{'. + +2001-10-23 David Turner + + * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c: + Improvements to the memory debugger to report more information in + case of errors. Also, some allocations that occurred through REALLOC + couldn't be previously caught correctly. + + * src/autohint/ahglyph.c (ah_outline_compute_segments, + ah_outline_compute_edges), src/raster/ftraster.c (ft_black_new), + src/smooth/ftgrays.c (gray_render_span, gray_raster_new): Replaced + liberal uses of memset() by the MEM_Set() macro. + +2001-10-23 David Turner + + * src/raster/ftraster.c (Update): Removed to be inlined in ... + (Sort): Updated. + +2001-10-22 David Turner + + * builds/unix/ftsystem.c (FT_New_Memory, FT_Done_Memory), + builds/vms/ftsystem.c (FT_New_Memory, FT_Done_Memory), + builds/amiga/ftsystem.c (FT_New_Memory, FT_Done_Memory), + src/base/ftdbgmem.c: Updated the memory debugger and + platform-specific implementations of `ftsystem' in order to be able + to debug memory allocations on Unix, VMS and Amiga too! + + * src/pshinter/pshalgo2.c (psh2_hint_table_record_mask): Removed + some bogus warnings. + + * include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c: + Modified the debugging memory manager to report the location (source + file name + line number) where leaked memory blocks are allocated in + the source file. + + * src/base/ftdbgmem.c: New debugging memory manager. You must + define the FT_DEBUG_MEMORY macro in `ftoption.h' to enable it. It + will record every memory block allocated and report simple errors + like memory leaks and double deletes. + + * src/base/Jamfile: Include ftdbgmem. + * src/base/rules.mk: Ditto. + * src/base/ftbase.c: Include ftdbgmem.c. + + * include/freetype/config/ftoption.h: Added the FT_DEBUG_MEMORY + macro definition. + + * src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory): Modified the + base component to use the debugging memory manager when the macro + FT_DEBUG_MEMORY is defined. + +2001-10-21 Tom Kacvinsky + + * src/cff/cffload.c (CFF_Done_Font): Free subfonts array only if + we are working with a CID keyed CFF font. Otherwise, a variable + that was never allocated memory might freed. This is a correction + to the previous patch for freeing subfonts. + +2001-10-21 Tom Kacvinsky + + * src/cff/cffload.c (CFF_Done_Font): Free the subfonts array to + avoid a memory leak. + +2001-10-21 David Turner + + * src/pshinter/pshalgo2.c, src/pshinter/pshalgo1.c, + src/pshinter/pshglob.c: Removing compiler warnings in pedantic modes + (in multi-object compilation mode, mainly). + +2001-10-20 Tom Kacvinsky + + * src/type1/t1load.c (parse_encoding): Add a test to make sure + that custom encodings (i.e., neither StandardEncoding nor + ExpertEncoding) are not loaded twice when the Type 1 font is + synthetic. + + * src/type1/t1load.c (parse_font_name, parse_subrs): Added a test + for when loading synthetic fonts to make sure that the font name + and subroutines are not loaded twice. This is to remove a memory + leak that occurred because the original memory blocks for these + objects were not deallocated when the objects were parsed the + second time. + +2001-10-19 David Turner + + * src/smooth/ftgrays.c, src/pshinter/pshglob.h, + src/pshinter/pshrec.c, src/pshinter/pshalgo2.c: Getting rid of + compiler warnings. + + * src/pshinter/module.mk, src/pshinter/rules.mk: Adding control + files to build the PostScript hinter with the `old' build system. + +2001-10-19 Jacob Jansen + + * descrip.mms, src/pshinter/descrip.mms: Updates to the VMS build + files. + +2001-10-18 David Turner + + * src/psnames/pstables.h, src/tools/glnames.py: Rewrote the + `glnames.py' script used to generate the `pstables.h' header file. + The old one contained a serious bug that made FreeType return + incorrect glyph names for certain glyphs. + + * src/truetype/ttdriver.c (Set_Char_Sizes): Changing computation of + pixel size from character size to use rounding. This is an + experiment to see whether this gives values similar to Windows for + scaled ascent/descent/etc. + + * src/base/ftcalc.c (FT_Div64by32): Changed the implementation + slightly since the original code was mis-compiled on Mac machines + using the MPW C compiler. + + * src/base/ftobjs.c (FT_Realloc): When a memory block was grown + through FT_Realloc(), the new bytes were not set to 0, which created + some strange bugs in the PostScript hinter. + (destroy_face): Don't deallocate unconditionally. + + * src/cid/cidgload.c (CID_Compute_Max_Advance, CID_Load_Glyph): + Adding support to new PostScript hinter. + + * include/freetype/internal/psglobal.h, + include/freetype/internal/pshints.h, + include/freetype/config/ftmodule.h, src/pshinter/Jamfile, + src/pshinter/pshalgo.h, src/pshinter/pshalgo1.h, + src/pshinter/pshalgo1.c, src/pshinter/pshalgo2.h, + src/pshinter/pshalgo2.c, src/pshinter/pshglob.h, + src/pshinter/pshglob.c, src/pshinter/pshinter.c, + src/pshinter/pshmod.c, src/pshinter/pshmod.h, src/pshinter/pshrec.c, + src/pshinter/pshrec.h: Adding new PostScript hinter module. + + * include/freetype/internal/ftobjs.h, + include/freetype/internal/internal.h, + include/freetype/internal/psaux.h, + include/freetype/internal/t1types.h, src/psaux/psobjs.c, + src/psaux/psobjs.h, src/psaux/t1decode.h, src/psaux/t1decode.c, + src/type1/t1driver.c, src/type1/t1gload.c, src/type1/t1objs.c, + src/type1/t1objs.h: Updates to use the new PostScript hinter. + + * tests/Jamfile, tests/gview.c: Adding a new glyph hinting + viewer/debugger to the source tree. Note that you will _not_ be + able to compile it since it depends on an unavailable graphics + library named `Nirvana' to render vector images. + +2001-10-17 David Turner + + + * Version 2.0.5 released. + ========================= + + + * include/freetype/freetype.h, include/internal/ftobjs.h, + src/base/ftobjs.c, src/type1/t1driver.c: Adding a new function named + 'FT_Get_Postscript_Name' to retrieve the PostScript name of a given + font. Should work with all formats except pure CFF/CEF fonts (this + will be added soon). + + * src/cid/cidriver (cid_get_postscript_name): New function. + (CID_Get_Interface): Handle `postscript_name' interface. + + * src/sfnt/sfdriver.c (get_sfnt_postscript_name): New function. + (SFNT_Get_Interface): Handle `postscript_name' interface. + + * src/type1/t1driver.c (t1_get_ps_name): New function. + (Get_Interface): Handle `postscript_name' interface. + + * README, docs/CHANGES: Updated for 2.0.5 release. + +2001-10-08 David Turner + + Fixed a bug in `glnames.py' that prevented it from generating + correct glyph names tables. This resulted in the unavailability of + certain glyphs like `Cacute', `cacute' and `lslash' in Unicode + charmaps, even if these were present in the font (causing problems + for Polish users). + + * src/tools/glnames.py (mac_standard_names): Fixed. + (t1_standard_strings): Some fixes and renamed to ... + (sid_standard_names): This. + (t1_expert_encoding): Fixed. + (the_adobe_glyph_list): Renamed to ... + (adobe_glyph_names): This. + (the_adobe_glyphs): Renamed to ... + (adobe_glyph_values): This. + (dump_mac_indices, dump_glyph_list, dump_unicode_values, main): + Updated. + * src/psnames/pstables.h: Regenerated. + * src/psnames/psmodule.c (PS_Unicode_Value): Fix offset. + Fix return value. + Use `sid_standard_table' and `ps_names_to_unicode' instead of + `t1_standard_glyphs' and `names_to_unicode'. + (PS_Macintosh_Name): Use `ps_glyph_names' instead of + `standard_glyph_names'. + (PS_Standard_Strings): Use `sid_standard_names' instead of + `t1_standard_glyphs'. + + * doc/BUGS, doc/TODO: New documents. + +2001-10-07 Richard Barber + + * src/cache/ftlru.c (FT_Lru_Lookup_Node): Fixed a bug that prevented + correct LRU behaviour. + +2001-10-07 David Turner + + setjmp() and longjmp() are now used for rollback (i.e. when memory + pool overflow occurs). + + Function names are now all uniformly prefixed with `gray_'. + + * src/smooth/ftgrays.c: Include . + (ErrRaster_MemoryOverflow): New macro. + (TArea): New type to store area values in each cell (using `int' was + too small on 16-bit systems). is included to properly + get the needed data type. + (TCell, TRaster): Use it. + (TRaster): New element `jump_buffer'. + (gray_compute_cbox): Use `RAS_ARG' as the only parameter and get + `outline' from it. + (gray_record_cell): Use longjmp(). + (gray_set_cell): Use gray_record_cell() for error handling. + (gray_render_line, gray_render_conic, gray_render_cubic): Simplify. + (gray_convert_glyph_inner): New function, using setjmp(). + (gray_convert_glyph): Use it. + +2001-10-07 David Turner + + Provide a public API to manage multiple size objects for a given + FT_Face in the new header file `ftsizes.h'. + + * include/freetype/ftsizes.h: New header file, + * include/freetype/internal/ftobjs.h: Use it. + Remove declarations of FT_New_Size and FT_Done_Size (moved to + ftsizes.h). + * include/freetype/config/ftheader.h (FT_SIZES_H): New macro. + * src/base/ftobjs.c (FT_Activate_Size): New function. + * src/cache/ftcmanag.c: Include ftsizes.h. + (ftc_manager_init_size, ftc_manager_flush_size): Use + FT_Activate_Size. + +2001-09-20 Detlef Würkner + + * builds/amiga/*: Added port to Amiga with the SAS/C compiler. + +2001-09-15 Detlef Würkner + + * src/type1/t1afm.c (T1_Done_AFM): Free `afm'. + +2001-09-10 Yao Zhang + + * src/sfnt/ttcmap.c (code_to_index2): Handle code values with + hi-byte == 0 correctly. + +2001-09-10 Werner Lemberg + + * builds/link-std.mk ($(PROJECT_LIBRARY)): Fix typo. + +2001-08-30 Martin Muskens + + * src/type1/t1load.c (parse_font_matrix): A new way to compute the + units per EM with greater accuracy (important for embedded T1 fonts + in PDF documents that were automatically generated from TrueType + ones). + + * src/type1/t1load.c (is_alpha): Now supports `+' in font names; + this is used in embedded fonts. + + * src/psaux/psobjs.c (PS_Table_Add): Fixed a reallocation bug that + generated a dangling pointer reference. + +2001-08-30 Anthony Feik + + * src/type1/t1afm.c (T1_Read_Afm): Now correctly sets the flag + FT_FACE_FLAG_KERNING when appropriate for Type1 + AFM files. + +2001-08-25 Werner Lemberg + + * src/sfnt/ttload.c (TT_Load_CMap): Fix frame length of + `cmap_rec_fields'. + + * include/freetype/fterrors.h [!FT_CONFIG_OPTION_USE_MODULE_ERRORS]: + Undefine FT_ERR_BASE before defining again. + +2001-08-22 Werner Lemberg + + * src/truetype/ttinterp.h: Fix prototype of TT_Move_Func. + +2001-08-21 Werner Lemberg + + * builds/dos/dos-def.mk (NO_OUTPUT): Don't use `&>' but `>'. + +2001-08-21 David Turner + + * include/freetype/config/ftoption.h: Changed the default setting + for FT_CONFIG_OPTION_USE_MODULE_ERRORS to undefined, since it breaks + source compatibility in a few cases. Updated the comment to explain + that too. + +2001-08-17 Martin Muskens + + * src/base/ftcalc.c (FT_MulDiv): Fixed serious typo. + +2001-08-12 Werner Lemberg + + Updating to OpenType 1.3. + + * include/freetype/internal/tttypes.h (TT_CMap0, TT_CMap2, TT_CMap4, + TT_CMap6): Adding field `language'. + (TT_CMapTable): Removing field `language'. + Type of `length' field changed to FT_ULong. + Adding fields for cmaps format 8, 10, and 12. + (TT_CMapGroup): New auxiliary structure. + (TT_CMap8_12, TT_CMap10): New structures. + * include/freetype/tttables.h (TT_HoriHeader, TT_VertHeader): + Removed last element of `Reserved' array. + * include/freetype/ttnameid.h (TT_PLATFORM_CUSTOM, TT_MS_ID_UCS_4, + TT_NAME_ID_CID_FINDFONT_NAME): New macros. + + * src/sfnt/ttcmap.c (TT_CharMap_Load): Updated loading of `language' + field to the new structures. + Fixed freeing of arrays in case of unsuccessful loads. + Added support for loading format 8, 10, and 12 cmaps. + (TT_CharMap_Free): Added support for freeing format 8, 10, and 12 + cmaps. + (code_to_index4): Small improvement. + (code_to_index6): Ditto. + (code_to_index8_12, code_to_index10): New functions. + * src/sfnt/ttload.c (TT_Load_Metrics_Header): Updated to new + structure. + (TT_Load_CMap): Ditto. + + * src/sfnt/sfobjs.c (tt_encodings): Add MS UCS4 table (before MS + Unicode). + +2001-08-11 Werner Lemberg + + * src/type1/t1driver.c (t1_get_name_index): Fix compiler warning. + +2001-08-09 Tom Kacvinsky + + * src/cff/cffdrivr.c (get_cff_glyph_name): Renamed to + cff_get_glyph_name for consistency. + + (cff_get_glyph_index): Minor documentation change. + + * src/type1/t1driver.c (t1_get_name_index): New function used in + Get_Interface as the function returned when the `name_index' + function is requested. + + (get_t1_glyph_name): Renamed to t1_get_glyph_name for consistency. + +2001-08-08 Tom Kacvinsky + + * src/cff/cffload.c: Removed definitions of cff_isoadobe_charset, + cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding, + and cff_expert_encoding arrays to cffload.h. + + * src/cff/cffload.h: Added definitions of cff_isoadobe_charset, + cff_expert_charset, cff_expertsubset_charset, cff_standard_encoding, + and cff_expert_encoding arrays. + + * src/cff/cffdrivr.c (cff_get_name_index): New function, returned + when `cff_get_interface' is called with a request for the + `name_index' function. + + (cff_get_interface): Modified so that it returns the function + `cff_get_name_index' when the `name_index' function is requested. + + * src/base/ftobjs.c (FT_Get_Name_Index): New function, used to + return a glyph index for a given glyph name only if the driver + supports glyph names. + + * include/freetype/internal/ftobjs.h (FT_Name_Index_Requester): + New function pointer type definition used in the function + FT_Get_Name_Index. + + * include/freetype/freetype.h (FT_Get_Name_Index): Added + documentation and prototype. + +2001-07-26 Werner Lemberg + + * builds/cygwin/*: Removed. Use the unix stuff instead. + +2001-07-26 Jouk Jansen + + * builds/vms/ftconfig.h (FT_CALLBACK_DEF): Updated to change dated + 2001-06-27. + +2001-07-17 Werner Lemberg + + * include/freetype/internal/psaux.h (PS_Table): Use FT_Offset for + `cursor' and `capacity'. + * src/psaux/psobjc.c (reallocate_t1_table): Use FT_Long for second + parameter. + (PS_Table_Add): Use FT_Offset for `new_size'. + + Add support for version 0.5 maxp tables. + + * src/sfnt/ttload.c (TT_Load_MaxProfile): Implement it. + (TT_Load_OS2): Initialize some values. + +2001-07-13 Werner Lemberg + + * src/base/ftsynth.c: Include ftcalc.h unconditionally. + +2001-07-07 David Turner + + * src/truetype/ttgload.c, src/truetype/ttinterp.c, src/pcf/pcfread: + Removed pedantic compiler warnings when the bytecode interpreter is + compiled in. + +2001-07-03 Werner Lemberg + + * src/autohint/ahhint.c (ah_hinter_align_weak_points): Remove + unused variable `edges'. + (ah_hinter_load): Remove unused variables `old_width' and + `new_width'. + * src/cid/cidload.c (cid_decrypt): Use `U' for constant (again). + * src/psaux/psobjs.c (T1_Decrypt): Ditto. + * src/type1/t1parse.c (T1_Get_Private_Dict): Ditto. + +2001-06-28 David Turner + + * include/internal/ftstream.h: Modified the definitions + of the FT_GET_XXXX and NEXT_XXXX macros for 16-bit correctness. + +2001-06-26 Werner Lemberg + + * src/cid/cidload.c, src/cid/cidload.h (cid_decrypt): Use FT_Offset + instead of FT_Int as type for `length' parameter. + * include/freetype/internal/psaux.h (PSAux_Interface): Updated. + +2001-06-27 Wolfgang Domröse + + * src/psaux/psobjs.c, src/psaux/psobjs.h (T1_Decrypt): Use FT_Offset + instead of FT_Int as type for `length' parameter. + + + * Version 2.0.4 released. + ========================= + + +2001-06-27 David Turner + + * builds/unix/ftconfig.in: Changed the definition of the + FT_CALLBACK_DEF macro. + + * include/freetype/ftconfig.h, src/*/*.c: Changed the definition and + use of the FT_CALLBACK_DEF macro in order to support 16-bit + compilers. + + * builds/unix/ftconfig.in: Changed the definition of the + FT_CALLBACK_DEF macro. + + * src/sfnt/ttload.c (TT_Load_Kern): The kern table loader now ensures + that the kerning table is correctly sorted (some problem fonts don't + have a correct kern table). + +2001-06-26 Wolfgang Domröse + + * include/freetype/internal/ftstream.h (FT_GET_OFF3_LE): Fix typo. + +2001-06-24 David Turner + + * src/base/ftcalc.c (ft_div64by32): Fixed the source to work + correctly on 16-bit systems. + +2001-06-23 Anthony Fok + + * debian/*: Added Debian package build directory for 2.0.4. + +2001-06-22 David Turner + + * docs/PATENTS: Added patents disclaimer. This one was missing! + + * docs/CHANGES, docs/todo: Updated for the upcoming 2.0.4 release. + +2001-06-20 Werner Lemberg + + * include/freetype/config/ftconfig.h: Add two more `L's to + constants. + Add missing semicolons. + + * builds/toplevel.mk: Do similar change as for + builds/unix/detect.mk. + + * include/freetype/freetype.h (FT_ENC_TAG): New version to make it + easier to redefine. + * include/freetype/ftimage.h (FT_IMAGE_TAG): Ditto. + + * src/pcf/pcfread.c (pcf_get_encodings): Add cast. + +2001-06-19 David Turner + + * builds/win32/visualc/freetype.dsp, builds/win32/visualc/index.html: + Updated the Visual C++ project (for the 2.0.4 release). + + * builds/unix/detect.mk: Added rule for AIX detection (which uses + /usr/sbin/init instead of /sbin/init). + + * include/freetype/fterrors.h, src/*/*err*.h: Updated some of the + error macros to simplify handling of new error scheme. + +2001-06-19 Werner Lemberg + + * include/freetype/fttypes.h (FT_ERROR_MODULE): New macro. + +2001-06-19 David Turner + + Removing _lots_ of compiler warnings when the most pedantic warning + levels of Visual C++ and Borland C++ are used. Too many files to be + listed here, but FT2 now compiles without warnings with VC++ and the + `/W4' warning level (lint-style). + + * include/freetype/freetype.h (FT_New_Memory_Face): Updated + documentation. + * include/freetype/fttypes.h (FT_BOOL): New macro. + * include/freetype/internal/ftdebug.h: Add #pragma for Visual C++ + to suppress warning. + * include/freetype/internal/ftstream.h (FT_GET_SHORT_{BE,LE}, + FT_GET_OFF3_{BE,LE}, FT_GET_LONG_{BE,LE}): New macros. + (NEXT_*): Use them. + * src/autohint/ahglobal.c: Include FT_INTERNAL_DEBUG_H. + (FT_New_Memory_Face): Add `const' to function declaration. + +2001-06-18 Werner Lemberg + + Minor cleanups to remove compiler warnings. + + * include/freetype/cache/ftcmanag.h (FTC_MAX_BYTES_DEFAULT): Use + `L' for constant. + * include/freetype/config/ftoption.h (FT_RENDER_POOL_SIZE): Ditto. + * src/base/ftcalc.c (FT_MulDiv): Use `L' for constant. + * src/base/ftglyph.c (FT_Glyph_Get_CBox): Remove `error' variable. + * src/base/fttrigon.c (ft_trig_arctan_table): Use `L' for constants. + * src/base/ftobjs.c (FT_Done_Size): Fix return value. + (FT_Set_Char_Size, FT_Set_Pixel_Sizes, FT_Get_Kerning): Remove + unused `memory' variable. + * src/autohint/ahglyph.c (ah_get_orientation): Use `L' for constant. + * src/autohint/ahhint.c (ah_hint_edges_3, + ah_hinter_align_edge_points): Remove unused `before' and `after' + variables. + (ah_hinter_align_weak_points): Remove unused `edge_limit' variable. + (ah_hinter_load): Remove unused `new_advance', `start_contour', + and `metrics' variables. + * src/cff/cffload.c (CFF_Load_Encoding): Remove dead code to avoid + compiler warning. + * src/cff/cffobjs.c (CFF_Init_Face): Remove unused `base_offset' + variable. + * src/cff/cffgload.c (CFF_Parse_CharStrings): Remove unused + `outline' variable. + (cff_compute_bias): Use `U' for constant. + * src/cid/cidload.c (cid_decrypt): Ditto. + * src/psaux/psobjs.c (T1_Decrypt): Ditto. + * src/psaux/t1decode.c (T1_Decoder_Parse_CharStrings): Ditto. + * src/sfnt/ttload.c (TT_Load_Kern): Remove unused `version' + variable. + * src/sfnt/ttsbit.c (TT_Load_SBit_Image): Remove unused `top' + variable. + * src/truetype/ttgload.c (load_truetype_glyph): Remove unused + `num_contours' and `ins_offset' variables. + (compute_glyph_metrics): Remove unused `Top' and `x_scale' + variables. + (TT_Load_Glyph): Remove unused `memory' variable. + * src/smooth/ftgrays.c (grays_raster_render): Use `L' for constants. + +2001-06-18 Werner Lemberg + + Make the new error scheme source compatible with older FT versions + by introducing another layer. + + * include/freetype/fterrors.h (FT_ERRORDEF_, FT_NOERRORDEF_): New + macros. + (FT_NOERRORDEF): Removed. + * include/*/*err*.h: Use FT_ERRORDEF_ and FT_NOERRORDEF_. + +2001-06-16 Werner Lemberg + + * include/freetype/freetype.h (FT_ENC_TAG): New macro. + (FT_Encoding_): Use it. + * include/freetype/ftimage.h (FT_IMAGE_TAG): Define it + conditionally. + +2001-06-14 David Turner + + Modified the TrueType interpreter to let it use the new + trigonometric functions provided in `fttrigon.h'. This gets rid of + some old 64-bit computation routines, as well as many warnings when + compiling the library with the `long long' 64-bit integer type. + + * include/freetype/config/ftoption.h: Undefine + FT_CONFIG_OPTION_OLD_CALCS. + * include/freetype/internal/ftcalc.h: Rearrange use of + FT_CONFIG_OPTION_OLD_CALCS. + * src/base/ftcalc.c: Add declaration of FT_Int64 if + FT_CONFIG_OPTION_OLD_CALCS isn't defined. + * src/truetype/ttinterp.c: Use FT_TRIGONOMETRY_H. + (Norm): Add a special version if FT_CONFIG_OPTION_OLD_CALCS isn't + defined. + (Current_Ratio, Normalize): Simplify code. + +2001-06-11 Mike Owens + + * src/base/ftcalc.c (FT_MulDiv, FT_DivFix, FT_Sqrt64): Remove + compiler warnings. + +2001-06-08 Werner Lemberg + + * builds/unix/configure.in: Renamed to ... + * builds/unix/configure.ac: This to make sure that autoconf 2.50 is + needed. + Run `autoupdate' on it. + Increase `version_info' to 7:0:1. + * builds/unix/configure: Regenerated. + +2001-06-08 David Turner + + * src/autohint/ahhint.c (ah_hinter_load_glyph): Fixed a bug that + corrupted transformed glyphs that were auto-hinted (the transform + was applied twice). + + Fixed a bug that returned an invalid linear width for composite + TrueType glyphs. + + * include/internal/tttypes.h (TT_Loader_): Two new elements `linear' + and `linear_def'. + * src/truetype/ttgload.c (load_truetype_glyph, + compute_glyph_metrics): Use it. + + * include/fttypes.h (FT_ERROR_BASE): New macro. + * src/base/ftobjs.c (FT_Open_Face, FT_Render_Glyph_Internal): Use it + to make source code work with the new error scheme implemented by + Werner. + * src/base/ftoutln.c (FT_Outline_Render): Ditto. + +2001-06-07 Werner Lemberg + + Updating to libtool 1.4.0 and autoconf 2.50. + + * builds/unix/ltconfig: Removed. + * builds/unix/ltmain.sh, builds/unix/configure.in, + builds/unix/aclocal.m4: Updated. + * builds/unix/configure: Regenerated. + +2001-06-06 Werner Lemberg + + Complete redesign of error codes. Please check ftmoderr.h for more + details. + + * include/freetype/internal/cfferrs.h, + include/freetype/internal/tterrors.h, + include/freetype/internal/t1errors.h: Removed. Replaced with files + local to the module. All extra error codes have been moved to + `fterrors.h'. + + * src/sfnt/ttpost.h: Move error codes to `fterrors.h'. + + * src/autohint/aherrors.h, src/cache/ftcerror.h, src/cff/cfferrs.h, + src/cid/ciderrs.h, src/pcf/pcferror.h, src/psaux/psauxerr.h, + src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h, + src/smooth/ftsmerrs.h, src/truetype/tterrors.h, + src/type1/t1errors.h, src/winfonts/fnterrs.h: New files defining the + error names for the module it belongs to. + + * include/freetype/ftmoderr.h: New file, defining the module error + offsets. Its structure is similar to `fterrors.h'. + + * include/freetype/fterrors.h (FT_NOERRORDEF): New macro. + (FT_ERRORDEF): Redefined to use module error offsets. + All internal error codes are now public; unused error codes have + been removed, some are new. + + * include/freetype/config/ftheader.h (FT_MODULE_ERRORS_H): New + macro. + * include/freetype/config/ftoption.h + (FT_CONFIG_OPTION_USE_MODULE_ERRORS): New macro. + + All other source files have been updated to use the new error codes; + some already existing (internal) error codes local to a module have + been renamed to give them the same name as in the base module. + + All make files have been updated to include the local error files. + +2001-06-06 Werner Lemberg + + * src/cid/cidtokens.h: Replaced with... + * src/cid/cidtoken.h: This file for 8+3 consistency. + + * src/raster/ftraster.c: Use macros for header file names. + + * src/include/freetype/tttables.h (TT_HoriHeader_, TT_VertHeader_): + Fix length of `Reserved' array. Note that this isn't the real fix + since recent OpenType specs have introduced a `CaretOffset' field + instead of the first reserved byte. + +2001-05-29 Werner Lemberg + + * INSTALL: Minor fixes. + + + * Version 2.0.3 released. + ========================= + + +2001-05-29 David Turner + + * INSTALL, docs/CHANGES: Updated. + +2001-05-25 David Turner + + Moved several documents from the top-level to the `docs' directory. + + * src/base/ftcalc.c (FT_DivFix): Small fix to return value. + +2001-05-16 David Turner + + * src/truetype/ttgload.c (load_truetype_glyph): Fixed a bug in the + composite loader. Spotted by Keith Packard. + * src/base/ftobjs.c (FT_GlyphLoader_Check_Points, + FT_GlyphLoader_Check_Subglyphs): Ditto. + +2001-05-14 David Turner + + Fixed the incorrect blue zone computations, and improved the + composite support. Note that these changes result in improved + rendering, while sometimes introducing their own artefacts. This is + probably the last big change to the autohinter before the + introduction of a complete replacement. + + * src/autohint/ahglobal.c (sort_values): Fix loop. + * src/autohint/ahglyph.c: Removed some obsolete code. + (ah_outline_compute_edges): Modify code to set the ah_edge_round + flag. + (ah_outline_compute_blue_edges): Add code to compute active blue + zones. + * src/autohint/ahhint.c (ah_hinter_glyph_load): Change load_flags + value. + + * src/base/ftcalc.c (FT_DivFix): Fixed a bug in the 64-bit code that + created incorrect scale factors! + (FT_Round_Fix, FT_CeilFix, FT_FloorFix): Minor improvements. + +2001-05-12 Werner Lemberg + + * include/freetype/ftbbox.h: FTBBOX_H -> __FTBBOX_H__. + * include/freetype/fttrigon.h: __FT_TRIGONOMETRY_H__ -> + __FTTRIGON_H__. + Include FT_FREETYPE_H. + Beautified; added copyright. + * src/base/fttrigon.c: Beautified; added copyright. + +2001-05-11 David Turner + + * src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c + (parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed + the incorrect EM size computation. + + * include/freetype/fttrigon.h, src/base/fttrigon.c: New files, + adding trigonometric functions to the core API (using Cordic + algorithms). + * src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them. + + * builds/newline: New file. + * builds/top_level.mk, builds/detect.mk: Use it. This fixes + problems with Make on Windows 2000, as well as problems when `make + distclean' is invoked on a non-Unix platform when there is no + `config.mk' in the current directory. + + * builds/freetype.mk: Fixed a problem with object deletions under + Dos/Windows/OS/2 systems. + + Added new directory to hold tools and test programs. + + * docs/docmaker.py, docs/glnames.py: Moved to... + * src/tools/docmaker.py, src/tools/glnames.py: This place. + * src/tools/cordic.py: New file used to compute arctangent table + needed by fttrigon.c. + * src/tools/test_bbox.c, src/tools/test_trig.c: New test files. + + * src/tools/docmaker.py: Improved the script to add the current date + at the footer of each web page (useful to distinguish between + versions). + + * Jamfile: Fixed incorrect HDRMACRO argument. + + * TODO: Removed the cubic arc bbox computation note, since it has been + fixed recently. + * src/base/ftbbox.c (test_cubic_zero): Renamed to... + (test_cubic_extrema): This function. Use `UL' for unsigned long + constants. + + * include/freetype/t1tables.h, include/freetype/config/ftoption.h: + Formatting. + +2001-05-10 David Turner + + * src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak + which happened when trying to open 0-size font files! + +2001-05-09 Werner Lemberg + + * include/freetype/internal/ftcalc.h: Move declaration of + FT_SqrtFixed() out of `#ifdef FT_LONG64'. + +2001-05-08 Francesco Zappa Nardelli + + * src/pcfdriver.c (PCF_Load_Glyph): Fixed incorrect bitmap width + computation. + +2001-05-08 David Turner + + * docs/docmaker.py: Updated the DocMaker script in order to add + command line options (--output,--prefix,--title), fix the erroneous + line numbers reported during errors and warnings, and other + formatting issues. + + * src/base/ftcalc.c (FT_MulDiv, FT_MulFix, FT_DivFix): Various tiny + fixes related to rounding in 64-bits routines and + pseudo-`optimizations'. + +2001-04-27 David Turner + + * src/base/ftbbox.c (BBox_Cubic_Check): Fixed the coefficient + normalization algorithm (invalid final bit position, and invalid + shift computation). + +2001-04-26 Werner Lemberg + + * builds/unix/config.guess, builds/unix/config.sub: Updated to + latest versions from gnu.org. + + * builds/compiler/gcc-dev.mk: Add `-Wno-long-long' flag. + + * include/freetype/internal/ftcalc.h: Define FT_SqrtFixed() + unconditionally. + * src/base/ftbbox.c: Include FT_INTERNAL_CALC_H. + Fix compiler warnings. + * src/base/ftcalc.c: Fix (potential) compiler warnings. + +2001-04-26 David Turner + + * src/base/ftcalc.c (FT_SqrtFixed): Corrected/optimized the 32-bit + fixed-point square root computation. It is now used even with + 64-bits integers, as it is _much_ faster than calling FT_Sqrt64 :-) + + * src/base/ftbbox.c: Removed invalid `#include FT_BEZIER_H' line. + +2001-04-25 David Turner + + * src/base/ftbbox.c (BBox_Cubic_Check): Rewrote function to use + direct computations with 16.16 values instead of sub-divisions. It + is now slower, but proves a point :-) + + * src/raster/ftraster.c, src/smooth/ftgrays.c, src/base/ftbbox.c: + Fixed the Bézier stack depths. + + * src/base/ftcalc.c (FT_MulFix): Minor rounding fix. + + * builds/beos: Added BeOS-specific files to the old build system + (no changes were necessary to support BeOS in the Jamfile though). + +2001-04-20 David Turner + + * ftconfig.h, ftoption.h: Updated `ftconfig.h' to detect 64-bit int + types on platforms where Autoconf is not available). Also removed + FTCALC_USE_LONG_LONG and replaced it with + FT_CONFIG_OPTION_FORCE_INT64. + + * builds/win32/freetype.dsp: Updated the Visual C++ project file. + Doesn't create a DLL yet. + + * cffgload.c: Removed a compilation warning. + +2001-04-10 Tom Kacvinsky + + * t1load.c (parse_charstrings): Changed code for placing .notdef + glyph into slot 0 so that we no longer have a memory access + violation. + + * t1load.h: In structure T1_Loader, added swap_table (of type + PS_Table) to facilitate placing the .notdef glyph into slot 0. + +2001-04-10 Francesco Zappa Nardelli + + * src/pcf/pcfdriver.c (PCF_Get_Char_Index): Fix return value. + +2001-04-09 Laurence Withers + + * builds/dos/detect.mk: Add support for bash. + +2001-04-05 Werner Lemberg + + * builds/os2/*.mk: These files have been forgotten to update to + the structure of similar makefiles. + * builds/dos/*.mk: Ditto. + * builds/ansi/*.mk: Ditto. + + * builds/win32/win32-def.mk (BUILD): Fix typo. + + * builds/compiler/*.mk (CLEAN_LIBRARY): Don't use NO_OUTPUT. + This is already used in the link_*.mk files. + +2001-04-03 Werner Lemberg + + * src/*/Jamfile: Slight changes to make files more cryptic. + +2001-04-03 Werner Lemberg + + * Jamfile, src/Jamfile, src/*/Jamfile: Formatted. Slight changes + to give files identical structure. + +2001-04-02 Werner Lemberg + + * CHANGES: Reformatted, minor fixes. + * TODO: Updated. + * README: Formatting. + * include/freetype/freetype.h: Formatting. + + * Jamfile: Fix typo. + + * src/cff/cffparse.c: Move error code #defines to... + * include/freetype/internal/cfferrs.h: This file. + * src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffload.c: Replaced + `FT_Err_*' with `CFF_Err_*'. + * src/cid/cidparse.c: Replaced `FT_Err_*' with `T1_Err_*'. + * src/psaux/psobjs.c, src/psaux/t1decode.c: Ditto. + * src/sfnt/sfobcs.c, src/sfnt/ttload.c: Replaced `FT_Err_*' with + `TT_Err_*'. + * src/truetype/ttgload.c, src/truetype/ttobjs.c: Ditto. + * src/type1/t1gload.c, src/type1/t1load.c, src/type1/t1objs.c, + src/type1/t1parse.c: Replaced `FT_Err_*' with `T1_Err_*'. + + * include/freetype/internal/cfferrs.h: Add + `CFF_Err_Unknown_File_Format'. + * include/freetype/internal/t1errors.h: Add + `T1_Err_Unknown_File_Format'. + * include/freetype/internal/tterrors.h: Add + `TT_Err_Unknown_File_Format'. + + * src/cff/cffload.h: Add `cff_*_encoding' and `cff_*_charset' + references. + * src/psaux/psobjs.c: Include `FT_INTERNAL_TYPE1_ERRORS_H'. + + * src/cff/cffobjs.c (CFF_Init_Face, CFF_Done_Face): Use + FT_LOCAL_DEF. + * src/cid/cidobjs.c (CID_Done_Driver): Ditto. + * src/trutype/ttobjs.c (TT_Init_Face, TT_Done_Face, TT_Init_Size): + Ditto. + * src/type1/t1objs.c (T1_Done_Driver): Ditto. + * src/pcf/pcfdriver.c (PCF_Done_Face): Ditto. + * src/pcf/pcf.h: Use FT_LOCAL for `PCF_Done_Face'. + +2001-04-02 Tom Kacvinsky + + * src/sfnt/ttload.c (TT_Load_Metrics): Fix an improper pointer + dereference. Submitted by Herbert Duerr . + +2001-03-26 Tom Kacvinsky + + * include/freetype/config/ftconfig.h: Changed hexadecimal + constants to use suffix U to avoid problems with HP-UX's c89 + compiler. Submitted by G.W. Lucas . + +2001-03-24 David Turner + + * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles to + the source tree. See www.freetype.org/jam/index.html for details. + + + * Version 2.0.2 released. + ========================= + + +2001-03-20 Werner Lemberg + + * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. + +2001-03-20 David Turner + + * include/freetype/config/ftheader.h, include/freetype/ftsnames.h: + Renamed `ftnames.h' to `ftsnames.h', and FT_NAMES_H to + FT_SFNT_NAMES_H. + + * docs/docmaker.py: Added generation of INDEX link in table of + contents. + + * INSTALL, docs/BUILD: Updated documentation to indicate that the + compilation process has changed slightly (no more `src' required in + the include path). + + * builds/*/*-def.mk: Changed the objects directory from `obj' to + `objs'. + + * include/freetype/config/ftheader.h: Removed obsolete macros like + FT_SOURCE_FILE, etc. and added cache-specific macro definitions that + were previously defined in . Added comments to + be included in a new API Reference section. + + * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each + component needs to add its own directory to the include path at + compile time. Modified all `rules.mk' and `descrip.mms' + accordingly. + +2001-03-20 Werner Lemberg + + * builds/unix/configure.in: Add $ft_version. + * builds/unix/freetype-config.in: Use it. + * builds/unix/configure: Updated. + +2001-03-19 Tom Kacvinsky + + * src/type1/t1load.c (parse_font_matrix): Assign the units per em + value an unsigned short value, first by shifting right 16 bits, + then by casting the results to FT_UShort. + + * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em + value an unsigned short value, first by shifting right 16 bits, + then by casting the results to FT_UShort. + +2001-03-17 David Turner + + * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, + src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove + compiler warnings in pedantic modes. + + * include/config/ft2build.h, include/config/ftheader.h: The file + `ft2build.h' was renamed to `ftheader.h' to avoid conflicts with the + top-level . + + * include/config/ftheader.h: Added new section describing the #include + macros. + +2001-03-17 Tom Kacvinsky + + * src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed + values for the bounding box numbers. + + * src/cff/cffobjs.c (CFF_Init_Face): When processing a CFF/CEF font, + set `root->ascender' (`root->descender') to the integer part of + `root->bbox.yMax' (`root->bbox.yMin', respectively). + +2001-03-16 Tom Kacvinsky + + * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in + cff_get_interface to facilitate getting a glyph name for glyph index + via FT_Get_Glyph_Name(). + + (cff_get_interface): Added support for getting a glyph name via the + `glyph_name' module interface. Uses the new function + get_cff_glyph_name(). + Submitted by Sander van der Wal . + + * src/cff/cffobjs.c (CFF_Init_Face): Logical or the face flags with + FT_FACE_FLAG_GLYPH_NAMES only if FT_CONFIG_OPTION_NO_GLYPH_NAMES is + not defined. This is to add support for getting a glyph name from a + glyph index via FT_Get_Glyph_Name(). + Submitted by Sander van der Wal . + + * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for + deprecated operator `dotsection'. + Submitted by Sander van der Wal . + +2001-03-12 Werner Lemberg + + * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Fix error + messages. + + * INSTALL, docs/BUILD: We need GNU make 3.78.1 or newer. + +2001-03-12 Tom Kacvinsky + + * include/freetype/internal/psaux.h: Changed the lenIV member of + the T1_Decoder_ struct to be an FT_Int instead of an FT_UInt. + + * src/psaux/t1decode.c (T1_Decoder_Parse_Charstrings): Adjust + for lenIV seed bytes at the start of a decrypted subroutine. + + * src/cid/cidload.c (cid_read_subrs): Decrypt subroutines only + if lenIV >= 0. + + * src/cid/cidgload.c (cid_load_glyph): Decrypt charstrings only + if lenIV >= 0. + +2001-03-11 Werner Lemberg + + * TODO: Updated. + + * src/pcf/pcfread.c: Put READ_Fields() always in a conditional to + avoid compiler warnings. + +2001-03-10 Tom Kacvinsky + + * TODO: New file. + + * include/freetype/freetype.h: Added prototypes and notes for + three new functions: FT_RoundFix, FT_CeilFix, and FT_FloorFix. + * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_FloorFix): Added + implementation code. + + * src/cid/cidobjs.c (CID_Init_Face): Use calculated units_per_EM, + and if that is not available, default to 1000 units per EM. Changed + assignment code for ascender and descender values. + * src/cid/cidload.c (parse_font_matrix): Added units_per_EM + processing. + (parse_font_bbox): Changed to use FT_Fixed number handling. + + * src/type1/t1objs.c (T1_Init_Face): Changed the assignment code + for ascender, descender, and max_advance_width. + * src/type1/t1load.c (parse_font_bbox): Changed to use FT_Fixed + number handling. + +2001-03-10 Henrik Grubbström + + * src/*/*.c: Added many casts to make code more 64bit-safe. + +2001-03-07 Werner Lemberg + + * INSTALL, docs/BUILD: We need GNU make 3.78 or newer. + +2001-03-07 Tom Kacvinsky + + * src/type1/t1objs.c (T1_Init_Face): Minor correction: We must wait + until parse_font_bbox is changed before we use logical shift rights + in the assignments of `root->ascender', `root->descender', and + `root->max_advance_width'. + + (T1_Done_Face): Free `char_name' table to avoid a memory leak. + Submitted by Sander van der Wal . + +2001-03-05 Tom Kacvinsky + + * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the + the Type 2 glyph charstring (used by conversion programs). + Submitted by Ha Shao . + +2001-03-04 Antoine Leca + + * include/freetype/ttnameid.h: Correct a stupid typo which prevented + correct compilation (TT_MS_LANGID_TIGRIGNA_ETHIOPIA appeared twice). + +2001-03-04 Werner Lemberg + + * src/autohint/ahtypes.h (AH_Hinter): Add elements + `disable_horz_edges', `disable_vert_edges'. + * src/autohint/ahhint.c (ah_hint_edges_3, ah_hinter_hint_edges): Use + them (and remove static variables with the same names). + * src/pcf/pcfutil.c (BitOrderInvert): Add `const'. + * docs/glnames.py: Updated to latest pstables.h changes. + + * builds/unix/detect.mk: Add test for Hurd. + * builds/hurd/detect.mk: Removed. + +2001-03-04 Sander van der Wal + + * src/psnames/pstables.h: Add more `const'. + * src/pcf/pcfutil.c: Ditto. + +2001-03-04 Werner Lemberg + + * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixing typo + (FT_Glyph_Done -> FT_Done_Glyph). + +2001-03-01 Antoine Leca + + * include/freetype/ttnameid.h: Added some new Microsoft language + codes and LCIDs as found in Office Xp. + +2001-02-28 David Turner + + * builds/hurd/detect.mk: New file. Added support to detect the GNU + Hurd operating system as Unix-like. Fix submitted by Anthony Fok + . + + * src/type1/t1gload.c (T1_Load_Glyph): Set glyph control data to the + the Type 1 glyph charstring (used by conversion programs). + Submitted by Ha Shao . + +2001-02-22 David Turner + + * src/base/ftgrays.c (grays_sweep): The function didn't exit + immediately if `num_cells' was 0 as it should. Thanks to Boris for + finding this out. + + * src/base/ftglyph.c (FT_Glyph_To_Bitmap): Fixed memory leak when + bitmap rendering fails (thanks to Graham Asher). + +2001-02-13 Werner Lemberg + + * docs/docmaker.py (DocSection::add_element): Use + `self.print_error()'. + + * builds/unix/config.{guess,sub}: Updated (from ftp.gnu.org). + +2001-02-13 David Turner + + * docs/docmaker.py, include/freetype/*.h: Updated the DocMaker + script to support chapters and section block ordering. Updated the + public header files accordingly. + + * src/base/ftglyph.c (FT_Glyph_Copy): Advance width and glyph format + were not correctly copied. + +2001-02-08 Tom Kacvinsky + + * src/cff/cffparse.c (cff_parse_font_matrix): Removed an + unnecessary fprintf( stderr, ... ). + +2001-02-07 Tom Kacvinsky + + * src/type1/t1objs.c (T1_Init_Face): Added code to get the + units_per_EM from the value assigned in parse_font_matrix, if + available. Default to 1000 if not available. + + * src/cff/cffparse.c (cff_parse_font_matrix): Added logic to get + the units_per_EM from the FontMatrix. + + (cff_parse_fixed_thousand): New function. Gets a real number from + the CFF font, but multiplies by 1000 (this is to avoid rounding + errors when placing this real number into a 16.16 fixed number). + + (cff_parse_real): Added code so that the integer part is moved + into the high sixteen bits of the 16.16 fixed number. + + * src/cff/cffobjs.c (CFF_Init_Face): Added logic to get the units + per EM from the CFF dictionary, if available. + + * include/freetype/internal/cfftypes.h: In struct CFF_Font_Dict_, + added a units_per_em member to facilitate passing of units_per_em + from function cff_parse_font_matrix. + + * src/type1/t1load.c (is_alpha): Make `-' a legal alphanumeric + character. This is so that font names with `-' are fully parsed, + etc... + +2001-02-02 Werner Lemberg + + * src/psaux/psobjs.c (shift_elements): Remove if clause (which is + obsolete now). + + (reallocate_t1_table, PS_Table_Done): Replace REALLOC() with ALLOC() + + MEM_Copy() to avoid a memory bug. + +2001-02-01 David Turner + + * docs/docmaker.py: Improved the index sorting routine to place + capital letters before small ones. Added the `' marker to + section blocks in order to give the order of blocks. + +2001-01-30 Antoine Leca + + * include/freetype/ttnameid.h: Latest updates to Microsoft language + ID codes. + +2001-01-24 Tom Kacvinsky + + * src/cff/t1load.c (parse_font_matrix): Added heuristic to get + units_per_EM from the font matrix. + + (parse_dict): Deleted test to see whether the FontInfo keyword has + been seen. Deletion of this test allows fonts without FontInfo + dictionaries to be parsed by the Type 1 driver. + + (T1_Open_Face): Deleted empty subroutines array test to make sure + fonts with no subroutines still are parsed. + +2001-01-17 Francesco Zappa Nardelli + + * src/pcfread.c (pcf_get_properties, pcf_get_metrics, + pcf_get_bitmaps): Fix compiler errors. + +2001-01-11 David Turner + + * src/pcf/pcfread.c: Removed some compilation warnings related + to comparison of signed vs. unsigned integers. + + * include/freetype/internal/ftdebug.h: Changed the debug trace + constants from trace_t2xxxx to trace_cffxxxx to be able to compile + the CFF driver in debug mode. + +2001-01-11 Matthew Crosby + + * builds/unix/freetype-config.in: Fix problems with separate + --prefix and --exec-prefix. + +2001-01-11 David Turner + + * docs/docmaker.py: Added cross-references generation as well as + more robust handling of pathname wildcard matching. + +2001-01-10 Werner Lemberg + + * docs/docmaker.py: Minor improvements to reduce unwanted spaces + and empty lines in output. + +2001-01-09 David Turner + + * docs/docmaker.py: Improved script to generate table of contents + and index pages. It also supports wildcards on non Unix systems. + + * include/freetype/*.h, include/freetype/cache/*.h: Updated comments + to include section definitions/delimitations for the API Reference + generator. + + * include/freetype/freetype.h: Moved declaration of + `FT_Generic_Finalizer' and the `FT_Generic' structure to... + * include/freetype/fttypes.h: here. + +2001-01-04 Werner Lemberg + + * include/freetype/ttnameid.h: Updated Unicode code range comments. + +2001-01-03 Tom Kacvinsky + + * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}. + + * include/freetype/internal/internal.h: Changed to use cfftypes.h + (cfferrs.h) instead of t2types.h (t2errors.h, respectively). + + * include/freetype/internal/cfftypes.h: Merged in changes from + t2types.h and made this the canonical `types' header for the CFF + driver. + + * include/freetype/internal/t2types.h: This file was merged with + cfftypes.h and is no longer necessary. + + * include/freetype/internal/t2errors.h: Renamed to cfferrs.h. + + * src/cff/cffobjs.c, src/cff/cffobjs.h, src/cff/cffparse.c, + src/cff/cffdrivr.c, src/cff/cff.c, src/cff/cffload.c, + src/cff/cffgload.c, src/cff/cffgload.h: Changed to use + cffgload.{c,h} instead of t2gload.{c,h}. All occurrences of t2_ + (T2_) were replaced with cff_ (CFF_, respectively). + + * src/cff/t2gload.h: Renamed cffgload.h. + + * src/cff/t2gload.c: Renamed cffgload.c + +2000-01-02 Jouk Jansen + + * builds/vms: Support files for VMS architecture added. + * descrip.mms, src/*/descrip.mms: VMS makefiles added. + * README.VMS: New file. + +2000-01-01 Werner Lemberg + + * LICENSE.TXT: Added info about PCF driver license. + +2001-01-01 Francesco Zappa Nardelli + + * src/pcf/*: New driver module for PCF font format (used in + X Window System). + * include/freetype/internal/ftdebug.h (FT_Trace): Added values for + PCF driver. + * include/freetype/internal/pcftypes.h: New file. + * include/freetype/config/ftmodule.h: Added PCF driver module. + +2001-01-01 Werner Lemberg + + * src/winfonts/winfnt.c (FNT_Get_Char_Index): Fix parameter type. + +2000-12-31 Werner Lemberg + + * builds/modules.mk (clean_module_list): Fixed deletion of module + file in case `make make_module_list' is called before `make setup'. + +2000-12-30 Werner Lemberg + + * src/cff/cffload.c (CFF_Load_Charset): Improved error messages. + (CFF_Load_Charset, CFF_Load_Encoding): Remove unnecessary variable + definition. + +2000-12-30 Tom Kacvinsky + + * include/freetype/internal/t2types.h, + include/freetype/internal/cfftypes.h: Changed the structures for + CFF_Encoding and CFF_Encoding for the new implementations of the + charset and encoding parsers in the CFF driver. + + * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode, + t2_operator_seac): Added these functions for use in implementing the + seac emulation provided by the Type 2 endchar operator. + (T2_Parse_CharStrings): Added seac emulation for the endchar + operator. + + * src/cff/cffload.c (CFF_Load_Encoding, CFF_Load_Charset, + CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the + charset/encoding tables, and free the memory used by them when the + CFF driver is finished with them. Added tables + + cff_isoadobe_charset + cff_expert_charset + cff_expertsubset_charset + cff_standard_encoding + cff_expert_encoding + + so that the encoding/charset parser can handle predefined encodings and + charsets. + +2000-12-24 Tom Kacvinsky + + * src/cff/t2gload.c (T2_Load_Glyph): Added code so that the font + transform is applied. + + * src/cff/cffparse.c (cff_parse_font_matrix): Added code so that + the font matrix numbers are scaled by 1/(matrix->yy). Also, the + offset vector now contains integer values instead of 16.16 fixed + numbers. + +2000-12-22 Tom Kacvinsky + + * src/autohint/ahhint.c (ah_hinter_load_glyph): + Removed unnecessary comments and commented-out code. + +2000-12-21 David Turner + + * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, + we'll work on supporting CID AFM files later I guess :-) + +2000-12-21 Tom Kacvinsky + + * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph): + Changed so that fonts with a non-standard FontMatrix render + correctly. Previously, the first glyph rendered from such a + font did not have the transformation matrix applied. + +2000-12-17 Werner Lemberg + + * *.mk: Added lots of `.PHONY' targets. + +2000-12-17 Karsten Fleischer + + * *.mk: Implemented `platform' target to disable auto-detection. + +2000-12-14 Werner Lemberg + + * docs/design/modules.html: Removed. Covered by design-*.html. + + * INSTALL: Added info about makepp. + +2000-12-14 David Turner + + Added support for clipped direct rendering in the smooth renderer. + This should not break binary compatibility of existing applications. + + * include/freetype/fttypes.h, include/freetype/ftimage.h: Move + definition of the FT_BBox structure from the former to the latter. + * include/freetype/ftimage.h: Add `ft_raster_flag_clip' value to + FT_Raster_Flag enumeration. + Add `clip_box' element to FT_Raster_Params structure. + * src/smooth/ftgrays.c (grays_convert_glyph): Implement it. + + * INSTALL: Updated installation instructions on Win32, listing the + new `make setup list' target used to list supported + compilers/targets. + + * src/raster/ftraster.c (ft_black_render): Test for unsupported + direct rendering before testing arguments. + +2000-12-13 David Turner + + * include/freetype/config/ft2build.h, + include/freetype/internal/internal.h: Fixed header inclusion macros + to use direct definitions. This is the only way to do these things + in a portable way :-( The rest of the code should follow shortly + though everything compiles now. + + * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. + + * builds/win32/detect.mk: Added support for the Intel C/C++ + compiler, as well as _preliminary_ (read: doesn't work!) support for + Watcom. Also added a new setup target. Type `make setup list' for + a list of supported command-line compilers on Win32. + + * src/base/ftdebug.c: Added dummy symbol to avoid empty file if + conditionals are off. + +2000-12-13 Werner Lemberg + + * builds/unix/ftsystem.c: Fixed typos. Fixed inclusion of wrong + ftconfig.h file. + +2000-12-12 Werner Lemberg + + * include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT): + Removed. ANSI C doesn't (explicitly) allow macro expansion in + arguments using `##'. + (FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory + names directly. Make them configurable. Use `##' to strip leading + and trailing spaces from arguments. + + * builds/unix/ft2unix.h: Adapted. + + * src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream, + ft_close_stream): Use FT_CALLBACK_DEF. + + * builds/unix/ftsystem.c: Use new header scheme. + (FT_Done_Memory): Use free() from FT_Memory structure. + + * src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes. + +2000-12-11 Werner Lemberg + + * include/freetype/config/ft2build.h (FT2_CONFIG_ROOT, + FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE, + FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant. + +2000-12-09 Werner Lemberg + + * builds/unix/detect.mk: Remove unused USE_CFLAGS variable. + +2000-12-08 Werner Lemberg + + * */*.h: Changed body inclusion macro names to start and end with + `__' (those which haven't converted yet). Fixed minor conversion + issues. + + * src/winfonts/winfnt.c: Updated to new header inclusion scheme. + + * src/truetype/ttinterp.c: Remove unused CALC_Length() macro. + +2000-12-07 David Turner + + * */*.[ch]: Changed source files to adhere to the new + header inclusion scheme. Not completely tested but works for now + here. + + * src/cff/t2driver.c: Renamed and updated to... + * src/cff/cffdrivr.c: New file. + * src/cff/t2driver.h: Renamed and updated to... + * src/cff/cffdrivr.h: New file. + * src/cff/t2load.c: Renamed and updated to... + * src/cff/cffload.c: New file. + * src/cff/t2load.h: Renamed and updated to... + * src/cff/cffload.h: New file. + * src/cff/t2objs.c: Renamed and updated to... + * src/cff/cffobjs.c: New file. + * src/cff/t2objs.h: Renamed and updated to... + * src/cff/cffobjs.h: New file. + * src/cff/t2parse.c: Renamed and updated to... + * src/cff/cffparse.c: New file. + * src/cff/t2parse.h: Renamed and updated to... + * src/cff/cffparse.h: New file. + * src/cff/t2tokens.h: Renamed and updated to... + * src/cff/cfftoken.h: New file. + + * src/cff/cff.c, src/cff/rules.mk: Updated. + +2000-12-06 David Turner + + * src/cache/ftlru.c (FT_Lru_Done): Fixed memory leak. + +2000-12-06 Werner Lemberg + + * builds/module.mk: Replaced `xxx #' with `xxx$(space). + * builds/os2/detekt.mk, builds/win32/detekt.mk: Moved comment to + avoid trailing spaces in variable. + * builds/freetype.mk: Use $(D) instead of $D to make statement more + readable. + + * docs/docmaker.py: Formatting. + +2000-12-05 David Turner + + * src/psaux/psauxmod.c: Fixed a broken inclusion of component + header files (an FT_FLAT_COMPILE test was missing). + + * src/cache/ftcmanag.c (FTC_Manager_Done): Fixed a bug that caused + an occasional crash when the function was called (due to a dangling + pointer). + + * src/base/ftsystem.c (FT_Done_Memory): Fixed an obvious bug: + The ANSI `free()' function was called instead of `memory->free()'. + + * docs/docmaker.py: Added section filtering, multi-page generation + (index page generation is still missing though). + +2000-12-04 David Turner + + * builds/unix/install.mk, builds/unix/ft2unix.h: The file `ft2unix.h' + is now installed as for Unix systems. Note that we + still use the `freetype2/freetype' installation path for now. + + * */*.[ch]: Now using as the default build and setup + configuration file in all public headers. Internal source files + still need some changes though. + + * builds/devel/ft2build.h, builds/devel/ftoption.h: Created a new + directory to hold all development options for both the Unix and + Win32 developer builds. + + * builds/win32/detect.mk, builds/win32/w32-bccd.mk, + builds/win32/w32-dev.mk: Changed the developer build targets to + `devel-gcc' and `devel-bcc' in order to be able to develop with the + Borland C++ compiler. + +2000-12-01 David Turner + + + * Version 2.0.1 released. + ========================= + + + * builds/unix/configure.in, builds/unix/configure, + builds/cygwin/configure.in, builds/cygwin/configure: Setting + `version_info' to 6:1:0 for the 2.0.1 release. + + * CHANGES: Added a summary of changes between 2.0.1 and 2.0. + + * builds/unix/ftconfig.in, builds/cygwin/ftconfig.in: Changes + to allow compilation under Unix with the Unix-specific config + files. + +2000-12-01 Werner Lemberg + + * INSTALL: Revised. + * builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk, + builds/compiler/bcc.mk, builds/win32/w32-bcc.mk, + builds/win32/w32-bccd.mk: Revised. + * include/freetype/config/ftbuild.h, + include/freetype/internal/internal.h: Revised. + * include/freetype/ftimage.h: Updated to new header inclusion scheme. + +2000-11-30 Werner Lemberg + + * builds/toplevel.mk (.PHONY): Adding `distclean'. + * builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc', + `setup'. + +2000-11-30 David Turner + + * INSTALL: Slightly updated the quick starter documentation to + include IDE compilation, prevent against BSD Make, and specify `make + setup' instead of a single `make' for build configuration. + + * include/config/ftbuild.h, include/internal/internal.h: Added new + configuration files used to determine the location of all public, + configuration, and internal header files for FreeType 2. Modified + all headers under `include/freetype' to reflect this change. Note + that we still need to change the library source files themselves + though. + + * builds/compiler/bcc.mk, builds/compiler/bcc-dev.mk, + builds/win32/w32-bcc.mk, builds/win32/w32-bccd.mk, + builds/win32/detect.mk: Added new files to support compilation with + the free Borland C++ command-line compiler. Modified the detection + rules to recognize the new `bcc32' target in `make setup bcc32'. + + * src/sfnt/ttcmap.c, src/sfnt/ttpost.c, src/sfnt/ttsbit.c, + src/truetype/ttobjs.c, src/truetype/ttgload.c, + src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++ + didn't really like. Basically, this compiler complains when FT_UInt + is compared to FT_UShort (apparently, it promotes `UShort' to `Int' + in these cases). + +2000-11-30 Tom Kacvinsky + + * t2objs.c (T2_Init_Face): Added calculation of `face->height' for + pure CFF fonts. + + * t1objs.c (T1_Init_Face): Fixed computation of `face->height'. + +2000-11-29 David Turner + + * src/base/ftbbox.c (BBox_Conic_Check): Fixed a really stupid + bug in the formula used to compute the conic Bézier extrema + of non-monotonous arcs. + +2000-11-29 Werner Lemberg + + * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c + (FT_Set_Renderer): Use FT_EXPORT_DEF. + * src/cache/ftcimage.c (FTC_Image_Cache_Lookup), + src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset, + FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size, + FTC_Manager_Register_Cache), src/cache/ftcsbits.c + (FTC_SBit_Cache_Lookup): Ditto. + + * src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init), + src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT. + +2000-11-29 Werner Lemberg + + * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only + conditionally. + + * src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set + `size->strike_index' only conditionally. + + * src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only + conditionally. + + * src/winfonts/winfnt.h: Move all type definitions to... + * src/include/freetype/internal/fnttypes.h: New file. + * src/winfonts/winfnt.c: Use it. + +2000-11-29 ??? ??? + + * include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT + with a direct solution (which also satisfies picky compilers). + +2000-11-28 YAMANO-UCHI Hidetoshi + + * src/truetype/ttobjs.c (TT_Init_Size): Fix #ifdef's to work with + disabled interpreter also. + + * src/base/ftnames.c (FT_Get_Sfnt_Name_Count): Fix incorrect + parentheses. + +2000-11-26 Tom Kacvinsky + + * src/cff/t2gload.c (T2_Parse_CharStrings): Added logic to glyph + width setting code to take into account even/odd argument counts + and glyph width operand before endchar/hmoveto/vmoveto. + +2000-11-26 Werner Lemberg + + * builds/ansi/ansi.mk: Fix inclusion order of files. + +2000-11-26 Keith Packard + + * src/type1/t1objs.c (T1_Init_Face): Compute style flags. + +2000-11-26 Werner Lemberg + + * builds/compiler/ansi-cc.mk (CLEAN_LIBRARY): Fix rule and + conditional. + +2000-11-23 Werner Lemberg + + * src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt + function from PSAux module. + + * src/type1/t1parse.c (T1_Done_Parse): Renamed to... + (T1_Finalize_Parser): New function (to avoid name clash with a + function in the PSAux module). + (T1_Decrypt): Removed since it is duplicated in the PSAux module. + (T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt + function from PSAux module. + + * src/type1/t1parse.h: Adapted. + +2000-11-22 Tom Kacvinsky + + * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set + `root->num_faces' to `cff->num_faces' and set `units_per_EM' + to 1000. + + * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing + loop. + + * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a + sid that was off by one. + +2000-11-16 David Turner + + * src/autohint/ahtypes.h (AH_Hinter): Added new fields to control + auto-hinting of synthetic Type 1 fonts. + + * src/autohint/ahhint.c (ah_hinter_load, ah_hinter_load_glyph): + Added auto-hinting support of synthetic Type 1 fonts. + +2000-11-12 Tom Kacvinsky + + * src/sfnt/ttload.c (TT_LookUp_Table, TT_Load_Generic_Table): Change + tracing output. + + * src/sfnt/sfobjs.c (SFNT_Load_Face): Set boolean variable + `has-outline' to true only if the font has a `glyf' or `CFF ' table. + +2000-11-11 Werner Lemberg + + * builds/win32/visualc/freetype.dsp: Fix raster1->raster and + type1z->type1. + +2000-11-11 Tom Kacvinsky + + * builds/unix/freetype-config.in, builds/cygwin/freetype-config.in: + Added a --libtool option. When freetype-config --libtool is + invoked, the absolute path to the libtool convenience library + is returned. + +2000-11-11 Werner Lemberg + + * builds/cygwin/cygwin-def.in: Same fix as previous. + +2000-11-10 Tom Kacvinsky + + * builds/unix/unix-def.in: Add + + INSTALL_PROGRAM := @INSTALL_PROGRAM@ + INSTALL_SCRIPT := @INSTALL_SCRIPT@ + + so that installation of freetype-config does not fail. + +2000-11-10 Werner Lemberg + + * builds/cygwin/freetype-config.in, builds/unix/freetype-config.in: + Move test down for empty --exec-prefix. + Fix --version. + + * builds/cygwin/install.mk, builds/unix/install.mk: Use + $(INSTALL_SCRIPT) for installation of freetype-config. + + * builds/cygwin/install.mk: Fix clean target names. + +2000-11-09 David Turner + + + * Version 2.0 released. + ======================= + +---------------------------------------------------------------------------- + +Copyright 2000-2015 by +David Turner, Robert Wilhelm, and Werner Lemberg. + +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. + + +Local Variables: +version-control: never +coding: utf-8 +End: diff --git a/libs/freetype-2.5.0.1/ChangeLog.21 b/libs/freetype-2.6.2/ChangeLog.21 similarity index 97% rename from libs/freetype-2.5.0.1/ChangeLog.21 rename to libs/freetype-2.6.2/ChangeLog.21 index ef25bfce..5ee9909f 100644 --- a/libs/freetype-2.5.0.1/ChangeLog.21 +++ b/libs/freetype-2.6.2/ChangeLog.21 @@ -1,9439 +1,9439 @@ -2005-06-08 Werner Lemberg - - - * Version 2.1.10 released. - ========================== - - - * src/pcf/readme: Renamed to... - * src/pcf/README: This. - -2005-06-07 Detlef Würkner - - * builds/amiga/*: Added copyright notes, reworked some comments. - -2005-06-05 Werner Lemberg - - * Add copyright notices to all files which don't have one. - - * docs/license.txt: Renamed to... - * docs/LICENSE.TXT: This. - * docs/FTL.txt: Renamed to... - * docs/FTL.TXT: This. - * docs/GPL.txt: Renamed to... - * docs/GPL.TXT: This. - - * docs/PATENTS: Slightly reworded. Suggested by Sylvain Beucler - . - -2005-06-04 Werner Lemberg - - * include/freetype/ftimage.h (FT_Outline_MoveToFunc, - FT_Outline_LineToFunc, FT_Outline_ConicToFunc, - FT_Outline_CubicToFunc, FT_Raster_RenderFunc), - include/freetype/ftrender.h (FT_Glyph_TransformFunc, - FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Don't use - `const' to stay compatible with FreeType 2.1.9. - -2005-06-01 Adam D. Moss - - * src/base/ftstroke.c (ft_stroker_inside): Revert `sigma' patch from - 2004-07-11; this gives much better results under normal - circumstances. - -2005-05-30 Chia I Wu - - * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Minor - documentation improvements. - - * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix typos. - - * src/base/ftbitmap.c (FT_Bitmap_Embolden): Add support for bitmap - of pixel_mode FT_PIXEL_MODE_GRAY2 or FT_PIXEL_MODE_GRAY4. - If xstr is larger than 8 and bitmap is of pixel_mode - FT_PIXEL_MODE_MONO, set xstr to 8 instead of returning error. - -2005-05-29 Chia I Wu - - * src/base/ftbitmap.c (FT_Bitmap_Embolden): Fix emboldening bitmap - of mode FT_PIXEL_MODE_GRAY. Also add support for mode - FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V. - (ft_bitmap_assure_buffer): FT_PIXEL_MODE_LCD and FT_PIXEL_MODE_LCD_V - should have ppb (pixel per byte) 1. - Zero the padding when there's no need to allocate memory. - - * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle slot->advance - too. - More suited emboldening strength. - -2005-05-28 Chia I Wu - - * src/base/ftbitmap.c (FT_Bitmap_Embolden): Handle negative pitch. - Handle FT_PIXEL_MODE_GRAY with num_gray != 256. - Improve speed for FT_PIXEL_MODE_GRAY. - (ft_bitmap_assure_buffer): Accept FT_PIXEL_MODE_LCD and - FT_PIXEL_MODE_LCD_V. - -2005-05-27 Chia I Wu - - * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Initialize `error'. - - * src/base/ftobjs.c (ft_cmap_done_internal): New function. - (FT_CMap_Done): Remove cmap from cmap list. - (destroy_charmaps, FT_CMap_New): Don't call FT_CMap_Done but - ft_cmap_done_internal. - -2005-05-26 Werner Lemberg - - * docs/GPL.txt: Update postal address of FSF. - -2005-05-26 Chia I Wu - - * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Improve - documentation. - - * src/base/ftsynth.c (FT_BOLD_THRESHOLD): Removed. - (FT_GlyphSlot_Embolden): Check whether slot is bitmap owner. - Always modify the metrics. - -2005-05-24 Werner Lemberg - - * docs/CHANGES: Updated. - -2005-05-24 Chia I Wu - - * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): New declaration. - - * include/freetype/ftoutln.h (FT_Outline_Embolden): New declaration. - - * src/base/ftbitmap.c (ft_bitmap_assure_buffer): New auxiliary - function. - (FT_Bitmap_Embolden): New function. - - * src/base/ftoutln.c (FT_Outline_Embolden): New function. - - * src/base/ftsynth.c: Don't include FT_INTERNAL_CALC_H and - FT_TRIGONOMETRY_H but FT_BITMAP_H. - (FT_GlyphSlot_Embolden): Use FT_Outline_Embolden or - FT_Bitmap_Embolden. - -2005-05-24 Werner Lemberg - - * configure: Always remove config.mk, builds/unix/unix-def.mk, and - builds/unix/unix-cc.mk. This fixes repeated calls of the script. - Reported by Nelson Beebe and Behdad Esfahbod. - - * README.CVS: Mention file permissions. - -2005-05-23 Werner Lemberg - - * builds/amiga/makefile.os4 (WARNINGS), builds/compiler/gcc-dev.mk - (CFLAGS), builds/compiler/gcc.mk (CFLAGS): Remove - -fno-strict-aliasing. - - * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c -- - it is currently loaded from ttsbit.c. - -2005-05-23 Behdad Esfahbod - - Say you have `(Foo*)x' and want to assign, pass, or return it as - `(Bar*)'. If you simply say `x' or `(Bar*)x', then the C compiler - would warn you that type casting incompatible pointer types breaks - strict-aliasing. The solution is to cast to `(void*)' instead which - is the generic pointer type, so the compiler knows that it should - make no strict-aliasing assumption on `x'. But the problem with - `(void*)x' is that seems like in C++, unlike C, `void*' is not a - generic pointer type and assigning `void*' to `Bar*' without a cast - causes an error. The solution is to cast to `Bar*' too, with - `(Bar*)(void*)x' as the result -- this is what the patch does. - - * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), - include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Remove - cast on lvalue, use a temporary pointer instead. - Cast temporarily to (void*) to not break strict aliasing. - - * include/freetype/internal/ftmemory.h (FT_MEM_ALLOC, - FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC, FT_MEM_FREE), - src/base/ftglyph.c (FT_Glyph_To_Bitmap): Cast temporarily to (void*) - to not break strict aliasing. - - * src/base/ftinit.c (FT_USE_MODULE): Fix wrong type information. - - * builds/unix/configure.ac (XX_CFLAGS): Remove -fno-strict-aliasing. - -2005-05-23 David Turner - - Fix Savannah bug #12213 (incorrect behaviour of the cache sub-system - in low-memory conditions). - - * include/freetype/cache/ftccache.h (FTC_CACHE_TRYLOOP, - FTC_CACHE_TRYLOOP_END): New macros. - - * src/cache/ftccache.c (FTC_Cache_NewNode), src/cache/ftcsbits.c - (ftc_snode_compare): Use FT_CACHE_TRYLOOP and FTC_CACE_TRYLOOP_END. - -2005-05-23 Werner Lemberg - - * src/base/rules.mk (BASE_SRC): Don't add ftsynth.c here but... - (BASE_EXT_SRC): Here. - -2005-05-22 Werner Lemberg - - * src/base/ftrfork.c (raccess_guess_apple_generic): Mark - `version_number' and `entry_length' as unused. - (raccess_guess_linux_double_from_file_name): Remove `memory'. - (raccess_make_file_name): Mark `error' as unused. - - * src/bdf/bdflib.c (_bdf_parse_properties): Remove `memory'. - - * src/cid/cidobjs.c (cid_face_init): Remove `psnames'. - - * src/sfnt/sfobjs.c (sfnt_load_face): Remove `memory'. - - * src/truetype/ttgxvar.c (ft_var_readpackedpoints, - ft_var_readpackeddeltas, ft_var_load_avar): Mark `error' as unused. - - * src/base/rules.mk (BASE_SRC): Add ftsynth.c. - -2005-05-21 David Turner - - * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Fix a bug that - produced unpleasant artefacts when trying to embolden very sharp - corners. - -2005-05-20 Werner Lemberg - - * docs/CHANGES: Updated. - -2005-05-20 Chia I Wu - - * src/base/ftbitmap.c: Don't include FT_FREETYPE_H and FT_IMAGE_H - but FT_BITMAP_H. - (FT_Bitmap_Copy): New function (from ftglyph.c). - - * include/freetype/ftbitmap.h (FT_Bitmap_Copy): New public - definition. - - * src/base/ftglyph.c: Include FT_BITMAP_H. - (ft_bitmap_copy): Move to ftbitmap.c. - (ft_bitmap_glyph_init): Remove `memory' variable. - Create new bitmap object if FT_GLYPH_OWN_BITMAP isn't set. - (ft_bitmap_glyph_copy): Use FT_Bitmap_Copy. - (ft_bitmap_glyph_done): Use FT_Bitmap_Done. - (ft_outline_glyph_init): Use FT_Outline_Copy. - - * src/base/ftoutln.c (FT_Outline_Copy): Handle source == target. - (FT_Outline_Done_Internal): Check for valid `memory' pointer. - (FT_Outline_Translate, FT_Outline_Reverse, FT_Outline_Render, - FT_Outline_Transform): Check for valid `outline' pointer. - - * src/base/ftobjs.c (FT_New_GlyphSlot): Prepend glyph slot to - face->glyph, otherwise a new second glyph slot cannot be created. - (FT_Done_GlyphSlot): Fix memory leak. - (FT_Open_Face): Updated -- face->glyph is already managed by - FT_New_GlyphSlot. - - * src/type42/t42objs.c (T42_GlyphSlot_Done): Updated. - -2005-05-20 Kirill Smelkov - - * include/freetype/ftimage.h (FT_Raster_Params), - include/freetype/ftoutln.h (FT_Outline_Translate, - FT_Outline_Transform), src/base/ftoutln.c (FT_Outline_Translate, - FT_Outline_Transform): Decorate parameters with `const' where - appropriate. - Update all callers. - - * src/raster/ftraster.c (ft_black_reset), src/smooth/ftgrays.c - (gray_raster_reset): Remove `const' from `pool_base' argument. - -2005-05-18 Kirill Smelkov - - * src/raster/ftmisc.h: New file. Only needed if ftraster.c is - compiled as stand-alone. - - * src/raster/ftraster.c: Add comment how to compile as stand-alone. - s/FT_CONFIG_OPTION_STATIC_RASTER/FT_STATIC_RASTER/. - s/TT_STATIC_RASTER/FT_STATIC_RASTER/. - [_STANDALONE_]: Include ftimage.h and ftmisc.h. - (FT_TRACE1, FT_TRACE6, ft_memset, FT_MEM_ZERO): Define - conditionally. - (Render_Glyph, Render_Gray_Glyph): Return Raster_Err_None (or - Raster_Err_Unsupported). - (ft_black_new) [_STANDALONE_]: Fix type of `the_raster'. - (ft_black_init, ft_black_reset, ft_black_set_mode, ft_black_render): - Use `ras', not `raster'. - (ft_black_done): Use FT_UNUSED_RASTER. - (Horizontal_Sweep_Init, Horizontal_Sweep_Step, - Horizontal_Gray_Sweep_Span): Use FT_UNUSED_RASTER. - -2005-05-18 Werner Lemberg - - * docs/announce: Start updating. - - * docs/CHANGES: Updated. - -2005-05-16 Vitaliy Pasternak - - * builds/win32/visualc/freetype.vcproj: Updated. - Exclude debug info for `Release' versions to reduce library size. - -2005-05-16 Werner Lemberg - - * src/base/ftobjs.c (FT_Open_Face): Make it work as documented, this - is, ignore `aface' completely if face_index < 0. Reported by David - Osborn . - -2005-05-16 Kirill Smelkov - - * include/freetype/ftimage.h (FT_Outline_MoveToFunc, - FT_Outline_LineTo_Func, FT_Outline_ConicToFunc, - FT_Outline_CubicToFunc), src/smooth/ftgrays.c (gray_render_conic, - gray_render_cubic, gray_move_to, gray_line_to, gray_conic_to, - gray_cubic_to, gray_render_span, gray_sweep): Decorate parameters - with `const' where appropriate. - -2005-05-11 Kirill Smelkov - - * include/freetype/ftimage.h (FT_Raster_RenderFunc), - include/freetype/ftrender.h (FT_Glyph_TransformFunc, - FT_Renderer_Render_Func, FT_Renderer_TransformFunc), - src/base/ftglyph.c (ft_outline_glyph_transform), - src/raster/ftrend1.c (ft_raster1_transform, ft_raster1_render), - src/smooth/ftgrays.c (FT_Outline_Decompose, gray_raster_render), - src/smooth/ftsmooth.c (ft_smooth_transform, - ft_smooth_render_generic, ft_smooth_render, ft_smooth_render_lcd, - ft_smooth_render_lcd_v): Decorate parameters with `const' where - appropriate. - - * src/raster/ftraster.c (RASTER_RENDER_POOL): Removed. Obsolete. - (ft_black_render): Decorate parameters with `const' where - appropriate. - -2005-05-11 Werner Lemberg - - * src/sfnt/ttcmap.c (tt_cmap4_set_range): Fix typo (FT_PEEK_SHORT -> - FT_PEEK_USHORT) which caused crashes. Reported by Ismail Donmez - . - -2005-05-08 Werner Lemberg - - * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE) - [__cplusplus]: Fix typo. - -2005-05-07 Werner Lemberg - - Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck - Blaskey ). - - * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'. - * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate. - - (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate, - tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use - `FT_Error' as return type. - (tt_cmap4_validate): Use `FT_Error' as return type. - Return error code for unsorted cmap. - (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted - cmaps. - (tt_face_build_cmaps): Set `unsorted' variable in cmap. - -2005-05-07 Werner Lemberg - - * src/truetype/ttpload.c (tt_face_get_location): Fix typo. - -2005-05-06 Werner Lemberg - - * src/cff/cffobjs.c (cff_face_init): Set ppem value in top - dictionary for SFNT-based CFF. - -2005-05-05 Werner Lemberg - - Handle malformed `loca' table entries. - - * docs/TODO: Add some bugs which should be fixed. - - * include/freetype/internal/tttypes.h (TT_FaceRec): Add `glyf_len' - element. - - * src/truetype/ttpload.c (tt_face_load_loca): Get length of `glyf' - table. - (tt_face_get_location): Fix computation of `asize' for malformed - `loca' entries. - -2005-05-01 David Turner - - * Jamfile: Remove `otvalid' from the list of compiled modules. - - * include/freetype/internal/ftserv.h: Add compiler pragmas to get - rid of annoying warnings with Visual C++ compiler in maximum warning - mode. - - * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c, - src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c, - src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c, - src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c, - src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: Remove compiler warnings. - -2005-04-28 Werner Lemberg - - * docs/TODO: Updated. - -2005-04-24 Werner Lemberg - - * src/otvalid/otvcommn.c - (otv_GSUBGPOS_have_MarkAttachmentType_flag): Handle table == 0. - -2005-04-16 Werner Lemberg - - * src/cff/cffobjs.c (cff_face_init): Set default upem value in top - font dict also. - Handle font matrix settings in subfonts. - - * src/cff/cffgload.c (cff_slot_load): Use the correct font matrix - for CID-keyed fonts with subfonts. - - * docs/formats.txt: Updated. - -2005-04-14 Kirill Smelkov - - * include/freetype/freetype.h (FT_Vector_Transform), - include/freetype/ftimage.h (FT_Raster_Params), - include/freetype/ftoutln.h, src/base/ftoutln.c (FT_Outline_Get_CBox, - FT_Outline_Copy, FT_Outline_Transform, FT_Vector_Transform, - FT_Outline_Get_Bitmap), src/raster/ftraster.c (ft_black_render), - src/smooth/ftgrays.c (gray_raster_render): Decorate parameters with - `const' where appropriate. - -2005-04-14 Werner Lemberg - - * src/type1/t1load.c (parse_charstrings): Catch this non-standard - beginning of the /CharStrings dictionary: - - /CharStrings 118 dict def - Private begin - CharStrings begin - - * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix arguments - to call of tt_sbit_decoder_load_bitmap. - -2005-04-13 Werner Lemberg - - * docs/TODO: Updated. - - * autogen.sh: Use `--force' for all commands. - -2005-04-09 Werner Lemberg - - * src/pshinter/pshalgo.c (ps_hints_apply): Change scaling values - only if `fitted' is not zero. - -2005-04-06 Werner Lemberg - - * src/truetype/ttgload.c (tt_face_get_metrics) [FT_OPTIMIZE_MEMORY]: - Fix typo which sometimes causes wrong metrics for the last glyph. - -2005-04-04 David Turner - - * devel/ftoption.h, include/freetype/config/ftoption.h - (FT_OPTIMIZE_MEMORY): Comment out this macro for the upcoming 2.1.10 - release. - (*_CHESTER_*): Removed. No longer used. - - * src/autofit/afhints.c (af_axis_hints_new_segment, - af_axis_hints_new_edge): Small tweak to use less heap memory. - -2005-04-03 Werner Lemberg - - * src/type1/t1parse.c (T1_New_Parser): Relax the check for a valid - first line in the font. - -2005-04-03 Werner Lemberg - - * docs/CHANGES, include/freetype/freetype.h: Improve documentation - of FT_Set_Pixel_Sizes and FT_Set_Char_Size. - -2005-03-26 Detlef Würkner - - * builds/amiga/src/base/ftsystem.c (ft_amiga_stream_io): Fix buffer - offsets after a large read. - -2005-03-26 Werner Lemberg - - * src/autofit/afglobal.c (af_face_globals_get_metrics): - s/index/gidx/. - - * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Fix compiler - warnings. - - * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c. - - * src/sfnt/ttsbit0.h: Dummy file for build with `make'. - -2005-03-26 Detlef Würkner - - Update of the Amiga port. - - * builds/amiga/makefile, builds/amiga/makefile.os4, - builds/amiga/smakefile: Included the base extension files - (ftbitmap.c, ftotval.c, ftpfr.c, ftstroke.c, ftxf86.c). - -2005-03-25 Detlef Würkner - - Update of the Amiga port. - - * builds/amiga/makefile, builds/amiga/smakefile: Handle new modules. - - * builds/amiga/makefile.os4: Makefile for AmigaOS4 SDK. - - * builds/amiga/README: Updated. - - * builds/amiga/include/freetype/config/ftconfig.h: Handle gcc for - AmigaOS4. - - * builds/amiga/include/freetype/config/ftmodule.h: Handle new - modules. - - * builds/amiga/src/base/ftdebug.c: Updated to current version of - default ftdebug.c. - Add various include files and macros to have proper support for - both AmigaOS4 and older AmigaOS versions. - Don't declare KVPrintF explicitly. - Replace getenv with GetVar. - Actually enable debugging code. - - * builds/amiga/src/base/ftsystem.c: Major rewrite. - -2005-03-23 Werner Lemberg - - * tests/*: Removed. - -2005-03-23 Werner Lemberg - - * docs/CHANGES, docs/INSTALL.ANY: Updated. - - * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'. - Add `OTvalid'. - - * src/autofit/aferrors.h: New file. - - * src/autofit/afglobal.c, src/autofit/afhints.c, - src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/. - Include aferrors.h. - - * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h. - - * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/. - -2005-03-22 David Turner - - * src/autohint/*: Removed. - * Jamfile: Updated. - -2005-03-15 David Turner - - * src/bdf/bdflib.c: Remove compiler warnings. - (hash_rehash, hash_init): Don't call FT_MEM_ZERO. - (_bdf_list_t): Add `memory' field. - (_bdf_list_init, _bdf_list_done, _bdf_list_ensure): New functions. - (_bdf_shift, _bdf_join): Rename to... - (_bdf_list_shift, _bdf_list_join): This. - (_bdf_split): Renamed to... - (_bdf_list_split): This. Use new functions. - (bdf_internal_readstream): Removed. - (NO_SKIP): New macro. - (_bdf_readstream): Rewritten. - (bdf_create_property, _bdf_add_comment): Improve allocation. - (_bdf_set_default_spacing, _bdf_parse_glyphs): Updated. Improve - allocation. - (_bdf_parse_properties, _bdf_parse_start): Updated. - (bdf_load_font): Updated to use new functions. - - * src/type1/t1parse.c (check_type1_format): New function. - (T1_New_Parser): Use it to check font header before allocating - anything on the heap. - - * src/type42/t42parse.c (t42_parser_init): Modify functions to check - the font header before allocating anything on the heap. - - * include/freetype/internal/ftmemory.h (FT_ARRAY_MAX, - FT_ARRAY_CHECK): New macros. - - * src/base/ftstream.c (FT_Stream_TryRead): New function. - * include/freetype/internal/ftstream.h: Updated. - - * src/pcf/pcfread.c (pcf_read_TOC), src/pcf/pcfutil.c - (BitOrderInvert, TwoByteSwap, FourByteSwap): Minor fixes and - simplifications. Try to protect the PCF driver from doing stupid - things with broken fonts. - - * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Check the LZW header before - doing anything else. This avoids unnecessary heap allocations - (400KByte of heap memory for the LZW decoder). - - * src/gzip/ftgzip.c (FT_Stream_OpenGZip): Ditto for the gzip - decoder, although the code savings are smaller. - - * docs/CHANGES: Updated. - -2005-03-10 David Turner - - * src/tools/glnames.py: Add comment to explain the compression - being used for the Adobe Glyph List. - -2005-03-10 Werner Lemberg - - * src/truetype/ttpload.c (tt_face_load_cvt, tt_face_load_fpgm): - Fix serious typo which prevented correct TT rendering. - - * include/freetype/internal/ftmemory.h: Undo change from 2005-03-03. - To suppress warnings it is sufficient to use `-fno-strict-aliasing'. - -2005-03-10 Werner Lemberg - - * src/tools/glnames.py: Formatted. - Format output to be in sync with other FreeType code. - Import `re' and `os.path'. - (StringTable) <__init__>: Add parameter to initialize master table - name. - (StringTable) : Don't pass master table name. - (StringTable) : Emit explanatory comment. - Simplify and make output more human readable. - (t1_bias, glyph_list, adobe_glyph_names): Removed. Unused. - (main): Use `basename' for file name in header. - - * src/psnames/pstables.h: Regenerated. - -2005-03-09 David Turner - - * src/tools/glnames.py: Rewrite the generator for the `pstables.h' - header file which contains various constant tables related to glyph - names. It now uses a different, more compact storage scheme that - saves about 20KB. This also closes Savannah bug #12262. - - * src/psnames/pstables.h: Regenerated. - - * src/psnames/psmodule.c (ps_unicode_value): Use - `ft_get_adobe_glyph_index', a new function defined in `pstables.h'. - (ps_get_macintosh_name, ps_get_standard_strings): Updated. - - * src/base/ftobjs.c (FT_Set_Char_Sizes): Handle fractional sizes - more carefully. This fixes Savannah bug #12263. - -2005-03-06 David Turner - - * src/otvalid/otvgsub.c, src/otvalid/otvgpos.c: Make static tables - constant. - - * src/autofit/aflatin.c (af_latin_metrics_init): Fix Savannah bug - #12212 (auto-hinter refuses to work if no Unicode charmap in font). - -2005-03-05 Werner Lemberg - - * autogen.sh: New script for bootstrapping. - - * README.CVS: New file which documents bootstrapping. - - * builds/unix/aclocal.m4, builds/unix/config.guess, - builds/unix/config.sub, builds/unix/configure, - builds/unix/ltmain.sh: Removed. - -2005-03-04 Werner Lemberg - - * src/base/ftutil.c: Include FT_INTERNAL_OBJECTS_H. - -2005-03-03 Werner Lemberg - - Various fixes for C and C++ compiling. - - * src/autofit/*: Add copyright messages. - - * src/autofit/afhints.c (af_glyph_hints_done): Don't use - `AF_Dimension' but `int' for loop counter. - - * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use - `AF_Dimension' but `int' for loop counter. - Use proper enumeration value for `render_mode'. - (af_latin_metrics_scale_dim): Don't shadow variables. - (af_latin_hints_compute_segments): Use proper cast for `major_dir' - and `segment_dir'. - (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to - `af_latin_compute_stem_width'. - (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop - counter. - - * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use - proper cast for memory allocation. - - * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for - initialization of `sfnt'. - - * src/sfnt/sfdriver.c: Include `ttkern.h'. - - * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables. - - * src/truetype/ttgload.c: Include `ttpload.h'. - -2005-03-03 David Turner - - * include/freetype/internal/ftmemory.h (FT_ALLOC, FT_REALLOC, - FT_QALLOC, FT_QREALLOC) [gcc >= 3.3]: Provide macro versions which - avoid compiler warnings. - (FT_NEW, FT_NEW_ARRAY, FT_RENEW_ARRAY, FT_QNEW, FT_QNEW_ARRAY, - FT_QRENEW_ARRAY, FT_ALLOC_ARRAY, FT_REALLOC_ARRAY): Updated. - - * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE, - FT_FACE_FIND_GLOBAL_SERVICE, FT_FACE_LOOKUP_SERVICE) [__cplusplus]: - Provide macro versions which avoid compiler warnings. - - * src/base/ftutil.c (ft_highpow2): New utility function. - - * include/freetype/internal/ftobjs.h: Updated. - - * src/pfr/pfrload.c (pfr_get_gindex, pfr_compare_kern_pairs, - pfr_sort_kerning_pairs): Don't define if FT_OPTIMIZE_MEMORY is set. - (pfr_phy_font_done): Don't handle `kern_pairs' if FT_OPTIMIZE_MEMORY - is set. - (pfr_phy_font_load): Don't call `pfr_sort_kerning_pairs' if - FT_OPTIMIZE_MEMORY is set. - - * src/pfr/pfrobjs.c (pfr_slot_load): Comment out some code which - doesn't work with broken fonts. - (pfr_face_get_kerning) [FT_OPTIMIZE_MEMORY]: Implement. - - * src/pfr/pfrtypes.h (PFR_KernItemRec): Optimize member types. - (PFR_NEXT_KPAIR): New macro. - (PFR_PhyFontRec): Don't define `kern_pairs' if FT_OPTIMIZE_MEMORY is - set. - - * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Introduce - temporary variable to avoid gcc warning. - (tt_face_load_sbit_image): Mark unused variables with FT_UNUSED. - - * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: - Remove redundant variable. - - * include/freetype/config/ftmodule.h: Moving the order of drivers to - speed up font loading. The PCF and BDF loaders are still slow and - consume far too much memory. - -2005-03-03 Werner Lemberg - - * devel/ftoption.h: Updated to recent changes. - -2005-03-02 Werner Lemberg - - * src/autofit/afdummy.c, src/autofit/afdummy.h - (af_dummy_script_class): Fix type. - - * src/autofit/aflatin.c, src/autofit/aflatin.h - (af_latin_script_class): Fix type. - - * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo. - -2005-03-01 David Turner - - * src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning), - src/sfnt/ttsbit0.c (tt_face_load_sbit_strikes, - tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_compound, - tt_sbit_decoder_load_image), src/sfnt/ttload.c - (tt_face_load_metrics): Remove compiler warnings - -- redundant variables, missing initializations, etc. - - * src/sfnt/ttsbit.h: Handle FT_OPTIMIZE_MEMORY. - - * src/autofit/rules.mk, src/autofit/module.mk, - src/autofit/afangles.h: New files. - - * src/autofit/afhints.c (af_axis_hints_new_segment, - af_axis_hints_new_edge): New functions. - (af_glyph_hints_done): Do proper deallocation. - (af_glyph_hints_reload): Only reallocate points array. This - drastically reduces heap usage. - - * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec): Optimize - member types and positions. - (AF_AxisHintsRec): Add `max_segments' and `max_edges'. - (af_axis_hints_new_segment, af_axis_hints_new_edge): New prototypes. - - * src/autofit/aflatin.c (af_latin_metricsc_scale): Don't call - AF_SCALER_EQUAL_SCALES. - (af_latin_hints_compute_segments): Change return type to FT_Error. - Update all callers. - Improve segment allocation. - (af_latin_hints_compute_edges): Change return type to FT_Error. - Update all callers. - Improve edge allocation and link handling. - (af_latin_hints_detect_features): Change return type to FT_Error. - Update all callers. - - * src/autofit/aflatin.h: Updated. - - * src/autofit/afloader.c (af_loader_load_g) - : Assure axis->num_edges > 1. This fixes - a bug with certain fonts. - - * include/freetype/config/ftmodule.h: The auto-fitter is now the - only supported auto-hinting module. - - * include/freetype/config/ftstdlib.h (FT_INT_MAX): New macro. - -2005-02-28 Werner Lemberg - - * src/truetype/ttpload.c (tt_face_load_loca): Fix typo. - - * src/sfnt/ttkern.c: Include `ttkern.h'. - (FT_COMPONENT): Updated. - - * include/freetype/internal/fttrace.h: Add entry for `ttkern'. - - * src/sfnt/ttsbit0.c: s/FT_Err_/SFNT_Err_/. - Decorate constants with `U' and `L' where necessary. - - * src/sfnt/ttcmap.c (tt_cmap4_next): Remove unused variable. - -2005-02-28 David Turner - - * src/base/ftdbgmem.c (FT_DumpMemory): Added sorting of memory - sources according to decreasing maximum cumulative allocations. - (ft_mem_source_compare): New auxiliary function. - - * src/sfnt/ttsbit0.c: New file, implementing a heap-optimized - embedded bitmap loader. - - * src/sfnt/ttsbit.c: Include `ft2build.h', FT_INTERNAL_DEBUG_H, - FT_INTERNAL_STREAM_H, FT_TRUETYPE_TAGS_H. - Load `ttsbit0.c' if FT_OPTIMIZE_MEMORY is set, otherwise use - file contents. - (tt_face_load_sbit_strikes): Set up root fields to indicate the - strikes. This fixes Savannah bug #12107. - Use `static' keyword for `sbit_line_metrics_field', - `strike_start_fields', `strike_end_fields'. - - * include/freetype/internal/tttypes.h (TT_FaceRec): Define - `sbit_table', `sbit_table_size', `sbit_num_strikes' if - FT_OPTIMIZE_MEMORY is set. - Don't define `num_sbit_strikes' and `sbit_strikes' if - FT_OPTIMIZE_MEMORY is set. - - * src/cff/cffobjs.c (sbit_size_reset): Handle FT_OPTIMIZE_MEMORY. - - * src/sfnt/sfobjs.c (sfnt_load_face): Fixed bug that prevented - loading SFNT fonts without a `kern' table. - Properly pass root->face_flags. - Remove code for TT_CONFIG_OPTION_EMBEDDED_BITMAPS. - - * src/sfnt/sfdriver.c (sfnt_interface) - [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Don't use `tt_find_sbit_image' - and `tt_load_sbit_metrics'. - - * src/sfnt/ttcmap.c: Optimize linear charmap scanning for Format 4. - (OPT_CMAP4): New macro. - (TT_CMap4Rec) [OPT_CMAP4]: New structure. - (tt_cmap4_init, tt_cmap4_set_range, tt_cmap4_next, tt_cmap4_reset) - [OPT_CMAP4]: New functions. - (tt_cmap4_char_next) [OPT_CMAP4]: Use `tt_cmap4_next' and - `tt_cmap4_reset'. - (tt_cmap4_class_rec) [OPT_CMAP4]: Use `TT_CMap4Rec' and - `tt_cmap4_init'. - - * src/truetype/ttobjs.c (Reset_SBit_Size): Handle - FT_OPTIMIZE_MEMORY. - - * src/autofit/afhints.h (AF_PointRec, AF_SegmentRec, AF_EdgeRec): - Optimize member types. - - * src/autofit/afloader.c (af_loader_done): Call - `af_glyph_hints_done'. - -2005-02-27 David Turner - - * src/sfnt/ttkern.c (tt_face_load_kern): Fix a small bug which - caused invalid (random) return values for the horizontal kerning. - -2005-02-25 David Turner - - Implement several memory optimizations to drastically reduce the - heap usage of FreeType, especially in the case of memory-mapped - files. The idea is to avoid loading and decoding tables in the - heap, and instead access the raw data whenever possible (i.e., when - it doesn't compromise performance). - - This has several benefits: For example, opening vera.ttf now uses - just a small amount of memory (even when the FT_Library footprint is - accounted for), until you start loading glyphs. Even then, you save - at least 20KB compared to the non-optimized case. Performance of - various operations, including open and close, has also been - dramatically improved. - - More optimizations to come, especially for the auto-hinter. - - * include/freetype/internal/sfnt.h (TT_Face_GetKerningFunc): New - function type. - (SFNT_Interface): Add it. - - * include/freetype/internal/tttypes.h (TT_HdmxEntryRec, TT_HdmxRec, - TT_Kern0_PairRec): Don't define if FT_OPTIMIZE_MEMORY is set. - (TT_FaceRec): Define `horz_metrics', `horz_metrics_size', - `vert_metrics', `vert_metrics_size', `hdmx_table', - `hdmx_table_size', `hdmx_record_count', `hdmx_record_size', - `hdmx_record_sizes', `kern_table', `kern_table_size, - `num_kern_tables', `kern_avail_bits', `kern_order_bits' if - FT_OPTIMIZE_MEMORY is set. - Don't define `hdmx', `num_kern_pairs', `kern_table_index', - `kern_pairs' if FT_OPTIMIZE_MEMORY is set. - - * src/base/ftdbgmem.c (ft_mem_table_set): Don't shadow variable. - Fix compiler warning. - - * src/cff/cffdrivr.c (Get_Kerning): Renamed to... - (cff_get_kerning): This. Simplify. - (cff_driver_class): Updated. - - * src/sfnt/Jamfile (_sources): Add `ttkern'. - * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `ttkern.c'. - - * src/sfnt/sfdriver.c (sfnt_interface): Add `tt_face_get_kerning'. - - * src/sfnt/sfnt.c: Include `ttkern.c'. - - * src/sfnt/sfobjs.c: Include `ttkern.h'. - (sfnt_load_face): Consider the `kern' and `gasp' table as optional. - (sfnt_done_face): Call `tt_face_done_kern'. - Handle horizontal metrics for FT_OPTIMIZE_MEMORY. - - * src/sfnt/ttkern.c, src/sfnt/ttkern.h: New files. Code has been - taken from `ttload.c' and `ttload.h'. - Provide special versions of `tt_face_load_kern', - `tt_face_get_kerning', and `tt_face_done_kern' for - FT_OPTIMIZE_MEMORY. - - * src/sfnt/ttload.c (tt_face_load_metrics, tt_face_load_hdmx, - tt_face_free_hdmx): Provide version for FT_OPTIMIZE_MEMORY. - (tt_face_load_kern, tt_kern_pair_compare, TT_KERN_INDEX): Moved to - `ttkern.c'. - - * src/sfnt/ttload.h: Updated. - - * src/sfnt/ttsbit.c (sbit_metrics_field): Add `static' keyword. - - * src/truetype/ttdriver.c (Get_Kerning): Renamed to... - (tt_get_kerning): This. Simplify. - (tt_driver_class): Updated. - - * src/truetype/ttgload.c (TT_Get_Metrics): Renamed to... - (tt_face_get_metrics): This. Provide version for FT_OPTIMIZE_MEMORY. - Update all callers. - (Get_Advance_Widths): Replaced with... - (Get_Advance_WidthPtr): This. Provide version for - FT_OPTIMIZE_MEMORY. - Update all callers. - - * src/truetype/ttgload.h: Updated. - -2005-02-22 David Turner - - * src/base/ftdbgmem.c: Partly rewritten. Added the ability to list - all allocation sites in the memory debugger. Also a new function - FT_DumpMemory() was added. It is only available in builds with - FT_DEBUG_MEMORY defined, and you must declare it in your own code to - use it, i.e., with something like: - - extern void FT_DumpMemory( FT_Memory ); - - ... - - FT_DumpMemory( memory ); - - * include/freetype/config/ftoption.h - (TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Comment out definition -- - again. - (FT_OPTIMIZE_MEMORY): New configuration macro to control various - optimizations for reducing the heap footprint of memory-mapped - TrueType files. - - * include/freetype/internal/ftmemory.h (FT_ARRAY_ZERO): New - convenience macro. - - * include/freetype/internal/tttypes.h (TT_FaceRec) - [FT_OPTIMIZE_MEMORY]: Use optimized types for `num_locations' and - `glyph_locations'. - - * src/truetype/ttgload.c (load_truetype_glyph): Call - `tt_face_get_location'. - - * src/truetype/ttobjs.c (tt_face_init) - [FT_CONFIG_OPTION_INCREMENTAL]: Improve error handling. - (tt_face_done): Call `tt_face_done_loca'. - - * src/truetype/ttpload.c (tt_face_get_location, tt_face_done_loca): - New functions. If FT_OPTIMIZE_MEMORY is set, the locations table is - read directly from memory-mapped streams, instead of being decoded - into the heap. - (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: New implementation. - (tt_face_load_cvt, tt_face_load_fpgm): Only load table if the - bytecode interpreter is compiled in. - - * src/truetype/ttpload.h: Updated. - - * src/autohint/ahglyph.c (ah_outline_load): Improve allocation - logic. - -2005-02-20 Werner Lemberg - - * builds/unix/ltmain.sh: Regenerated with `libtoolize --force - --copy' from libtool 1.5.14. - * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from - automake 1.9.4. - - * builds/unix/config.guess, builds/unix/config.sub: Updated from - `config' CVS module at subversions.gnu.org. - - * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from - `texinfo' CVS module at subversions.gnu.org. - -2005-02-14 Werner Lemberg - - * src/cff/cffcmap.c (cff_cmap_unicode_init): Don't try to build - a cmap for a CID-keyed font which doesn't have SIDs. - -2005-02-13 Werner Lemberg - - * src/type1/t1load.c (read_binary_data): Return more meaningful - value. - (parse_encoding, parse_subrs, parse_charstrings, parse_dict): Check - parser error value after call to T1_Skip_PS_Token (where necessary). - - * src/type1/t1parse.c (T1_Get_Private_Dict): Check parser error - value after call to T1_Skip_PS_Token. - - * src/cid/cidparse.c (cid_parser_new): Check parser error value - after call to cid_parser_skip_PS_token. - - * src/type42/t42parse.c (t42_parse_encoding, t42_parse_sfnts, - t42_parse_charstrings, t42_parse_dict): Check parser error value - after call to T1_Skip_PS_Token (where necessary). - - * src/psaux/psobjc.c (skip_string, ps_parser_skip_PS_token, - ps_tobytes): Add error messages. - -2005-02-12 Werner Lemberg - - * configure: Output more variables to the created Makefile so that - it can be used for ft2demos also (if the FT2DEMOS variable is - defined). - -2005-02-10 David Turner - - * src/pfr/pfrgload.c (pfr_glyph_load): Fix an unbounded growing - dynamic array when loading a glyph from a PFR font (Savannah bug - #11921). - - * src/base/ftbitmap.c (FT_Bitmap_Convert): Small improvements to the - conversion function (mainly stupid optimization). - - * src/base/Jamfile: Adding ftbitmap.c to the list of compiled files. - -2005-02-10 Werner Lemberg - - * builds/unix/freetype-config.in: Add new flag `--ftversion' to - return the FreeType version. Suggested by George Williams - . - - * docs/CHANGES: Updated. - -2005-02-09 Werner Lemberg - - * src/otvalid/otvmod.c (otv_validate): Deallocate arrays in case - of error. Reported by YAMANO-UCHI Hidetoshi . - -2005-02-08 Werner Lemberg - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings) - : Accept `T1_Parse_Have_Moveto' state also which can - happen in empty glyphs. Reported by Ian Brown - (Savannah bug #11856). - -2005-02-04 Werner Lemberg - - * src/otlayout/*: Removed. Obsolete. - -2004-12-28 Werner Lemberg - - * builds/unix/ltmain.sh: Regenerated with `libtoolize --force - --copy' from libtool 1.5.10. - * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from - automake 1.9.4. - * builds/unix/configure: Regenerated with autoconf 2.59b. - - * builds/unix/config.guess, builds/unix/config.sub: Updated from - `config' CVS module at subversions.gnu.org. - - * builds/unix/install-sh: Updated from - `texinfo' CVS module at subversions.gnu.org. - - * builds/unix/ftsystem.c (FT_Stream_Open): Add proper cast for - ft_alloc. - Fix compiler warning. - -2004-12-27 Dirck Blaskey - - * src/cff/cffobjs.c (cff_face_init): Improve computation of - FT_STYLE_BOLD_FLAG. - -2004-12-27 Werner Lemberg - - * src/cff/cffobjs.c (cff_face_init): A CFF within an SFNT can have - only a single font. This is undocumented but has been verified on - the opentype list. - -2004-12-26 Werner Lemberg - - * Jamfile (FT2_COMPONENTS): Add `otvalid'. - -2004-12-25 Werner Lemberg - - * src/base/ftbitmap.c (FT_Bitmap_Convert): Fix compiler warning. - -2004-12-15 Werner Lemberg - - * vms_make.com: Add ftbitmap.obj. - -2004-12-14 Werner Lemberg - - * src/base/ftbitmap.c, include/freetype/ftbitmap.h: New files for - handling various bitmap formats. - - * include/freetype/config/ftheader.h (FT_BITMAP_H): New macro. - - * src/base/rules.mk (BASE_EXT_SRC): Add ftbitmap.c. - - * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Don't convert bitmaps to 8bpp - but return them as-is. - - * docs/CHANGES: Mention new bitmap API. - * include/freetype/ftchapter.s: Updated. - -2004-12-11 Robert Clark - - * src/base/ftobjs.c (FT_Get_Kerning): Make kerning amount - dependent on ppem by scaling down for ppem < 25, then do normal - rounding. This gives slightly better results than rounding towards - zero. - -2004-12-09 Werner Lemberg - - * src/base/ftobjs.c (FT_Get_Kerning): Always round towards zero - for FT_KERNING_DEFAULT. This greatly enhances the kerning for - small ppem values. - -2004-12-08 Werner Lemberg - - * src/base/ftobjs.c (ft_glyphslot_clear): Reset `lsb_delta' and - `rsb_delta'. - -2004-12-05 Werner Lemberg - - * builds/unix/install.mk (install): Use $(OBJ_BUILD) for ftconfig.h. - -2004-12-03 Antoine Leca - - * include/freetype/ttnameid.h: Updated to latest - specifications from Microsoft. - -2004-11-26 Jouk Jansen - - * vms_make.com: Include ftbbox.c. - Fix `ccopt'. - Handle `otvalid' module. - Update `vmslib.dat' default values. - Fixes to `libs.opt'. - -2004-11-23 Anders Kaseorg - - * src/base/ftoutln.c (FT_OrientationExtremumRec, - ft_orientation_extremum_compute): Removed. - (FT_Outline_Get_Orientation): Rewritten, simplified. - - * src/autohint/ahglyph.c: Include FT_OUTLINE_H. - (ah_test_extremum, ah_get_orientation): Removed. - (ah_outline_load): Use FT_Outline_Get_Orientation. - - * src/base/ftsynth.c (ft_test_extrama, ft_get_orientation): Removed. - (FT_GlyphSlot_Embolden): Use FT_Outline_Get_Orientation. - -2004-11-23 Fernando Papa - - * src/truetype/ttinterp.h: Fix typo. - -2004-11-22 Antoine Leca - - * builds/win32/detect.mk: Corrected logic that detects Windows NT to - use the previous change even if win32 is forced. Corrected - detection of win32 on Win9X. - - * builds/dos/detect.mk: Added same correction as for win32 about - COPY on Windows NT. Detection of plain DOS 7.x. - -2004-11-22 Werner Lemberg - - * builds/detect.mk: Undo change from 2004-11-20. - * builds/win32/detect.mk: If the `OS' environment variable contains - `Windows_NT', use `cmd.exe /c copy' for copying files. - -2004-11-20 Werner Lemberg - - * builds/detect.mk (dos_setup): Use `cmd.exe' for copying - $(CONFIG_MK) to force lowercase file name under Windows. - -2004-11-19 Werner Lemberg - - Fix a serious bug in the TT hinter. - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Don't shift - points vertically before hinting. - - * docs/CHANGES: Updated. - - * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily, - FTC_GCache_Lookup): A new try to fix comparison with zero. - -2004-11-16 Werner Lemberg - - * builds/unix/configure.ac: Add `-fno-strict-aliasing' if gcc is - used. - * builds/unix/configure: Regenerated. - * builds/unix/config.guess, builds/unix/config.sub: Updated from - `config' CVS module at subversions.gnu.org. - -2004-11-16 Dr. Martin P.J. Zinser - - * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily, - FTC_GCache_Lookup): Fix comparison with zero. - - * docs/INSTALL.VMS: Updated. - - * vms_make.com: Updated. All `descrip.mms' files are now created - automatically. - - * src/*/descrip.mms: Removed. - -2004-11-16 Owen Taylor - - * builds/unix/freetype-config.in: Suppress -L$libdir for - /usr/lib64 as well as /usr/lib. (Reported by Dan Winship - - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=139199) - -2004-11-11 Werner Lemberg - - * src/cff/cffdrivr.c (cff_service_ps_info): Updated. - * src/cid/cidriver.c (cid_service_ps_info): Updated. - * src/type42/t42drivr.c (t42_ps_get_font_private): New function. - (t42_service_ps_info): Updated. - - * src/type42/t42parse.c (t42_parse_dict): Remove compiler warning. - -2004-11-11 David Bevan - - Add new function FT_Get_PS_Font_Private(). - - * include/freetype/internal/services/svpsinfo.h - (PS_GetFontPrivateFunc): New service function. - - * include/freetype/t1tables.h, src/base/fttype1.c - (FT_Get_PS_Font_Private): New function. - - * src/type1/t1driver.c (t1_ps_get_font_private): New function. - (t1_service_ps_info): Updated. - -2004-10-13 Werner Lemberg - - * include/freetype/config/ftstdlib.h: Include `stddef.h'. - (ft_ptrdiff_t): Define. - - * include/freetype/fttypes.h (FT_PtrDist): Use `ft_ptrdiff_t'. - - * src/cid/cidload.c (cid_parse_dict), src/type1/t1load.c - (parse_dict): Fix compiler warning. - -2004-10-11 Joshua Neal - - * src/sfnt/ttcmap.c (tt_face_build_cmaps): Check for pointer - overflow. - - * src/sfnt/ttload.c (tt_face_load_hdmx): Protect against bad input. - Don't use FT_QNEW_ARRAY but FT_NEW_ARRAY to make deallocation work - in case of failure. - - * src/sfnt/ttsbit.c (Load_SBit_Range): Check range intervals. - (tt_face_load_sbit_strikes): Allocate `strike_sbit_ranges' after - frame test. - - * src/truetype/ttgload.c (TTLoad_Simple_Glyph): Add assertion for - `flag'. - -2004-10-09 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-10-09 Boris Letocha - - Fix handling of NPUSHW if skipped in data stream. - - * src/truetype/ttinterp.c (opcode_length): Set value for NPUSHW - to -2. - (SkipCode, TT_RunIns): Use opcode_length value for computation of - bytes to be skipped. - -2004-09-10 Jouk Jansen - - * vms_make.com: Updated. - -2004-09-09 Werner Lemberg - - Adding OpenType validation module. The code is based on the - (unfinished) `otlayout' module but has been heavily modified to make - it much more compact. - - * src/otvalid/*: New module. - - * include/freetype/ftotval.h, src/base/ftotval.c, - include/freetype/internal/services/svotval.h: New files. - - * include/freetype/config/ftmodule.h: Add otv_module_class. - * include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New - macro. - * include/freetype/internal/ftserv.h - (FT_SERVICE_OPENTYPE_VALIDATE_H): New macro. - * include/freetype/internal/fttrace.h (otvmodule, otvcommon, - otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components. - - * include/freetype/ftchapters.h: Updated. - - * src/base/Jamfile (Library), src/base/descrip.mms (OBJS), - src/base/rules.mk (BASE_EXT_SRC): Updated. - - * docs/CHANGES: Updated. - -2004-09-08 Werner Lemberg - - * src/tools/docmaker/sources.py (re_source_block_format2) : - Use lookahead assertion to not match `*/'. This removes spurious - insertions of `/' in the HTML output. - -2004-09-07 Werner Lemberg - - * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Fix call to - FT_NEW_ARRAY. - -2004-09-04 Werner Lemberg - - * include/freetype/internal/ftobjs.h: Don't include - FT_CONFIG_STANDARD_LIBRARY_H. - (FT_Validator, FT_ValidationLevel, FT_ValidatorRec, FT_VALIDATOR, - ft_validator_init, ft_validator_run, ft_validator_error, FT_INVALID, - FT_INVALID_TOO_SHORT, FT_INVALID_OFFSET, FT_INVALID_FORMAT, - FT_INVALID_GLYPH_ID, FT_INVALID_DATA): Move to... - - * include/freetype/internal/ftvalid.h: New file. - Make FT_INVALID return module-specific error codes. - - * include/freetype/internal/internal.h (FT_INTERNAL_VALIDATE_H): New - macro. - - * include/freetype/fterrors.h: Undefine FT_ERR_PREFIX only if - FT_KEEP_ERR_PREFIX isn't defined. - - * src/base/ftobjs.c: Include FT_INTERNAL_VALIDATE_H. - - * src/sfnt/ttcmap.h: Don't include FT_INTERNAL_OBJECTS_H but - FT_INTERNAL_VALIDATE_H. - - * src/sfnt/ttcmap.c: Don't include FT_INTERNAL_OBJECTS_H but - FT_INTERNAL_VALIDATE_H. - Include sferrors.h before FT_INTERNAL_VALIDATE_H. - s/FT_Err_Ok/SFNT_Err_Ok/. - - * src/sfnt/sferrors.h: Define FT_KEEP_ERR_PREFIX. - - * src/type1/t1afm.c: Include t1errors.h. - -2004-09-03 Werner Lemberg - - * src/base/ftdebug.c (ft_debug_init): Highest debug level is 7, - not 6. - * docs/DEBUG: Updated. - -2004-08-30 Werner Lemberg - - * include/freetype/tttags.h (TTAG_BASE, TTAG_GDEF, TTAG_GPOS, - TTAG_JSTF): New tags. - - * include/freetype/fttypes.h (FT_Bytes, FT_Tag): New typedefs. - (FT_Int): Add `signed'. - -2004-08-29 Werner Lemberg - - * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): Add argument - to pass number of lookups. - Update all callers. - Don't call otl_lookup_list_validate but otl_lookup_validate. - (otl_gpos_validate): Call otl_lookup_list_validate instead of - otl_gpos_subtable_validate. - - * src/otlayout/otlgpos.h: Updated. - - * src/otlayout/otljstf.c (otl_jstf_max_validate): Add argument to - pass number of lookups. - Update all callers. - - - * src/cff/cffparse.c (cff_parse_real): s/exp/exponent/ to avoid - compiler warning. - - - * src/sfnt/ttcmap0.c, src/sfnt/ttcmap0.h: Renamed to... - * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: This. - * src/sfnt/Jamfile, src/sfnt/rules.mk, src/sfnt/sfdriver.c, - src/sfnt/sfnt.c, src/sfnt/sfobjs.c: Updated. - - - * builds/compiler/gcc-dev.mk (CFLAGS): Don't add `-Wnested-externs' - if compiler is g++ (v3.3.3 emits a warning otherwise). - -2004-08-28 Werner Lemberg - - * src/otlayout/otlgpos.c (otl_value_length): Return number of bytes, - not number of 16bit entities. - (otl_gpos_lookup2_validate): Check class definition tables for - format 2. - Fix loop for format 2. - (otl_liga_mark2_validate): Fix offset for otl_anchor_validate. - -2004-08-27 Werner Lemberg - - * src/base/ftmac.c: Don't include truetype/ttobjs.h. - Don't include type1/t1objs.h. - (FT_New_Face_From_FSSpec) [!__MWERKS__]: Remove compiler warnings. - -2004-08-27 Mathieu Malaterre - - * src/base/ftmac.c: Handle OS_INLINE for xlc compiler also. - -2004-08-27 Werner Lemberg - - * src/otlayout/otlayout.h: Add copyright. - (OTL_INVALID_OFFSET): Removed. - - * src/otlayout/otlgdef.h: Include otlayout.h. - Comment out inclusion of otltable.h. - - * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call - to otl_base_array_validate. - (otl_liga_mark2_validate): Fix `for' loop. - - * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id', - not components array. - - * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count): - Comment out. - (otl_lookup_list_get_count, otl_feature_list_get_count): Activate. - (otl_feature_list_validate, otl_gsubgpos_get_lookup_count): - s/otl_lookup_get_count/otl_lookup_list_get_count/. - (otl_script_list_validate): - s/otl_feature_get_count/otl_feature_list_get_count/. - (otl_script_validate): Call otl_lang_validate for default language. - - * src/otlayout/otlcommn.h: Updated. - -2004-08-16 Werner Lemberg - - * src/otlayout/otlgpos.c (otl_gpos_lookup1_validate, - otl_gpos_lookup2_validate, otl_gpos_lookup3_validate, - otl_gpos_lookup4_validate, otl_gpos_lookup5_validate, - otl_gpos_lookup6_validate, otl_gpos_lookup9_validate, - otl_gpos_validate): Update - function arguments. - (otl_gpos_lookup7_validate, otl_gpos_lookup8_validate): Update - function arguments. - Handle NULL offsets correctly. - Check sequence and lookup indices for format 3. - (otl_pos_rule_validate, otl_chain_pos_rule_validate): Add argument - to pass lookup count. - Check sequence and glyph indices. - (otl_gpos_subtable_validate): Update function arguments. - Update callers. - - * src/otlayout/otlgpos.h: Updated. - - * src/otlayout/otlgsub.c (otl_gsub_lookup1_validate, - otl_gsub_lookup3_validate, otl_gsub_lookup8_validate): Update - function arguments. - Add glyph index checks. - (otl_sequence_validate, otl_alternate_set_validate, - otl_ligature_validate): Add argument to pass glyph count. - Update callers. - Add glyph index check. - (otl_gsub_lookup2_validate, otl_gsub_lookup4_validate): Update - function arguments. - (otl_ligature_set_validate): Add argument to pass glyph count. - Update caller. - (otl_sub_class_rule_validate, - otl_sub_class_rule_set_validate): Removed. - (otl_sub_rule_validate, otl_chain_sub_rule_validate): Add argument - to pass lookup count. - Update callers. - Add lookup index check. - (otl_sub_rule_set_validate, otl_chain_sub_rule_set_validate): Add - argument to pass lookup count. - Update callers. - (otl_gsub_lookup5_validate): Update function arguments. - Handle NULL offsets correctly. - Don't call otl_sub_class_rule_set_validate but - otl_sub_rule_set_validate. - Check sequence and lookup indices for format 3. - (otl_gsub_lookup6_validate): Update function arguments. - Handle NULL offsets correctly. - Check sequence and lookup indices for format 3. - (otl_gsub_lookup7_validate, otl_gsub_validate): Update function - arguments. - - * src/otlayout/otlgsub.h: Updated. - - * src/otlayout/otlbase.c (otl_base_validate): Handle NULL offsets - correctly. - - * src/otlayout/otlcommn.c (otl_class_definition_validate): Fix - compiler warning. - (otl_coverage_get_first, otl_coverage_get_last): New functions. - (otl_lookup_validate): Add arguments to pass lookup and glyph - counts. - Update callers. - (otl_lookup_list_validate): Add argument to pass glyph count. - Update callers. - - * src/otlayout/otlcommn.h: Updated. - - * src/otlayout/otljstf.c (otl_jstf_extender_validate, - otl_jstf_max_validate, otl_jstf_script_validate, - otl_jstf_priority_validate, otl_jstf_lang_validate): Add parameter - to validate glyph indices. - Update callers. - (otl_jstf_validate): Add parameter which specifies number of glyphs - in font. - - * src/otlayout/otljstf.h: Updated. - -2004-08-15 Werner Lemberg - - * src/otlayout/otlgpos.c (otl_liga_mark2_validate): Add parameter - to handle possible NULL values properly. - Update all callers. - -2004-08-15 Werner Lemberg - - * src/otlayout/gpos.c: Rename counting variables to be more - meaningful. - Add copyright. - (otl_liga_attach_validate): Renamed to... - (otl_liga_mark2_validate): This. - Update all callers. - (otl_mark2_array_validate): Removed. - (otl_gpos_lookup6_validate): Call otl_liga_mark2_validate, not - otl_mark2_array_validate. - (otl_pos_class_set_validate, otl_pos_class_rule_validate): Removed. - (otl_gpos_lookup7_validate): Complete code for format 2. - (otl_chain_pos_class_rule_validate, - otl_chain_pos_class_set_validate): Removed. - (otl_gpos_lookup8_validate): Don't call - otl_chain_pos_class_set_validate but - otl_chain_pos_rule_set_validate. - Simplify some code. - - * src/otlayout/otlgpos.h: Add copyright. - -2004-08-14 Werner Lemberg - - * src/otlayout/otljstf.c (otl_jstf_gsub_mods_validate): Removed. - (otl_jstf_gpos_mods_validate): Renamed to... - (otl_jstf_gsubgpos_mods_validate): This. - Test whether lookup_count is zero. - (otl_jstf_priority_validate): Use otl_jstf_gsubgpos_mods_validate. - (otl_jstf_validate): Initialize gsub_lookup_count and - gpos_lookup_count if gsub or gpos is zero. - - * src/otlayout/otlgsub.c: Rename counting variables to be more - meaningful. - Add copyright. - (otl_gsub_lookup1_validate): Simplify code. - (otl_gsub_lookup2_validate, otl_gsub_lookup3_validate, - otl_gsub_lookup4_validate, otl_gsub_lookup7_validate): Remove unused - variables. - (otl_gsub_lookup5_validate): Remove unused variable. - Fix call to otl_sub_rule_set_validate and - otl_sub_class_rule_set_validate. - (otl_chain_sub_class_rule_validate, - otl_chain_sub_class_set_validate): Removed. - (otl_gsub_lookup6_validate): Remove unused variable. - Fix call to otl_chain_sub_rule_set_validate. - (otl_gsub_lookup7_validate): Handle lookup type 8 also. - (otl_gsub_lookup8_validate: New function. - (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply, - otl_gsub_lookup3_apply): Commented out. - (otl_gsub_validate_funcs): Add otl_gsub_lookup7_validate and - otl_gsub_lookup8_validate. - (otl_gsub_validate): Updated. - - * src/otlayout/otlgsub.h: Add copyright. - - * src/otlayout/otlcommn.c, src/otlayout/otlcommn.h - (otl_coverage_get_index): Comment out. - -2004-08-13 Werner Lemberg - - * src/otlayout/otlcommn.c (otl_gsubgpos_get_lookup_count): New - function. - * src/otlayout/otlcommn.h: Updated. - - * src/otlayout/otlbase.c: Rename counting variables to be more - meaningful. - Add copyright message. - * src/otlayout/otlbase.h: Add copyright message. - - * src/otlayout/otlgdef.c: Rename counting variables to be more - meaningful. - Add copyright message. - Use OTL_CHECK everywhere. - (otl_caret_value_validate): Remove unused variable. - (otl_gdef_validate): All tables are optional. - * src/otlayout/otlgdef.h: Add copyright message. - - * src/otlayout/otljstf.c: Rename counting variables to be more - meaningful. - Add copyright message. - (otl_jstf_gsub_mods_validate, otl_jstf_gpos_mods_validate): Add - parameter to pass lookup count. - Update all callers. - Check lookup array. - (otl_jstf_max_validate): - s/otl_gpos_subtable_check/otl_gpos_subtable_validate/. - (otl_jstf_priority_validate, otl_jstf_lang_validate, - otl_jstf_script_validate): Add two parameters to pass lookup counts. - Update all callers. - (otl_jstf_validate): Add two parameters to pass GPOS and GSUB - table offsets; use otl_gsubgpos_get_lookup_count to convert extract - lookup counts. - Fix typo. - * src/otlayout/otljstf.h: Updated. - Add copyright message. - - * src/otlayout/otlgpos.c (otl_gpos_subtable_validate): New function. - (otl_gpos_validate): Use it. - * src/otlayout/otlgpos.h: Updated. - -2004-08-13 Werner Lemberg - - * src/otlayout/otcommn.c: Use OTL_CHECK everywhere. - (otl_coverage_validate): Initialize `p', - s/count/num_glyphs/. - s/start_cover/start_coverage/. - (otl_coverage_get_index): Return OTL_Long, not OTL_Int. - Remove unused variables. - (otl_class_definition_validate): s/count/num_glyphs/. - Remove unused variables. - (otl_class_definition_get_value, otl_device_table_get_start, - otl_device_table_get_end, otl_device_table_get_delta, - otl_lookup_get_table, otl_lookup_list_get_count, - otl_lookup_list_get_lookup, otl_lookup_list_get_table, - otl_feature_get_lookups, otl_feature_list_get_count, - otl_feature_list_get_feature, otl_lang_get_count, - otl_lang_get_req_feature, otl_lang_get_features): Commented out - temporarily until we really need it. - (otl_lookup_validate): Removed. - (otl_lookup_table_validate): Renamed to ... - (otl_lookup_validate): This. Update callers. - (otl_lookup_list_validate): Remove already commented out definition - and move the other definition up. - (otl_feature_validate): Add parameter to pass number of lookups. - Update callers. - Check lookup indices. - (otl_feature_list_validate): Add parameter to pass lookup table. - Update callers. - (otl_lang_validate): Add parameter to pass number of features. - Update callers. - Handle req_feature and check feature indices. - (otl_script_validate): Add parameter to pass number of features. - Update callers. - (otl_script_list_validate): Add parameter to pass feature table. - Update callers. - - * src/otlayout/otcommn.h: s/LOCALDEF/LOCAL/. - Comment out the same functions as in otcommn.c. - (otl_script_list_get_script): Removed. - - * src/otlayout/otlgsub.c (otl_gsub_lookup1_apply): Change `index' to - type OTL_Long. - (otl_gsub_lookup2_apply, otl_gsub_lookup3_apply): Change `index' to - type OTL_Long. - Fix test. - (otl_gsub_validate): Fix order of validation. - - * src/otlayout/otlgpos.c (otl_gpos_validate): Fix order of - validation. - -2004-08-12 Werner Lemberg - - Make otlayout module compile (without actually working). - - * src/otlayout/*: s/OTL_Valid/OTL_Validator/. - s/NULL/0/. - - * src/otlayout/otlayout.h: Fix various typos. - (OTL_Bool): New typedef. - (OTL_Int, OTL_Long, OTL_Int16, OTL_Int32): Use `signed' keyword. - (OTL_Err_InvalidArgument): Removed. - (OTL_Err_InvalidData, OTL_Err_InvalidSize): New enum values. - (OTL_MAKE_TAG): Add missing parenthesis. - (OTL_INVALID_DATA): Use OTL_Err_InvalidData. - (OTL_INVALID_TOO_SHORT): Use OTL_Err_InvalidSize. - (OTL_INVALID_FORMAT, OTL_INVALID_OFFSET): New macros. - - * src/otlayout/otlgpos.c: s/FT_/OTL_/. - s/OTL_Short/OTL_Int16/. - (otl_gpos_pairset_validate): Add return type. - (otl_base_array_validate): Fix call to otl_anchor_validate. - (otl_liga_array_validate): Fix call to otl_liga_attach_validate. - (otl_gpos_lookup5_validate): Fix typos. - (otl_gpos_lookup6_validate): Fix call to otl_mark2_array_validate. - (otl_gpos_lookup7_validate): Comment out unfinished code. - Fix typos. - - * src/otlayout/otlgsub.c: Add forward declaration for - otl_gsub_validate_funcs. - (otl_gsub_lookup1_apply, otl_gsub_lookup2_apply, - otl_gsub_lookup3_apply): Fix call to otl_parser_check_property. - s/otl_coverage_lookup/otl_coverage_get_index/. - (otl_ligature_validate): Add missing variable declaration. - (otl_sub_rule_validate): Fix typo. - (otl_sub_class_rule_validate): Add missing variable declaration. - Fix typo. - (otl_gsub_lookup5_validate): Fix typo. - (otl_gsub_lookup6_validate): Fix call to - otl_chain_sub_class_set_validate. - (otl_gsub_validate_funcs): Don't use `const'. - - * src/otlayout/otlcommn.c (otl_class_definition_get_value, - otl_device_table_validate, otl_device_table_get_delta, - otl_lookup_validate, otl_script_validate): Add missing - variable declarations. - (otl_lookup_list_validate): Comment out first definition. - (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out. - (otl_feature_list_validate): - s/otl_feature_table_validate/otl_feature_validate/. - (otl_script_list_validate): - s/otl_script_table_validate/otl_script_validate/. - - * src/otlayout/otlcommn.h: Comment out first declaration. - (otl_lookup_list_foreach, otl_feature_list_foreach): Comment out. - - * src/otlayout/otlbase.c (otl_base_coord_validate): Fix call to - otl_device_table_validate. - (otl_base_script_validate): Add missing variable declarations. - (otl_base_script_list_validate): Fix call to - otl_base_script_validate. - (otl_axis_table_validate): Fix calls to otl_base_tag_list_validate - and otl_base_script_list_validate. - (otl_base_validate): Fix calls to otl_axis_table_validate. - - * src/otlayout/otlgdef.c (otl_attach_list_validate): Fix call to - otl_attach_point_validate. - (otl_caret_value_validate): Add missing variable declaration. - Fix call to otl_device_table_validate. - (otl_ligature_glyph_validate): Fix call to otl_caret_value_validate. - (otl_ligature_caret_list_validate): Fix call to - otl_ligature_glyph_validate. - (otl_gdef_validate): Fix calls to otl_class_definition_validate, - otl_attach_list_validate, otl_ligature_caret_list_validate, and - otl_class_definition_validate. - - * src/otlayout/otltable.h (otl_table_validate, otl_table_init, - otl_table_set_script): Comment out. - - * src/otlayout/otlparse.h (OTL_ParserRec): - s/OTL_Alternate/OTL_GSUB_Alternate/. - (OTL_ParseError): Add OTL_Err_Parser_Memory and - OTL_Err_Parser_Internal. - (otl_parser_error): Fix typo. - (otl_parser_check_property): Remove third argument. - - * src/otlayout/otlparse.c (otl_string_ensure): - s/OTL_Parse_Err_Memory/OTL_Err_Parser_Memory/. - (OTL_STRING_ENSURE, otl_parser_error, otl_parser_get_index, - otl_parser_replace_1, otl_parser_replace_n): Fix typos. - (OTL_PARSER_UNCOVERED): Removed. - (otl_parser_check_property): Remove third argument. - - * src/otlayout/otljstf.c (otl_jstf_priority_validate): Add missing - variable declaration. - - * src/otlayout/otlutils.h (OTL_MEM_REALLOC): Fix typo. - -2004-08-11 Danny - - * src/base/ftstream.c (FT_Stream_Close): Don't reset stream->close - to NULL. This allows custom close functions to delete the FT_STREAM - object. - -2004-08-11 Werner Lemberg - - Add API to get information about SFNT tables. - - * include/freetype/internal/services/svsfnt.h - (FT_SFNT_Table_Info_Func): New typedef. - (SFNT_Table): Add it. - - * src/base/ftobjs (FT_Sfnt_Table_Info): New function. - - * include/freetype/tttables.h: Updated. - - * src/sfnt/sfdriver.c (sfnt_table_info): New function. - (sfnt_service_sfnt_table): Add it. - - * docs/CHANGES: Updated. - - - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 10. - - * builds/unix/configure.ac (version_info): Set to 9:8:3. - * builds/unix/configure: Updated. - - * builds/win32/visualc/index.html, - builds/win32/visualc/freetype.dsp, - builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/. - - * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): - s/2.1.9/2.1.10/. - - * docs/CHANGES, docs/VERSION.DLL: Updated. - -2004-08-11 Detlef Würkner - - * src/base/ftrfork.c (FT_Raccess_Guess) - [!FT_CONFIG_OPTION_GUESSING_EMBEDDED_FORK]: Remove compiler - warnings. - -2004-08-06 Adam Piotrowski - - * src/pfr/pfrload.c (pfr_sort_kerning_pairs): Single-byte - adjustments are unsigned, not signed. - -2004-08-05 David Turner - - `Activate' gray-scale specifing hinting within the TrueType - bytecode interpreter. This is an experimental feature which - should probably be made optional. - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph, - load_truetype_glyph): Move the code to set the pedantic_hinting flag - to... - (TT_Load_Glyph): Here. - Set `grayscale' flag except for `FT_LOAD_TARGET_MONO'. - - * src/truetyep/ttinterp.c (Ins_GETINFO): Return MS rasterizer - version 1.7. - Return rotation and stretching info only if glyph is rotated or - stretched, respectively. - Handle grayscale info. - - * src/truetype/ttinterp.h (TT_ExecContextRec): Add `grayscale' - member. - -2004-08-02 George Williams - - * src/base/ftobjs.c (FT_Attach_File): Initialize `open.stream'. - -2004-08-01 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-08-01 George Williams - - FreeType now can read kerning values from PFM files. - - * src/type1/t1afm.c (T1_Done_AFM): Renamed to... - (T1_Done_Metrics): This. - Update all callers. - (T1_Read_AFM): Make it static. - Don't enter and leave a frame. - (LITTLE_ENDIAN_USHORT, LITTLE_ENDIAN_UINT): New macros. - (T1_Read_PFM): New function. - (T1_Read_Metrics): New higher-level function to be used instead of - T1Read_AFM. - Update all callers. - -2004-07-31 Werner Lemberg - - * src/pcf/pcfread (pcf_load_font), src/bdf/bdfdrivr.c - (BDF_Face_Init), src/truetype/ttgxvar (TT_Get_MM_Var, - tt_face_vary_cvt): Fix compiler warnings. - -2004-07-26 Søren Sandmann - - * src/pcf/pcfread.c (pcf_interpret_style): Always allocate memory for - face->style_name. - * src/pcf/pcfdrivr.c (PCF_Face_Done): Free `style_name'. - -2004-07-26 Darren J Longhorn - - * include/freetype/config/ftconfig.h (FT_SIZEOF_LONG): Recognize - five-byte `long' (which is avoided then). - -2004-07-25 Detlef Würkner - - * src/pcf/pcfdrivr.c (PCF_Set_Pixel_Size): Compare heights, not - ppem values. - (PCF_Set_Point_Size): Don't call PCF_Set_Pixel_Size but provide own - code to compare ppem values. - * src/bdf/bdfdrivr.c (BDF_Set_Pixel_Size): Compare heights, not - ppem values. - (BDF_Set_Point_Size): Don't call BDF_Set_Pixel_Size but provide own - code to compare ppem values. - -2004-07-25 Kornfeld Eliyahu Peter - - * src/sfnt/sfobjs.c (sfnt_load_face): Handle - TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY. - -2004-07-24 Derek B. Noonburg - - * src/cff/cffload.c (cff_font_load): Always create inverse mapping. - Even if the charstring count is the same as the CID count, it is - still possible that the font uses a different CID -> GID mapping. - -2004-07-23 Werner Lemberg - - * src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag - found in some Arphic fonts made for Chinese version of Windows 3.1. - -2004-07-17 David Turner - - Fixed a dangling pointer bug in the cache code that happened in very - rare cases, i.e., when a new family object was destroyed by an - out-of-memory condition during a glyph node initialization. The - function FTC_Cache_Lookup would flush the cache and restart the - lookup with a bad pointer. - - * include/freetype/cache/ftcglyph.h (FTC_FAMILY_TREE): New macro. - (FTC_GCACHE_LOOKUP_CMP): Use it. - Handle reference count in `num_nodes' correctly. - - * src/cache/ftcglyph.c (FTC_GNode_UnselectFamily): Use - FTC_FAMILY_FREE. - (FTC_GCache_Lookup): Handle reference count in `num_nodes' correctly. - - * src/cache/ftcmanag.c (FTC_Manager_FlushN): Fixed a cache flushing - bug. - - * src/truetype/ttinterp.c (Normalize): Fixed a bug that caused - long and unnecessary delays while normalizing huge vectors. - -2004-07-15 Werner Lemberg - - * docs/CHANGES: Updated. - - * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix compiler - warning. - -2004-07-15 David Turner - - * src/base/ftstroke.c (FT_Stroker_ParseOutline): Single points - are not stroked, preventing a bug with pala.ttf and other - fonts. - - * include/freetype/ftstroke.h: Updating documentation comments. - -2004-07-13 Werner Lemberg - - * src/base/ftstroke.c (ft_stroke_border_reverse): Removed. Unused. - -2004-07-12 David Turner - - * src/base/ftstroke.c (ft_stroke_border_close): Add second parameter - to indicate reversion of points. - Update all callers. - (ft_stroke_border_reverse): Fix initialization of `point1' and - `tag1'. - - * src/cache/ftcsbits.c (ftc_snode_load): Fixing advance computation - for transformed glyphs. - -2004-07-11 David Turner - - Fix bugs that prevented the stroker to correctly generate stroked - paths from closed paths, i.e., nearly all glyphs in vectorial fonts. - - The code is still _very_ buggy though; treat with special care. - - * src/base/ftstroke.c (FT_STROKE_TAG_BEGIN_END): New macro. - (ft_stroke_border_reverse): New function. - (ft_stroker_inside): Remove local variable `sigma'; use different - threshold. - (ft_stroker_add_reverse_left): Switch begin/end tags if necessary. - (FT_Stroker_EndSubPath): Call ft_stroker_inside and - ft_stroke_border_reverse. - -2004-06-26 Peter Kovar - - * src/truetype/ttgload.c (load_truetype_glyph): Fix typo. - -2004-06-25 Werner Lemberg - - * src/type1/t1afm.c (afm_atoindex): Fix boundary test. Reported - by Dirck Blaskey. - -2004-06-24 David Turner - - - * Version 2.1.9 released. - ========================= - - - * src/truetype/ttgload.c, src/truetype/ttxgvar.c: Removing - compiler warnings. - -2004-06-23 Werner Lemberg - - * include/freetype/internal/ftmemory.h [FT_DEBUG_MEMORY]: Declare - FT_QAlloc_Debug and FT_QRealloc_Debug. - - * src/base/ftutil.c (FT_QAlloc): Fix error and debug messages. - (FT_QRealloc): Call FT_QAlloc if original pointer is NULL. - Fix error message. - -2004-06-23 David Turner - - * include/freetype/internal/ftmemory.h, src/base/ftutil.c - (FT_QAlloc, FT_QRealloc), src/base/ftdbgmem.c (FT_QAlloc_Debug, - FT_QRealloc_Debug): New functions that perform allocation without - zero-ing out the corresponding blocks. - - * include/freetype/internal/ftmemory.h (FT_MEM_QALLOC, - FT_MEM_QREALLOC, FT_MEM_QNEW, FT_MEM_QNEW_ARRAY, - FT_MEM_QRENEW_ARRAY, FT_QALLOC, FT_QREALLOC, FT_QNEW, FT_QNEW_ARRAY, - FT_QRENEW_ARRAY): New macros. - - * src/base/ftstream.c (FT_Stream_EnterFrame): Use FT_QALLOC. - * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use FT_QNEW_ARRAY. - * src/sfnt/sfobjs.c (tt_face_get_name): Use FT_QNEW_ARRAY. - - * src/sfnt/ttload.c (tt_face_load_directory, tt_face_load_metrics, - tt_face_load_gasp): Use FT_QNEW_ARRAY. - (tt_face_load_kern): Use FT_QNEW_ARRAY. - Small optimization in the kerning table verifier; this speeds up - TrueType face opening by about 7%. - (tt_face_load_hdmx): Use FT_QNEW_ARRAY and FT_QALLOC. - - * include/freetype/config/ftmodule.h: Changed the order of modules, - putting TrueType and Type 1 first. This dramatically improves the - performance of face open/close operations. For example, putting the - TrueType driver first in the list results in a 5x speedup when - opening `Vera.ttf'. - - The very problem is that both the PCF and BDF drivers do a lot more - than necessary to detect that they cannot handle a font file. - -2004-06-22 Werner Lemberg - - * src/pcf/pcfread.c (pcf_read_TOC, pcf_get_properties, - pcf_get_metrics, pcf_get_bitmaps, pcf_get_encodings): Improve - debugging messages. - - * src/pcf/pcfdrivr.c (FT_COMPOMENT): Move up. - (PCF_Face_Init): Simplify code. - - * src/bdf/bdfdrivr.h (BDF_FaceRec): New element `default_glyph'. - - * src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_start), - src/bdf/bdf.h (bdf_font_t): s/default_glyph/default_char/. - - * src/bdf/bdfdrivr.c (BDF_Face_Init): Fix number of glyphs. - Set `default_glyph'. - (BDF_Glyph_Load): Use `default_glyph' for undefined glyph. - - * docs/CHANGES: Updated. - -2004-06-21 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-06-21 David Turner - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph, - load_truetype_glyph): Don't access (unrounded) - `TT_Size.root.metrics' but (rounded) `TT_Size.metrics'. This fixes - a scaling bug that caused incorrect rendering when the bytecode - interpreter was enabled. - -2004-06-14 Huw D M Davies - - * src/winfonts/winfnt.c (FNT_Face_Init): Set x_ppem and y_ppem - based on pixel_width and pixel_height. - (FNT_Size_Set_Pixels): Updated. - -2004-06-14 Werner Lemberg - - * src/lzw/zopen.c: Comment out inclusion of signal.h and unistd.h. - Reported by Hyvärinen Jyrki Juhani. - -2004-06-11 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-06-10 David Turner - - * src/base/ftobject.c, src/base/fthash.c, src/base/ftexcept.c, - src/base/ftsysio.c, src/base/ftsysmem.c, src/base/ftlist.c: Removed. - Obsolete. - - * src/raster/ftraster.c (Alignment, PAlignment): New union to fix - problems with 64bit systems. - (AlignProfileSize): Use it. - -2004-06-08 David Turner - - * include/freetype/freetype.h (FT_GlyphMetrics): Move `lsb_delta' - and `rsb_delta' elements to... - (FT_GlyphSlotRec): Here to retain binary compatibility with older - FreeType versions. - Update all users. - - * src/sfnt/sfobjs.c (tt_face_get_name): Remove compiler warning. - - * src/winfonts/winfnt.c (FNT_Load_Glyph): Add missing initialization - of slot->metrics.width and slot->metrics.height when loading a - Windows FNT glyph. Thanks to Huw Davies. - - * include/freetype/cache/ftcmru.h (FTC_MruNode_CompareFunc): Change - return type to FT_Bool. - - * src/cache/ftbasic.c (ftc_basic_family_compare): Change return - type to FT_Bool. - - * src/cache/ftccache.c (FTC_Cache_Init, ftc_cache_init): Make - the former call the latter, not vice versa. - (FTC_Cache_Done, ftc_cache_done): Ditto. - - * src/cache/ftcglyph.c (FTC_GNode_Compare, ftc_gnode_compare): Make - the former call the latter, not vice versa. - (FTC_GCache_Init, ftc_gcache_init): Ditto. - (FTC_GCache_Done, ftc_gcache_done): Ditto. - - * src/cache/ftcimage.c (FTC_INode_Free, ftc_inode_free): Make the - former call the latter, not vice versa. - (FTC_INode_Weight, ftc_inode_weight): Ditto. - - * src/cache/ftcmanag.c (ftc_size_node_compare, - ftc_size_node_compare_faceid, ftc_face_node_compare): Change return - type to FT_Bool. - - * src/cache/ftcsbits.c (FTC_SNode_Free, ftc_snode_free): Make the - former call the latter, not vice versa. - (FTC_SNode_Weight, ftc_snode_weight): Ditto. - (FTC_SNode_Compare, ftc_snode_compare): Ditto. - - * src/cache/ftcsbits.c: Fix some bugs and inefficiencies in the cache - sub-system. - -2004-06-05 Werner Lemberg - - * src/autofit/afloader.c (af_loader_load_g): Set `lsb_delta' and - `rsb_delta' in slot->metrics and tune side bearings slightly. - -2004-06-04 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-06-04 David Chester - - Improve inter-letter spacing for autohinted glyphs. - - * include/freetype/freetype.h (FT_Glyph_Metrics): Add elements - `lsb_delta' and `rsb_delta'. - - * src/autohint/ahhint.c (ah_hinter_load): Set `lsb_delta' and - `rsb_delta' in slot->metrics and tune side bearings slightly. - -2004-06-04 David Turner - - * src/autofit/*: Important fixes to the auto-fitter. The output - now seems to be 100% equivalent to the auto-hinter, while being - about 2% faster (which proves that script-specific algorithm - selection isn't a performance problem). - - To test it, change `autohint' to `autofit' in - and recompile. - - A few more testing is needed before making this the official - auto-hinting module. - -2004-06-02 Werner Lemberg - - * src/truetype/ttgload.c (compute_glyph_metrics): Fix compiler - warnings. - -2004-06-01 Werner Lemberg - - * src/sfnt/sfobjs.c (tt_face_get_name): Make sure that an English - name record for the Apple platform is preferred to a non-English - entry for the Microsoft platform. Problem reported by HANDA - Ken'ichi. - -2004-05-19 George Williams - - * src/type1/t1load.c (mm_axis_unmap, mm_weights_unmap): New - auxiliary functions. - (T1_Get_MM_Var): Provide axis tags. - Use mm_axis_unmap and mm_weights_unmap to provide default values - for design and normalized axis coordinates. - - * include/freetype/t1tables.h (PS_DesignMapRec): Change type of - `design_points' to FT_Long. - Update all users. - -2004-05-17 Werner Lemberg - - * src/base/ftbbox.c (BBox_Conic_Check): Fix boundary cases. - Reported by Mikey Anbary . - -2004-05-15 Werner Lemberg - - * src/sfnt/sfobjs.c (sfnt_done_face): Free face->postscript_name. - -2004-05-15 George Williams - - * src/sfnt/ttload.c (tt_face_load_max_profile): Always set - face->root.num_glyphs. - -2004-05-14 Masatake YAMATO - George Williams - - * src/sfnt/ttload.c (sfnt_dir_check): Handle `bhed' properly. - -2004-05-14 Werner Lemberg - - * src/cache/ftcbasic.c (ftc_basic_family_compare, - ftc_basic_family_init, ftc_basic_family_get_count, - ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph, - ftc_basic_gnode_compare_faceid): Adjust parameters and return types - to prototypes given in header files from include/freetype/cache. - Use casts to proper types locally. - (ftc_basic_image_family_class, ftc_basic_image_cache_class, - ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): Remove - casts. - - * src/cache/ftccback.h: Adjust parameters and return types to - prototypes given in header files from include/freetype/cache. - - * src/cache/ftcimage.c (ftc_inode_free, ftc_inode_new, - ftc_inode_weight): Adjust parameters and return types to prototypes - given in header files from include/freetype/cache. Use casts to - proper types locally. - - * src/cache/ftcsbits.c (ftc_snode_free, ftc_snode_new, - ftc_snode_weight, ftc_snode_compare): Adjust parameters and return - types to prototypes given in header files from - include/freetype/cache. Use casts to proper types locally. - - * src/cache/ftccmap.c (ftc_cmap_node_free, ftc_cmap_node_new, - ftc_cmap_node_weight, ftc_cmap_node_compare, - ftc_cmap_node_remove_faceid): Adjust parameters and return types to - prototypes given in header files from include/freetype/cache. Use - casts to proper types locally. - (ftc_cmap_cache_class): Remove casts. - - * src/cache/ftcglyph.c (ftc_gnode_compare, ftc_gcache_init, - ftc_gcache_done): Adjust parameters and return types to prototypes - given in header files from include/freetype/cache. Use casts to - proper types locally. - - * src/cache/ftcmanag.c (ftc_size_node_done, ftc_size_node_compare, - ftc_size_node_init, ftc_size_node_reset, - ftc_size_node_compare_faceid, ftc_face_node_init, - ftc_face_node_done, ftc_face_node_compare: Adjust parameters and - return types to prototypes given in header files from - include/freetype/cache. Use casts to proper types locally. - - (ftc_size_list_class, ftc_face_list_class): Remove casts. - -2004-05-13 Werner Lemberg - - * src/autohint/ahmodule.c (ft_autohinter_init, ft_autohinter_done): - Use FT_Module as parameter and do a cast to FT_AutoHinter locally. - (autohint_module_class): Remove casts. - - * src/base/ftglyph.c (ft_bitmap_glyph_init, ft_bitmap_glyph_copy, - ft_bitmap_glyph_done, ft_bitmap_glyph_bbox, ft_outline_glyph_init, - ft_outline_glyph_done, ft_outline_glyph_copy, - ft_outline_glyph_transform, ft_outline_glyph_bbox, - ft_outline_glyph_prepare): Use FT_Glyph as parameter and do a cast - to FT_XXXGlyph locally. - Use FT_CALLBACK_DEF throughout. - (ft_bitmap_glyph_class, ft_outline_glyph_class): Remove casts. - - * src/bdf/bdfdrivr.c (bdf_cmap_init, bdf_cmap_done, - bdf_cmap_char_index, bdf_cmap_char_next): Use FT_CMap as parameter - and do a cast to BDF_CMap locally. - (bdf_cmap_class): Remove casts. - -2004-05-12 Werner Lemberg - - * src/cff/cffgload.h (CFF_Builder): Remove `error'. - * src/cff/cffgload.c (cff_decoder_parse_charstrings): Replace - `Memory_Error' with `Fail' und update all users. - -2004-05-11 Werner Lemberg - - * include/freetype/internal/psaux.h (T1_ParseState): New - enumeration. - (T1_BuilderRec): Replace `path_begun' with `parse_state'. - Remove `error'. - * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Replace - `Memory_Error' with `Fail' and update all users. - Don't use `builder->error'. - Replace `path_begun' with `parse_state' and check parsing states. - - * src/psaux/psobjs.c (t1_builder_init, t1_builder_start_point): - Replace `path_begun' with `parse_state' and check parsing states. - -2004-05-10 George Williams - - * src/truetype/ttxgvar.c (ft_var_load_avar): Do free arrays in case - of error -- `avar' is optional so we can't rely on tt_done_blend - being called automatically. - -2004-05-09 George Williams - - * src/truetype/ttxgvar.c (ft_var_load_avar, ft_var_load_gvar): Fix - error handling. - -2004-05-07 Werner Lemberg - - * src/pfr/pfrobjs.c, src/pfr/pfrobjs.h (pfr_face_init, - pfr_face_done, pfr_face_get_kerning, pfr_slot_init, pfr_slot_done, - pfr_slot_load): Don't use PFR_XXX but FT_XXX arguments which are - typecast to the proper PFR_XXX types within the function. - Update code accordingly. - - * src/pfr/pfrdrivr.c (pfr_get_kerning, pfr_get_advance, - pfr_get_metrics, pfr_get_service): Don't use PFR_XXX but FT_XXX - arguments which are typecast to the proper PFR_XXX types within the - function. - Update code accordingly. - Use FT_CALLBACK_DEF throughout. - (pfr_metrics_service_rec, pfr_driver_class): Remove casts. - -2004-05-06 Masatake YAMATO - - * src/truetype/ttgxvar.c (ft_var_load_gvar): Use FT_FACE_STREAM. - (*): Rename local variable OffsetToData to offsetToData. - -2004-05-06 Werner Lemberg - - * src/cff/cffobjs.c (cff_size_done, cff_size_init, cff_size_reset, - cff_slot_done, cff_slot_init, cff_face_init, cff_face_done): Access - root fields directly. - * src/cff/cffdrivr.c (Load_Glyph): Access root fields directly. - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Save current - frame before calling TT_Vary_Get_Glyph_Deltas. - - * src/pcf/pcfdrivr.c (PCF_CMapRec): Rename `cmap' to `root' for - consistency. - (pcf_cmap_init, pcf_cmap_done, pcf_cmap_char_index, - pcf_cmap_char_next): Don't use PCF_XXX but FT_XXX arguments which - are typecast to the proper PCF_XXX types within the function. - Update code accordingly. - (pcf_cmap_class): Remove casts. - (PCF_Face_Done, PCF_Face_Init, PCF_Set_Pixel_Size): Don't use - PCF_XXX but FT_XXX arguments which are typecast to the proper - PCF_XXX types within the function. - Update code accordingly. - Use FT_CALLBACK_DEF throughout. - (PCF_Set_Point_Size): New wrapper function. - (PCF_Glyph_Load, pcf_driver_requester): Use FT_CALLBACK_DEF. - (pcf_driver_class): Remove casts. - -2004-05-04 Steve Hartwell - - * src/truetype/ttobjs.c (tt_driver_done): Fix typo. - -2004-05-04 Werner Lemberg - - * src/bdf/bdfdrivr.c (BDF_Face_Done, BDF_Face_Init, - BDF_Set_Pixel_Size): Don't use BDF_XXX but FT_XXX arguments which - are typecast to the proper BDF_XXX types within the function. - Update code accordingly. - Use FT_CALLBACK_DEF throughout. - (BDF_Set_Point_Size): New wrapper function. - (bdf_driver_class): Remove casts. - - * src/cff/cffdrivr.c (Get_Kerning, Load_Glyph, cff_get_interface): - Don't use CFF_XXX but FT_XXX arguments which are typecast to the - proper CFF_XXX types within the function. - Update code accordingly. - Use FT_CALLBACK_DEF throughout. - (cff_driver_class): Remove casts. - - * src/cff/cffobjs.h, src/cff/cffobjs.c (cff_size_done, - cff_size_init, cff_size_reset, cff_slot_done, cff_slot_init, - cff_face_init, cff_face_done, cff_driver_init, cff_driver_done): - Don't use CFF_XXX but FT_XXX arguments which are typecast to the - proper CFF_XXX types within the function. - Update code accordingly. - (cff_point_size_reset): New wrapper function. - - * src/cid/cidobjs.h, src/cid/cidobjs.c (cid_slot_done, - cid_slot_init, cid_size_done, cid_size_init, cid_size_reset, - cid_face_done, cid_face_init, cid_driver_init, cid_driver_done): - Don't use CID_XXX but FT_XXX arguments which are typecast to the - proper CID_XXX types within the function. - Update code accordingly. - (cid_point_size_reset): New wrapper function. - - * src/cid/cidgload.c, src/cid/cidgload.h (cid_slot_load_glyph): - Don't use CID_XXX but FT_XXX arguments which are typecast to the - proper CID_XXX types within the function. - Update code accordingly. - - * src/cid/cidriver.c (cid_get_interface): - Don't use CID_XXX but FT_XXX arguments which are typecast to the - proper CID_XXX types within the function. - Update code accordingly. - Use FT_CALLBACK_DEF. - (t1cid_driver_class): Remove casts. - - * src/truetype/ttdriver.c (tt_get_interface): Use FT_CALLBACK_DEF. - * src/truetype/ttgxvar.c (ft_var_load_avar): Don't free non-local - variables (this is done later). - (ft_var_load_avar): Fix call to FT_FRAME_ENTER. - (TT_Get_MM_Var): Fix size for `fvar_fields'. - (TT_Vary_Get_Glyph_Deltas): Handle deallocation of local variables - correctly. - - * src/base/ftdbgmem.c (ft_mem_debug_realloc): Don't abort if - current size is zero. - -2004-05-03 Steve Hartwell - - * src/truetype/ttobjs.h, src/truetype/ttobjs.c (tt_face_init, - tt_face_done, tt_size_init, tt_size_done, tt_driver_init, - tt_driver_done): Don't use TT_XXX but FT_XXX arguments which are - typecast to the proper TT_XXX types within the function. - Update code accordingly. - - * src/truetype/ttdriver.c (Get_Kerning, Set_Char_Sizes, - Set_Pixel_Sizes, Load_Glyph, tt_get_interface): Don't use TT_XXX but - FT_XXX arguments which are typecast to the proper TT_XXX types - within the function. - Update code accordingly. - (tt_driver_class): Remove casts. - -2004-05-02 Werner Lemberg - - * src/sfnt/ttload.c (tt_face_free_names): Check that `table->names' - is not NULL. Reported by Gordon Childs . - -2004-04-29 Werner Lemberg - - * docs/formats.txt: Add more information on PFR format. - -2004-04-28 Werner Lemberg - - * docs/formats.txt: New file. - * docs/CHANGES: Updated. - -2004-04-28 Masatake YAMATO - - * include/freetype/internal/tttypes.h (GX_BlendRec_) - [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Fix a typo. - - * src/truetype/ttgxvar.h (GX_BlendRec_): Fix a typo. - -2004-04-27 Masatake YAMATO - - * src/truetype/ttgxvar.h: Use FT_LOCAL instead of FT_LOCAL_DEF - for function declarations. - -2004-04-25 George Williams - - * src/truetype/ttgxvar.c (ft_var_apply_tuple): Fix typo. - -2004-04-25 Werner Lemberg - - * src/truetype/Jamfile, docs/CHANGES: Updated. - -2004-04-24 Werner Lemberg - - * src/pcf/pcfdrivr.c: Revert change from 2004-04-17. - * src/pcf/pcfutil.c: Use FT_LOCAL_DEF. - * src/pcf/pcfutil.h: Include FT_CONFIG_CONFIG_H. - Use FT_BEGIN_HEADER and FT_END_HEADER. - Use FT_LOCAL. - -2004-04-24 George Williams - - Add support for Apple's distortable font technology (in GX fonts). - - * devel/ftoption.h, include/freetype/config/ftoption.h - (TT_CONFIG_OPTION_GX_VAR_SUPPORT): New macro. - - * include/freetype/ftmm.h (FT_Var_Axis, FT_Var_Named_Style, - FT_MM_Var): New structures. - (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates, - FT_Set_Var_Blend_Coordinates): New function declarations. - - * include/freetype/internal/services/svmm.h (FT_Get_MM_Var_Func, - FT_Set_Var_Design_Func): New typedefs. - Update MultiMasters service. - - * include/freetype/internal/tttypes.h - [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include FT_MULTIPLE_MASTERS_H. - (GX_Blend) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New typedef. - (TT_Face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New members `doblend' - and `blend'. - - * include/freetype/tttags.h (TTAG_avar, TTAG_cvar, TTAG_gvar): New - macros. - - * include/freetype/internal/fttrace.h: Add `ttgxvar'. - - * src/base/ftmm.c (FT_Get_MM_Var, FT_Set_Var_Design_Coordinates, - FT_Set_Var_Blend_Coordinates): New functions. - - * src/sfnt/sfobjs.c (sfnt_load_face) - [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Set FT_FACE_FLAG_MULTIPLE_MASTERS - flag for GX var fonts. - - * src/truetype/ttgxvar.c, src/truetype/ttgxvar.h: New files. - - * src/truetype/truetype.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - ttgxvar.c. - - * src/truetype/ttdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - FT_MULTIPLE_MASTERS_H, FT_SERVICE_MULTIPLE_MASTERS_H, and ttgxvar.h. - (tt_service_gx_multi_masters) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: - New service. - (tt_services) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated. - - * src/truetype/ttgload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - ttgxvar.h. - (TT_Process_Simple_Glyph, load_truetype_glyph) - [TT_CONFIG_OPTION_GX_VAR_SUPPORT] :Support GX var fonts. - - * src/truetype/ttobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - ttgxvar.h. - (tt_done_face) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call - tt_done_blend. - - * src/truetype/ttpload.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - ttgxvar.h. - (tt_face_load_cvt) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Call - tt_face_vary_cvt. - - * src/truetype/rules.mk (TT_DRV_SRC): Add ttgxvar.c. - - * src/type1/t1driver.c (t1_service_multi_masters): Add T1_Get_MM_Var - and T1_Set_Var_Design. - - * src/type1/t1load.c (FT_INT_TO_FIXED, FT_FIXED_TO_INT): New macros. - (T1_Get_MM_Var, T1_Set_Var_Design): New functions. - - * src/type1/t1load.h (T1_Get_MM_Var, T1_Set_Var_Design): New - function declarations. - -2004-04-23 Werner Lemberg - - * include/freetype/ftcache.h (FT_Get_CharMap_Index): Rename - declaration and move to... - * include/freetype/freetype.h (FT_Get_Charmap_Index): Here. - (FREETYPE_PATCH): Set to 9. - - * src/base/ftobjs.c (FT_Get_Charmap_Index): New function. - - * builds/unix/configure.ac (version_info): Set to 9:7:3. - * builds/unix/configure: Updated. - - * builds/win32/visualc/index.html, - builds/win32/visualc/freetype.dsp, - builds/win32/visualc/freetype.vcproj: s/218/219/. - - * builds/freetype.mk (refdoc), README, Jamfile (RefDoc): - s/2.1.8/2.1.9/. - - * docs/CHANGES, docs/VERSION.DLL: Updated. - -2004-04-21 Werner Lemberg - - * src/cff/cffparse.c (cff_parser_run), src/psaux/psobjs.c - (ps_parser_load_field): Use FT_CHAR_BIT. - -2004-04-21 David Turner - - - * Version 2.1.8 released. - ========================= - - - * src/cff/cffobjs.c (cff_face_init): Fix a small memory leak. - - * src/autofit/afloader.c (af_loader_load_g), src/autofit/afmodule.c - (af_autofitter_load_glyph), src/base/ftdebug.c (FT_Trace_Get_Name): - Remove compiler warnings. - - * src/autofit/aftypes.h: Undefine AF_DEBUG. - - * src/lzw/zopen.c (rmask), src/pcf/pcfdrivr.c (pcf_service_bdf, - pcf_services), src/pcf/pcfread.c (tableNames), src/psaux/psobjs.c - (ft_char_table), src/type42/t42drivr.c (t42_service_glyph_dict, - t42_service_ps_font_name): Decorate data arrays with `const' to - avoid populating the `.data' segment. - - * src/lzw/Jamfile: New file. - -2004-04-20 Werner Lemberg - - * src/psaux/psobjs.c (T1Radix): Renamed to... - (ps_radix): This. - Update current cursor position. - - * docs/CHANGES: Updated. - -2004-04-18 Werner Lemberg - - * src/truetype/ttgload.c, src/truetype/ttgload.h (TT_Load_Glyph), - src/ttdriver.c (Load_Glyph): Change type of `glyph_index' to - FT_UInt. From Lex Warners. - -2004-04-17 Chisato Yamauchi - - * src/sfnt/ttload.c (tt_face_load_sfnt_header): Really fix change - from 2004-03-19. - - * src/bdf/bdfdrivr.c (BDF_Face_Init): Use `ft_strlen'. - - * src/pcf/pcfutil.c, src/pcf/pcfutil.h: Decorate functions with - `static'. - Remove unused function `RepadBitmap'. - * src/pcf/pcfdrivr.c: Don't include pcfutil.h. - -2004-04-16 Werner Lemberg - - * builds/unix/freetype-config.in (usage): Fix and improve usage - information. - -2004-04-15 Werner Lemberg - - * builds/unix/ftconfig.in, builds/vms/ftconfig.h: Define - FT_CHAR_BIT. - - * src/base/ftobjs.c (FT_Load_Glyph): Don't apply autohinting if - glyph is vertically distorted or mirrored. - - * src/cff/cffgload.c (cff_slot_load): Handle zero `size' properly - for embedded bitmaps. - - * docs/CHANGES: Updated. - -2004-04-15 bytesoftware - - * include/freetype/config/ftconfig.h, src/base/ftstream.c - (FT_Stream_ReadFields): More fixes using FT_CHAR_BIT. - -2004-04-14 Werner Lemberg - - * include/freetype/config/ftconfig.h (FT_CHAR_BIT): New macro. - -2004-04-14 Alex Strelnikov - - * src/cache/ftcsbits.c (ftc_snode_load): Initialize `*asize' in case - of error. - -2004-04-14 Werner Lemberg - - * src/base/ftmac.c [__GNUC__]: Define OS_INLINE. - * builds/unix/configure.ac: Don't try to remove `-ansi' compilation - switch on the Mac. - - * builds/unix/ltmain.sh: Regenerated with `libtoolize --force - --copy' from libtool 1.5.6. - * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from - automake 1.8a. - * builds/unix/configure: Regenerated with autoconf 2.59a. - -2004-04-13 Werner Lemberg - - * include/freetype/config/ftconfig.h: Use CHAR_BIT to define - size of FT_SIZEOF_xxx. - -2004-04-12 Chisato Yamauchi - - * include/freetype/internal/sfnt.h (TT_Find_SBit_Image_Func, - TT_Load_SBit_Metrics_Func): New typedefs. - (SFNT_Interface): Add find_sbit_image and load_sbit_metrics. - - * src/sfnt/sfdriver.c (sfnt_interface): Updated. - * src/sfnt/ttsbit.h (tt_find_sbit_image, tt_load_sbit_metrics): New - declarations. - * src/sfnt/ttsbit.c (find_sbit_image): Renamed to... - (tt_find_sbit_image): This. - Updated all callers. - (load_sbit_metrics): Renamed to... - (tt_load_sbit_metrics): This. - Updated all callers. - -2004-04-12 Werner Lemberg - - * configure: Accept makepp also. - - * builds/unix/detect.mk: Use proper path to unix-def.mk. - * builds/unix/unix-def.in (BUILD_DIR, PLATFORM): Remove. - * builds/unix/unix.mk (BUILD_DIR, PLATFORM): Define. - Use BUILD_DIR. - - * docs/INSTALL, docs/INSTALL.GNU, docs/INSTALL.UNX: Update - documentation on makepp. - -2004-04-11 Werner Lemberg - - * src/lzw/zopen.c: Don't include sys/param.h and sys/stat.h. - -2004-04-10 Werner Lemberg - - * src/lzw/ftlzw.c: Include zopen.h dependent on - FT_CONFIG_OPTION_USE_LZW. - - * src/base/ftdebug.c: s/index/idx/ to avoid compiler warnings. - -2004-04-02 Werner Lemberg - - * builds/unix/ltmain.sh: Regenerated with `libtoolize --force - --copy' from libtool 1.5.2. - * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from - automake 1.8a. - * builds/unix/configure: Regenerated with autoconf 2.59a. - -2004-04-01 Werner Lemberg - - * builds/unix/ft-munmap.m4 (FT_MUNMAP_PARAM): Fix arguments of - AC_COMPILE_IFELSE. - * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from - automake 1.8a. - * builds/unix/configure: Regenerated with autoconf 2.59a. - * builds/unix/config.guess, builds/unix/config.sub: Updated from - `config' CVS module at subversions.gnu.org. - * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from - `texinfo' CVS module at subversions.gnu.org. - * builds/freetype.mk (refdoc): Updated. - -2004-03-31 Werner Lemberg - - Handle broken FNT files which don't have a trailing NULL byte - in the face name string. - - * src/winfonts/winfnt.h (FNT_FontRec): New member `family_name'. - * src/winfonts/winfnt.c (fnt_font_done): Free font->family_name. - (FNT_Face_Init): Append a final zero byte to the font face name. - -2004-03-30 Werner Lemberg - - * src/sfnt/ttload.c (tt_face_load_sfnt_header): Fix change from - 2004-03-19. - -2004-03-27 Werner Lemberg - - * src/base/descrip.mms (OBJS): Add ftbbox.obj. - -2004-03-26 George Williams - - Add vertical phantom points. - - * include/freetype/internal/tttypes.h (TT_LoaderRec): Add - `top_bearing', `vadvance', `pp3', and `pp4'. - - * src/autofit/afloader.c (af_loader_load_g): Handle two more points. - - * src/autohint/ahhint.c (ah_hinter_load): Handle two more points. - * src/truetype/ttgload.c (Get_VMetrics): New function. - (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more - points. - (load_truetype_glyph): Use Get_VMetrics. - Handle two more points. - (compute_glyph_metrics): Thanks to vertical phantom points we now - can always compute `advance_height' and `top_bearing'. - * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom - points. - - - * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of - `news'. - -2004-03-21 Werner Lemberg - - * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Fix left side bearing. - -2004-03-20 Steve Hartwell - - * src/cache/ftcmru.c (FTC_MruList_RemoveSelection): Handle a NULL - value for `selection' as `select all'. - -2004-03-19 Steve Hartwell - - * src/sfnt/ttload.c (tt_face_load_sfnt_header): Reject face_index - values > 0 if loading non-TTC fonts. - - * src/base/ftmac.c (open_face_from_buffer): Set positive face_index - to zero before calling FT_Open_Face. - - * docs/CHANGES: Updated. - -2004-03-04 Werner Lemberg - - * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp, - builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h: - Add LZW module. - - * Jamfile.in: Removed. - - * docs/CHANGES: Updated. - - * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/, - s/ABS/FT_ABS/. Updated all callers. - - * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c - (PCF_Face_Init): Use FT_ERROR_BASE. - -2004-03-04 Albert Chin - - Add support for PCF fonts compressed with LZW (extension .pcf.Z, - created with `compress'). - - * include/freetype/config/ftoption.h, devel/ftoption.h - (FT_CONFIG_OPTION_USE_LZW): New macro. - - * include/freetype/ftlzw.h: New file. - * include/freetype/config/ftheader.h (FT_LZW_H): New macro for - ftlzw.h. - - * src/lzw/*: New files. - - * src/pcf/pcfdrivr.c: Include FT_LZW_H. - (PCF_Face_Init): Try LZW also. - - * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate. - Beautify. - -2004-03-03 Werner Lemberg - - * src/pshinter/pshalgo.c (psh_hint_table_init): Simplify code. - -2004-03-02 Werner Lemberg - - Add embedded bitmap support to CFF driver. - - * src/cff/cffobjs.h (CFF_SizeRec): New structure. - - * src/cff/cffgload.c (cff_builder_init): Updated. - (cff_slot_load): Updated. - [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Load sbit. - - * src/cff/cffobjs.c (sbit_size_reset) - [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New function. - (cff_size_get_globals_funcs, cff_size_done, cff_size_init): Updated. - (cff_size_reset): Updated. - [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Call sbit_size_reset. - - * src/cff/cffdrivr.c (Load_Glyph): Updated. - (cff_driver_class): Use CFF_SizeRec. - - * docs/CHANGES: Updated. - -2004-03-01 Werner Lemberg - - * src/pshinter/pshglob.c (psh_globals_scale_widths): Don't use - FT_RoundFix but FT_PIX_ROUND. - (psh_blues_snap_stem): Don't use blue_shift but blue_threshold. - - * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD_MAXIMUM): New macro. - (psh_glyph_find_string_points): Use PSH_STRONG_THRESHOLD_MAXIMUM. - (psh_glyph_find_blue_points): New function. Needed for fonts like - p052003l.pfb (URW Palladio L Roman) which have flex curves at the - base line within blue zones, but the flex curves aren't covered by - hints. - (ps_hints_apply): Use psh_glyph_find_blue_points. - -2004-02-27 Garrick Meeker - - * builds/unix/configure.ac: Fix compiler flags for - `--with-old-mac-fonts'. - * builds/unix/configure: Regenerated. - - * src/base/ftmac.c: s/TARGET_API_MAC_CARBON/!TARGET_API_MAC_OS8/. - (FT_New_Face_From_Resource): New function. - (FT_New_Face): Use FT_New_Face_From_Resource. - (FT_New_Face_From_FSSpec): Use FT_New_Face_From_Resource. - [__MWERKS__]: Don't include FSp_fopen.h. - -2004-02-26 Werner Lemberg - - * src/pshinter/pshglob.c (psh_globals_new): Fix value of - `dim->stdw.count'. - Don't assign default values to blue scale and blue shift. - -2004-02-25 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-02-25 Garrick Meeker - Steve Hartwell - - Improve MacOS fond support. Provide a new API - `FT_New_Face_From_FSSpec' similar to `FT_New_Face'. - - * src/base/ftmac.c [__MWERKS__]: Include FSp_fpopen.h. - STREAM_FILE [__MWERKS__]: New macro. - (ft_FSp_stream_close, ft_FSp_stream_io) [__MWERKS__]: New functions. - (file_spec_from_path) [__MWERKS__]: Updated #if statement. - (get_file_type, make_lwfn_spec): Use `const' for argument. - (is_dfont) [TARGET_API_MAC_CARBON]: Removed. - (count_face_sfnt, count_faces): New functions. - (parse_fond): Do some range checking. - (read_lwfn): Change type of second argument. - No longer call FSpOpenResFile. - (OpenFileAsResource): New function. - (FT_New_Face_From_LWFN): Use `const' for second argument. - Use OpenFileAsResource. - (FT_New_Face_From_Suitcase): Change type of second argument. - No longer call FSpOpenResFile. - Loop over all resource indices. - (FT_New_Face_From_dfont) [TARGET_API_MAC_CARBON]: Removed. - (FT_GetFile_From_Mac_Name): Use `const' for first argument. - (ResourceForkSize): Removed. - (FT_New_Face): Updated to use new functions. - (FT_New_Face_From_FSSpec): New function. - - * include/freetype/ftmac.h: Updated. - -2004-02-24 Malcolm Taylor - - * src/autohint/ahhint.c (ah_hinter_load) : - Handle case where outline->num_vedges is zero while computing hinted - metrics. - -2004-02-24 Gordon Childs - - * src/cff/cffcmap.c (cff_cmap_unicode_init): Provide correct value - for `count'. - -2004-02-24 Werner Lemberg - - * include/freetype/t1tables.h (PS_PrivateRec): Add - `expansion_factor'. - - * src/pshinter/pshglob (psh_blues_scale_zones): Fix computation - of blues->no_overshoots -- `blues_scale' is stored with a - magnification of 1000, and `scale' returns fractional pixels. - - * src/type1/t1load.c (T1_Open_Face): Initialize `blue_shift', - `blue_fuzz', `expansion_factor', and `blue_scale' according to the - Type 1 specification. - - * src/type1/t1tokens.h: Handle `ExpansionFactor'. - - * docs/CHANGES: Updated. - -2004-02-24 Masatake YAMATO - - Provide generic access to MacOS resource forks. - - * src/base/ftrfork.c, include/freetype/internal/ftrfork.h: New - files. - - * src/base/ftobjs.c: Include FT_INTERNAL_RFORK_H. - (Mac_Read_POST_Resource, Mac_Read_sfnt_Resource): Remove arguments - `resource_listoffset' and `resource_data' and adapt code - accordingly. These values are calculated outside of the function - now. - Add new argument `offsets'. - (IsMacResource): Use `FT_Raccess_Get_HeaderInfo' and - `FT_Raccess_Get_DataOffsets'. - (load_face_in_embedded_rfork): New function. - (load_mac_face): Use load_face_in_embedded_rfork. - (ft_input_stream_new): Renamed to... - (FT_Stream_New): This. Use FT_BASE_DEF. Updated all callers. - (ft_input_stream_free): Renamed to... - (FT_Stream_Free): This. Use FT_BASE_DEF. Updated all callers. - - * src/base/ftbase.c: Include ftrfork.c. - - * src/base/rules.mk (BASE_SRC), src/base/Jamfile: Updated. - - * include/freetype/internal/internal.h (FT_INTERNAL_RFORK_H): - New macro. - - * include/freetype/internal/fttrace.h: Added `rfork' as a new - trace definition. - - * include/freetype/internal/ftstream.h: Declare FT_Stream_New and - FT_Stream_Free. - - * include/freetype/config/ftoption.h, devel/ftoption.h - (FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK): New option. - - * include/freetype/config/ftstdlib.h (ft_strrchr): New macro. - -2004-02-23 Werner Lemberg - - * docs/CHANGES: Updated. - - * include/freetype/internal/ftdebug.h: Include FT_FREETYPE_H. - -2004-02-23 Masatake YAMATO - - Provide a simple API to control FreeType's tracing levels. - - * include/freetype/internal/ftdebug.h (FT_Trace_Get_Count, - FT_Trace_Get_Name): New declarations. - - * src/base/ftdebug.c (FT_Trace_Get_Count, FT_Trace_Get_Name): New - functions. - -2004-02-23 David Turner - - * src/autofit/afhints.c, src/autofit/afhints.h, - src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: Grave - bugs have been fixed. The auto-fitter works, doesn't crash, but - still produces unexpected results... - -2004-02-21 Werner Lemberg - - * src/pshinter/pshalgo.c (PSH_STRONG_THRESHOLD): Changed to hold - the accepted shift for strong points in fractional pixels (which - is a heuristic value). - (psh_glyph_find_strong_points): Compute threshold for - psh_hint_table_find_strong_points. - (psh_hint_table_find_strong_point): Add parameter to pass threshold. - -2004-02-20 Werner Lemberg - - * src/pshinter/pshrec.c (ps_mask_table_set_bits): Don't call - ps_mask_table_alloc but ps_mask_table_last. - (ps_hints_t2mask): Use correct position and number for vertical - and horizontal hinter mask bits. - - * docs/CHANGES: Updated. - -2004-02-19 Werner Lemberg - - * src/base/ftstroke.c (FT_Glyph_StrokeBorder): Fix enum handling. - * src/cff/cffdrivr.c (cff_get_cmap_info): Remove compiler warning. - -2004-02-18 Werner Lemberg - - * include/freetype/freetype.h: Document FT_LOAD_TARGET_XXX properly. - - * src/base/ftglyph.c (ft_bitmap_glyph_class, - ft_outline_glyph_class): Tag with FT_CALLBACK_TABLE_DEF. - - * src/smooth/ftsmooth.c (ft_smooth_render): Handle - FT_RENDER_MODE_LIGHT. - -2004-02-17 Werner Lemberg - - Fix callback functions in cache module. - - * src/cache/ftccback.h: New file for callback declarations. - - * src/cache/ftcbasic.c (ftc_basic_family_compare, - ftc_basic_family_init, ftc_basic_family_get_count, - ftc_basic_family_load_bitmap, ftc_basic_family_load_glyph, - ftc_basic_gnode_compare_faceid): Use FT_CALLBACK_DEF. - (ftc_basic_image_family_class, ftc_basic_image_cache_class, - ftc_basic_sbit_family_class, ftc_basic_sbit_cache_class): - Use FT_CALLBACK_TABLE_DEF and local wrapper functions. - - * src/cache/ftccache.c: Include ftccback.h. - (ftc_cache_init, ftc_cache_done): New wrapper functions which use - FT_LOCAL_DEF. - - * src/cache/ftccmap.c: Include ftccback.h. - (ftc_cmap_cache_class): Use local wrapper functions. - - * src/cache/ftcglyph.c: Include ftccback.h. - (ftc_gnode_compare, ftc_gcache_init, ftc_gcache_done): New wrapper - functions which use FT_LOCAL_DEF. - - * src/cache/ftcimage.c: Include ftccback.h. - (ftc_inode_free, ftc_inode_new, ftc_inode_weight): New wrapper - functions which use FT_LOCAL_DEF. - - * src/cache/ftcmanag.c (ftc_size_list_class, ftc_face_list_class): - Use FT_CALLBACK_TABLE_DEF. - - * src/cache;/ftcsbits.c: Include ftccback.h. - (ftc_snode_free, ftc_snode_new, ftc_snode_weight, - ftc_snode_compare): New wrapper functions which use FT_LOCAL_DEF. - - * src/cache/rules.mk (CACHE_DRV_H): Add ftccback.h. - -2004-02-17 Masatake YAMATO - - * include/freetype/ftmac.h (FT_GetFile_From_Mac_Name): Fix a typo - (FT_EXPORT_DEF -> FT_EXPORT). - - * include/freetype/ftxf86.h (FT_Get_X11_Font_Format): Ditto. - -2004-02-15 Werner Lemberg - - * src/base/ftobjs.c (FT_Set_Char_Size): Fix typo. - -2004-02-14 Masatake YAMATO - - * builds/unix/ftsystem.c: Include errno.h. - (ft_close_stream): Renamed to... - (ft_close_stream_by_munmap): This. - (ft_close_stream_by_free): New function. - (FT_Stream_Open): Use fallback method if mmap fails. - Use proper function for closing the stream. - -2004-02-14 Werner Lemberg - - * src/type1/t1load.c (parse_dict): Initialize `start_binary'. - -2004-02-13 Robert Etheridge - - * src/type42/t42objs.c (T42_Face_Init), src/type1/t1objs.c - (T1_Face_Init), src/cid/cidobjs.c (cid_face_init): Fix computation - of underline_position and underline_thickness. - -2004-02-12 Werner Lemberg - - * src/base/ftobjs.c (FT_Set_Char_Size): Return immediately if - ppem values don't change. Suggested by Graham Asher. - -2004-02-11 Werner Lemberg - - * src/cid/cidload.c (cid_face_open): Always allocate - face->cid_stream so that we can deallocate it safely. - -2004-02-10 Werner Lemberg - - Make the PS parser more tolerant w.r.t. non-standard font data. In - general, an error is only reported in case of a syntax error; a - wrong type is now simply ignored (if possible). To be independent - of the order of various MM-specific keywords, the parse_shared_dict - routine has been removed -- the PS parser is now capable to skip - this data. It no longer fails on parsing e.g. - - dup /WeightVector exch def - - Since the token following /WeightVector isn't `[' (starting an - array) it is simply ignored. - - * include/freetype/fterrdef.h: Define `FT_Err_Ignore' (0xA2) as a - new internal error value. - - * src/type1/t1load.c (parse_blend_axis_types, - parse_blend_design_positions, parse_blend_design_map): Return - T1_Err_Ignore if no proper array is following the keyword. - (parse_weight_vector): Use T1_ToTokenArray, initializing `blend' - structure, if necessary. - Return T1_Err_Ignore if no proper array is following the keyword. - (parse_shared_dict): Removed. - (parse_encoding): Set parser->root.error to return T1_Err_Ignore - if no result can be obtained. - Check for errors before accessing `elements' array. - (t1_keywords): Remove /shareddict. - (parse_dict): Reset error if t1_load_keyword returns T1_Err_Ignore. - Set keyword_flag only in case of success. - Check error code if skipping an unrecognized token. - (T1_Open_Face) [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: Call T1_Done_Blend - if blend commands haven't set up a proper MM font. - - * src/psaux/psobjs.c (ps_parser_load_field_table): Remove special - code for synthetic fonts. - Return PSaux_Err_Ignore if no proper value has been found. - -2004-02-09 Werner Lemberg - - * src/cff/cffgload.c (cff_decoder_parse_charstrings) - : Preserve glyph width before calling - cff_operator_seac. - -2004-02-09 Martin Muskens - - * src/cff/cffgload.c (cff_decoder_parse_charstrings): Handle special - first argument for `hintmask' and `cntrmask' operators also. - -2004-02-08 Werner Lemberg - - * builds/unix/configure.in: Call AC_SUBST for `enable_shared', - `hardcode_libdir_flag_spec', and `wl'. - * builds/unix/configure: Regenerated. - - * builds/unix/freetype-config.in: Make --prefix and --exec-prefix - actually work. - Report a proper --rpath (or -R) value for --libs argument if a - shared library has been built. - - * docs/CHANGES: Updated. - -2004-02-07 Keith Packard - - * src/bdf/bdfdrivr.c (BDF_Face_Init, BDF_Set_Pixel_Size): Fix - computation of various vertical and horizontal metric values. - - * src/pcfdrivr.c (PCF_Set_Pixel_Size), src/pcfread (pcf_load_font): - Ditto. - -2004-02-07 Werner Lemberg - - * builds/win32/visualc/index.html, - builds/win32/visualc/freetype.dsp, - builds/win32/visualc/freetype.dsw, docs/CHANGES: Updated. - -2004-02-07 Vitaliy Pasternak - - * builds/win32/visualc/freetype.sln, - builds/win32/visualc/freetype.vcproj: New files for VS.NET 2003. - -2004-02-03 Werner Lemberg - - * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): - Initialize `node'. - * src/type1/t1load.c (parse_dict): Initialize `have_integer'. - -2004-02-02 Werner Lemberg - - * src/type1/t1load.c (parse_dict): Handle `RD' and `-|' commands - outside of /Subrs or /CharStrings. This can happen if there is - additional code manipulating those two arrays so that FreeType - doesn't recognize them properly. - (T1_Open_Face): Improve an error message. - -2004-02-01 Werner Lemberg - - * src/type1/t1load.c (parse_charstrings): Exit immediately if - there are no elements in /CharStrings. This is needed for fonts - like Optima-Oblique which not only define /CharStrings but access it - also. - -2004-02-01 David Turner - - * src/sfnt/Jamfile: Removing `ttcmap' from the list of sources. - - * include/freetype/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) - : Provide macro version which doesn't use inline code. - * include/freetype/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP) - : Ditto. - Use FTC_MRULIST_LOOKUP_CMP. - * include/freetype/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): New - macro. - (FTC_MRULIST_LOOKUP): Use it. - - * src/cache/Jamfile (_sources), src/cache/descrip.mms: Updated. - * src/cache/ftcbasic.c: Fix compiler warnings. - * src/cache/ftcmanag.c (FTC_Manager_LookupSize, - FTC_Manager_LookupFace) : Use FTC_MRULIST_LOOKUP_CMP. - * src/cache/ftcmru.c (FTC_MruList_Find): Fix a bug (found after - heavy testing). - - * Jamfile: Updating `refdoc' target, and adding `autohint' to the - list of modules to build. Both the autohinter and autofitter will - be built by default. But which one will be used is determined by - the content of `ftmodule.h'. - - * src/autofit/*: Many updates, but the code is still buggy... - -2004-01-31 Werner Lemberg - - * src/cff/cffgload.c (cff_operator_seac): Fix magnitude of - accent offset. - Update code similarly to the seac support for Type 1 fonts. - (cff_decoder_parse_charstrings) : Fix magnitude - of accent offset. - Don't hint glyphs twice if seac is emulated. - : Assign correct point tags. - * docs/CHANGES: Updated. - -2004-01-30 Werner Lemberg - - * src/type1/t1parse.c (T1_Get_Private_Dict): Use FT_MEM_MOVE, not - FT_MEM_COPY, for copying the private dict. - - * src/type1/t1load.c (parse_subrs): Assign number of subrs only - in first run. - (parse_charstrings): Parse /CharStrings in second run without - assigning values. - (parse_dict): Skip all /CharStrings arrays but the first. We need - this for non-standard fonts like `Optima' which have different - outlines depending on the resolution. Note that there is no - guarantee that we get fitting /Subrs and /CharStrings arrays; this - can only be done by a real PS interpreter. - -2004-01-29 Antoine Leca - - * builds/win32/visualc/index.html: New file, giving detailed - explanations about forcing CR+LF line endings for the VC++ project - files. - -2004-01-22 Garrick Meeker - - * src/cff/cffload.c (cff_subfont_load): Initialize `dict'. - -2004-01-22 Werner Lemberg - - Add support for the hexadecimal representation of binary data - started with `StartData' in CID-keyed Type 1 fonts. - - * include/freetype/internal/t1types.h (CID_FaceRec): Add new - members `binary_data' and `cid_stream'. - - * src/cid/cidload.c (cid_read_subrs): Use `face->cid_stream'. - (cid_hex_to_binary): New auxiliary function. - (cid_face_open): Add new argument `face_index' to return quickly - if less than zero. Updated all callers. - Call `cid_hex_to_binary', then open and assign memory stream to - `face->cid_stream' if `parser->binary_length' is non-zero. - * src/cid/cidload.h: Updated. - - * src/cid/cidobjs.c (cid_face_done): Free `binary_data' and - `cid_stream'. - - * src/cid/cidparse.c (cid_parser_new): Check arguments to - `StartData' and set parser->binary_length accordingly. - * src/cid/cidparse.h (CID_Parser): New member `binary_length'. - - * src/cid/cidgload.c (cid_load_glyph): Use `face->cid_stream'. - - * docs/CHANGES: Updated. - -2004-01-21 Werner Lemberg - - include/freetype/config/ftstdlib.h (ft_atoi): Replaced with... - (ft_atol): This. - * src/base/ftdbgmem.c: s/atol/ft_atol/. - * src/type42/t42drivr.c: s/ft_atoi/ft_atol/. - -2004-01-20 Masatake YAMATO - - * include/freetype/ftcache.h: Delete duplicated definition of - FTC_FaceID. - - * src/cff/cffdrivr.c (cff_get_cmap_info): Call sfnt module's TT CMap - Info service function if the cmap comes from sfnt. Return 0 if the - cmap is sythesized in cff module. - -2004-01-20 David Turner - - * src/cache/ftcmanag.c (ftc_size_node_compare): Call - FT_Activate_Size. - -2004-01-20 Werner Lemberg - - * src/type1/t1parse.c (T1_Get_Private_Dict): Skip exactly one - CR, LF, or CR/LF after `eexec'. - -2004-01-18 David Turner - - * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Remove compiler - warning. - - * src/tools/docmaker/*: Updating beautifier tool. - -2004-01-15 David Turner - - * src/base/ftoutln.c (ft_orientation_extremum_compute): Fix - infinite loop bug. - - * include/freetype/ftstroke.h: Include FT_GLYPH_H. - (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_Glyph_StrokeBorder): New - declarations. - - * src/base/ftstroke.c: Include FT_INTERNAL_OBJECTS_H. - (FT_Outline_GetOutsideBorder): Inverse result. - (FT_Stroker_Rewind, FT_Glyph_Stroke, FT_GlyphStrokeBorder): New - functions. - (FT_Stroker_EndSubPath): Close path if needed. - (FT_Stroker_Set, FT_Stroker_ParseOutline): Use FT_Stroker_Rewind. - - * include/freetype/cache/ftcmanag.h (FTC_ScalerRec, - FTC_Manager_LookupSize): Moved to... - * include/freetype/ftcache.h (FTC_ScalerRec, - FTC_Manager_LookupSize): Here. - - * src/tools/docmaker/docbeauty.py: New file to beautify the - documentation comments (e.g., to convert them to single block border - mode). - * src/tools/docmaker/docmaker.py (file_exists, make_file_list): - Moved to... - * src/tools/docmaker/utils.py (file_exists, make_file_list): Here. - -2004-01-14 David Turner - - * include/freetype/internal/ftmemory.h (FT_ARRAY_COPY, - FT_ARRAY_MOVE): New macros to make copying arrays easier. - Updated all relevant code to use them. - -2004-01-14 Werner Lemberg - - * src/cff/cffload.c (cff_font_load): Load charstrings_index earlier. - Use number of charstrings as argument to CFF_Load_FD_Select (as - documented in the CFF specs). - -2004-01-13 Graham Asher - - * src/pshinter/pshalgo.c (psh_glyph_init): Move assignment of - `glyph->memory' up to free arrays properly in case of failure. - -2004-01-10 Masatake YAMATO - - Make `FT_Get_CMap_Language_ID' work with CFF. Bug reported by - Steve Hartwell . - - * src/cff/cffdrivr.c: Include FT_SERVICE_TT_CMAP_H. - (cff_services): Added an entry for FT_SERVICE_ID_TT_CMAP. - (cff_get_cmap_info): New function. - (cff_service_get_cmap_info) New entry for cff_services. - - * src/sfnt/ttcmap0.c: Exit loop after a format match has been found. - Suggested by Steve Hartwell . - -2004-01-03 Masatake YAMATO - - * src/base/ftobjs.c (destroy_charmaps): New function. - (destroy_face, open_face): Use `destroy_charmaps'. - -2004-01-01 Werner Lemberg - - * docs/CHANGES: Updated. - -2004-01-01 Michael Jansson - - * src/winfonts/winfnt.c (FNT_Size_Set_Pixels): Fix sign of - size->metrics.descender. - -2003-12-31 Wolfgang Domröse - - * src/cff/cffgload.c (cff_decoder_parse_charstrings) - [FT_DEBUG_LEVEL_TRACE]: Use `%ld' in FT_TRACE4. - : Change type of dx and dy to FT_Pos and remove - cast for accessing arguments. - -2003-12-31 Werner Lemberg - - * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Revert previous - change. It's not necessary. - -2003-12-29 Smith Charles - - * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle `repeated - flags set' correctly. - -2003-12-29 Werner Lemberg - - * src/cff/cffobjs.c (cff_face_init): Fix memory leak by deallocating - `full' and `weight' properly. - * src/cff/cffgload.c (cff_decoder_parse_charstrings) - [FT_DEBUG_LEVEL_TRACE]: Use `0x' as prefix for - tracing output. - -2003-12-26 Werner Lemberg - - * include/freetype/internal/sfnt.h (TT_Set_SBit_Strike_Func): - Use FT_UInt for ppem values. - * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use FT_UInt for - ppem values. - * src/sfnt/ttsbit.h: Updated. - - * src/base/ftobjs.c (FT_Set_Pixel_Sizes): Don't allow ppem values - larger than -0FFFF. - -2003-12-25 Werner Lemberg - - * src/base/fttrigon.c, src/base/ftgloadr.c: Inlude - FT_INTERNAL_OBJECTS_H. - - * src/base/ftstroke.c (FT_Outline_GetInsideBorder, - FT_Outline_GetOutsideBorder): s/or/o/ to make it compile with - C++ compilers. - - * src/cache/ftcmru.c, include/freetype/cache/ftcmru.h: - s/select/selection/ to avoid compiler warning. - * src/cff/cffload.h: s/select/ftselect/ to avoid potential - compiler warning. - -2003-12-24 Werner Lemberg - - * src/cache/ftcsbits.c (FTC_SNode_Weight): - s/FTC_SBIT_ITEM_PER_NODE/FTC_SBIT_ITEMS_PER_NODE/. - -2003-12-24 David Turner - - * Fixed compilation problems in the cache sub-system. - - * Partial updates to src/autofit. - - * Jamfile (FT2_COMPONENTS): Add autofit module. - -2003-12-23 Werner Lemberg - - * src/cff/cffgload.c (cff_lookup_glyph_by_stdcharcode): Handle - CID-keyed fonts. - -2003-12-23 David Turner - - * include/freetype/internal/ftobjs.h (FT_PAD_FLOOR, FT_PAD_ROUND, - FT_PAD_CEIL, FT_PIX_FLOOR, FT_PIX_ROUND, FT_CEIL): New macros. They - are used to avoid compiler warnings with very pedantic compilers. - Note that `(x) & -64' causes a warning if (x) is not signed. Use - `(x) & ~63' instead! - Updated all related code. - - Add support for extraction of `inside' and `outside' borders. - - * src/base/ftstroke.c (FT_StrokerBorder): New enumeration. - (FT_Outline_GetInsideBorder, FT_Outline_GetOutsideBorder, - FT_Stroker_GetBorderCounts, FT_Stroker_ExportBorder): New functions. - (FT_StrokeBorderRec): New boolean member `valid'. - (ft_stroke_border_get_counts): Updated. - * include/freetype/ftstroke.h: Updated. - -2003-12-22 Werner Lemberg - - * include/freetype/ftwinfnt.h (FT_WinFNT_ID_*): New definitions - to describe the `charset' field in FT_WinFNT_HeaderRec. - * src/winfonts/winfnt.c (FNT_Face_Init): Set encoding to - FT_ENCODING_NONE except for FT_WinFNT_ID_MAC. - - * include/freetype/freetype.h (FT_Encoding): Improve comment, - based on work by Detlef Würkner . - - * docs/CHANGES: Updated. - -2003-12-22 David Turner - - * include/freetype/ftcache.h, - include/freetype/cache/ftcmanag.h, - include/freetype/cache/ftccache.h, - include/freetype/cache/ftcmanag.h, - include/freetype/cache/ftcmru.h (added), - include/freetype/cache/ftlru.h (removed), - include/freetype/cache/ftcsbits.h, - include/freetype/cache/ftcimage.h, - include/freetype/cache/ftcglyph.h, - src/cache/ftcmru.c, - src/cache/ftcmanag.c, - src/cache/ftccache.c, - src/cache/ftcglyph.c, - src/cache/ftcimage.c, - src/cache/ftcsbits.c, - src/cache/ftccmap.c, - src/cache/ftcbasic.c (added), - src/cache/ftclru.c (removed): - - *Complete* rewrite of the cache sub-system to `solve' the - following points: - - - all public APIs have been moved to FT_CACHE_H, everything - under `include/freetype/cache' is only needed by client - applications that want to implement their own caches - - - a new function named FTC_Manager_RemoveFaceID to deal - with the uninstallation of FaceIDs - - - the image and sbit cache are now abstract classes, that - can be extended much more easily by client applications - - - better performance in certain areas. Further optimizations - to come shortly anyway... - - - the FTC_CMapCache_Lookup function has changed its signature, - charmaps can now only be retrieved by index - - - FTC_Manager_Lookup_Face => FTC_Manager_LookupFace - FTC_Manager_Lookup_Size => FTC_Manager_LookupSize (still in - private header for the moment) - -2003-12-21 Werner Lemberg - - * src/type1/t1load.c (parse_dict): Stop parsing if `eexec' keyword - is encountered. - -2003-12-19 Werner Lemberg - - * src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 32. For - example, the Japanese Hiragino font already contains 15 subfonts. - - * src/cff/cffload.c (cff_font_load): Deallocate `sids' array for - CID-keyed fonts. - - * devel/ftoption.h: Define FT_DEBUG_MEMORY. - -2003-12-18 Werner Lemberg - - * include/freetype/ttnameid.h (TT_ADOBE_ID_LATIN_1): New macro. - * src/type1/t1objs.c (T1_Face_Init): Use TT_ADOBE_ID* values. - -2003-12-18 Werner Lemberg - - * src/cff/cfftypes.h (CFF_FontRecDictRec): Change type of - `cid_count' to `FT_ULong'. - - * src/cff/cffgload.c (cff_slot_load): Take care of empty `cids' - array. - - * src/cff/cffload.c (cff_charset_done): Free `cids' array. - (cff_font_load): Create cids array only for CID-keyed fonts which - are subsetted. - - * src/cff/cffobjs.c (cff_face_init): Check the availability of - the PSNames modules for non-pure CFFs also. - Set FT_FACE_FLAG_GLYPH_NAMES for a non-pure CFF also if it isn't - CID-keyed. - - * src/cff/rules.mk (CFF_DRV_H): Add cfftypes.h. - -2003-12-17 Werner Lemberg - - * src/sfnt/sfobjs.c (sfnt_init_face): Don't set - FT_FACE_FLAG_GLYPH_NAMES if the font contains a version 3.0 `post' - table. - - * docs/CHANGES: Updated. - -2003-12-17 Masatake YAMATO - - Add new function FT_Get_CMap_Language_ID to extract the language ID - for TrueType/sfnt fonts. - - * include/freetype/internal/services/svttcmap.h: New file. - * include/freetype/internal/ftserv.h (FT_SERVICE_TT_CMAP_H): Add - svttcmap.h. - - * src/sfnt/sfdriver.c: Include ttcmap0.h. - (tt_service_get_cmap_info): New service. - (sfnt_services): Updated. - - * src/sfnt/ttcmap0.c (tt_cmap*_get_info): New functions. - (tt_cmap*_class_rec): Add tt_cmap*_get_info members. - (tt_get_cmap_info): New function. - * src/sfnt/ttcmap0.h: Include FT_SERVICE_TT_CMAP_H. - (TT_CMap_ClassRec): New field `get_cmap_info'. - (tt_get_cmap_info): New declaration. - - * src/base/ftobjs.c: Include FT_SERVICE_TT_CMAP_H. - (FT_Get_CMap_Language_ID): New function implementation. - * include/freetype/tttables.h (FT_Get_CMap_Language_ID): New - function declaration. - -2003-12-16 Werner Lemberg - - * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h: Removed. Obsolete. - - * include/freetype/internal/sfnt.h (SFNT_Interface): Remove - obsolete fields `load_charmap' and `free_charmap'. - (TT_CharMap_Load_Func, TT_CharMap_Free_Func): Removed. - * src/sfnt/sfnt.c: Don't include ttcmap.c. - * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttcmap.c. - * src/sfnt/ttload.c: Don't include ttcmap.h. - * src/sfnt/sfdriver.c: Don't include ttcmap.h. - (sfnt_interface): Updated. - - * include/freetype/internal/tttypes.h (TT_TableDirRec, - TT_CMapDirRec, TT_CMapDirEntryRec, TT_CMap0, TT_CMap2SubHeaderRec, - TT_CMap2Rec, TT_CMap4Segment, TT_CMap4Rec, TT_CMap6, - TT_CMapGroupRec, TT_CMap8_12Rec, TT_CMap10Rec, TT_CharMap_Func, - TT_CharNext_Func, TT_CMapTableRec, TT_CharMapRec): Removed. - Obsolete. - * src/cff/cffobjs.h (CFF_CharMapRec): Removed. Obsolete. - -2003-12-15 Werner Lemberg - - * docs/CHANGES: Updated. - -2003-12-15 Wolfgang Domröse - - * builds/atari/*: New directory for building FreeType 2 on Atari - with the PureC compiler. - -2003-12-12 Wolfgang Domröse - - * src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Add - cast. - * src/cff/cffdrivr.c (cff_ps_has_glyph_names): Assure that return - value is either 0 or 1. - -2003-12-12 Werner Lemberg - - * src/cff/cffdrivr.c (cff_get_glyph_name): Improve error message. - (cff_get_name_index): Return if no PSNames service is available. - (cff_ps_has_glyph_names): Handle CID-keyed fonts correctly. - * src/cff/cfftypes.h (CFF_CharsetRec): New field `cids', used for - CID-keyed fonts. This is the inverse mapping of `sids'. - * src/cff/cffload.c (cff_charset_load): New argument `invert'. - Initialize charset->cids if `invert' is set. - (cff_font_load): In call to cff_charset_load, set `invert' to true - for CID-keyed fonts. - * src/cff/cffgload.c (cff_slot_load): Handle glyph index as CID - and map it to the real glyph index. - - * docs/CHANGES: Updated. - -2003-12-11 Werner Lemberg - - * src/cff/cffobjs.c (cff_face_init): Don't set - FT_FACE_FLAG_GLYPH_NAMES for CID-keyed fonts. - Don't construct a cmap for CID-keyed fonts. - -2003-12-10 Werner Lemberg - - Use implementation specific SID value 0xFFFF to indicate that - a dictionary element is missing. - - * src/cff/cffload.c (cff_subfont_load): Initialize all fields - which hold SIDs to 0xFFFF. - (cff_index_get_sid_string): Handle SID value 0xFFFF. - Handle case where `psnames' is zero. - (cff_font_load): Updated. - Don't load encoding for CID-keyed CFFs. - - * src/cff/cffobjs.c (cff_face_init): Updated. - Don't check for PSNames module if font is CID-keyed. - Compute style name properly (using the same algorithm as in the - CID driver). - Fix computation of style flags. - - * src/cff/cfftoken.h: Comment out handling of base_font_name. - Rename `postscript' field to `embedded_postscript' - * src/cff/cfftypes.h (CFF_FontRecDictRec): Remove `base_font_name' - and `postscript'. - -2003-12-10 Detlef Würkner - - * src/pcf/pcfdrivr.c (pcf_get_charset_id): New function (a clone - of the similar BDF function). - (pcf_service_bdf): Use it. - -2003-12-09 Werner Lemberg - - * src/sfnt/sfobjs.c (sfnt_load_face): Set FT_FACE_FLAG_GLYPH_NAMES - only if a `post' table is present. - -2003-12-09 George Williams - - * src/base/ftobjs.c (load_mac_face): Recent versions of Linux - support Mac's HFS+ file system, thus enable code to read /rsrc on - non-Macintosh platforms also. - -2003-12-08 Werner Lemberg - - * include/freetype/internal/psaux.h (PS_TableRec): Change type - of `lengths' to FT_PtrDist. - (T1_DecoderRec): Change type of `subrs_len' to FT_PtrDist. - * include/freetype/internal/t1types.h (T1_FontRec): Change type - of `subrs_len' and `charstrings_len' to FT_PtrDist. - - * src/base/ftobjs.c (Mac_Read_POST_Resource): Replace `junk' - variable with better solution. - (IsMacResource): Remove unused variable `map_len'. - Replace `junk' variable with better solution. - (FT_Open_Face) [!FT_MACINTOSH]: Add conditional - FT_CONFIG_OPTION_MAC_FONTS. - -2003-12-08 Wolfgang Domröse - - * src/autohint/ahhint.c (ah_hinter_hint_edges, - ah_hinter_align_strong_points): Add some casts. - - * src/base/ftoutln.c (FT_OrientationExtremumRec): Change type - of `pos' to FT_Long. - - * src/base/ftobjs.c (Mac_Read_POST_Resource, - Mac_Read_sfnt_Resource): Change type of `len' to FT_Long. - - * src/type42/t42parse.c (t42_parse_dict): Add cast for `n_keywords'. - -2003-12-07 Werner Lemberg - - * docs/raster.txt: New file, taken from FreeType 1 and completely - revised. - -2003-12-04 Masatake YAMATO - - * src/type1/t1driver.c (Get_Interface): Remove FT_UNUSED for - t1_interface. t1_interface is used. - -2003-11-27 David Turner - - * src/pfr/pfrdrivr.c (pfr_get_metrics): Revert incorrect change of - 2003-11-23: For PFR fonts, metrics->x_scale and metrics->y_scale are - the scaling values for outline units, not for metric units. - -2003-11-25 Werner Lemberg - - * src/base/ftcalc.c, include/freetype/internal/ftcalc.h - (FT_MulDiv_No_Round): Surround code with `#ifdef - TT_CONFIG_OPTION_BYTECODE_INTERPRETER ... #endif'. - -2003-11-23 Werner Lemberg - - * src/base/ftcalc.c (FT_MulDiv_No_Round): New function (32 and - 64 bit version). - * include/freetype/internal/ftcalc.h: Updated. - - * src/truetype/ttinterp.c (TT_MULDIV_NO_ROUND): New macro. - (TT_INT64): Removed. - (DO_DIV): Use TT_MULDIV_NO_ROUND. - - * src/pfr/pfrdrivr.c (pfr_get_metrics): Directly use - metrics->x_scale and metrics->y_scale. - -2003-11-22 Rogier van Dalen - - * src/truetype/ttinterp.c (CUR_Func_move_orig): New macro. - (Direct_Move_Orig, Direct_Move_Orig_X, Direct_Move_Orig_Y): New - functions. Similar to Direct_Move, Direct_Move_X, and - Direct_Move_Y but without touching. - (Compute_Funcs): Use new functions. - - (Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid, - Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, - Round_Super_45): Fix rounding of value zero. - - (DO_DIV): Don't use TT_MULDIV. - - (Ins_SHC): This instruction actually touches the points. - (Ins_MSIRP): Fix undocumented behaviour. - - * src/truetype/ttinterp.h (TT_ExecContextRec): Updated. - -2003-11-22 Werner Lemberg - - * docs/VERSION.DLL, docs/CHANGES: Updated. - - * src/base/ftobjs.c (FT_Set_Char_Size): Make metrics->x_scale and - metrics->y_scale really precise. - - (FT_Load_Glyph): Update computation of linearHoriAdvance and - linearVertAdvance. - - * src/truetype/ttinterp.c (Update_Max): Use FT_REALLOC. - -2003-11-22 David Turner - - * src/autofit/*: More updates. - - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8. - * builds/unix/configure.ac (version_info): Set to 9:6:3. - * README: Updated. - -2003-11-13 John A. Boyd Jr. - - * src/bdf/bdfdrivr.c (bdf_interpret_style), src/pcf/pcfread.c - (pcf_interpret_style): Replace spaces with dashes in properties - SETWIDTH_NAME and ADD_STYLE_NAME to simplify parsing. - -2003-11-11 Werner Lemberg - - * docs/CHANGES: Updated. - -2003-11-11 John A. Boyd Jr. - - Handle SETWIDTH_NAME and ADD_STYLE_NAME properties for BDF and PCF - fonts. - - * src/bdf/bdfdrivr.c (bdf_interpret_style): New auxiliary function. - (BDF_Face_Init): Don't handle style properties but call - bdf_interpret_style. - - * src/pcf/pcfread.c (pcf_interpret_style): New auxiliary function. - (pcf_load_font): Don't handle style properties but call - pcf_interpret_style. - -2003-11-07 Werner Lemberg - - - * Version 2.1.7 released. - ========================= - - - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7. - - * builds/unix/ft2unix.h: Fix comments. - - * builds/unix/ftconfig.in: Synchronized with ANSI version. - Use `#undef' in templates as recommended in the autoconf - documentation. - Since real `#undef' lines don't survive during configuration, use - `/undef' instead; the postprocessing facility of the - AC_CONFIG_HEADERS autoconf macro converts them to `#undef'. - - * builds/unix/install.mk (install): Install Unix version of - `ftconfig.h'. - - * builds/unix/unix-cc.in (CFLAGS): Set FT_CONFIG_CONFIG_H macro - to include the correct `ftconfig.h' file. - - * builds/unix/ft-munmap.m4 (FT_MUNMAP_DECL): Removed. - (FT_MUNMAP_PARAM): Updated syntax to autoconf 2.59. - - * builds/unix/freetype2.m4: Updated syntax to autoconf 2.59. - - * builds/unix/configure.ac: Use AC_CONFIG_HEADERS instead of - AC_CONFIG_HEADER to create ftconfig.h, and use second argument - to replace `/undef' with `#undef'. - Don't use FT_MUNMAP_DECL but AC_CHECK_DECLS to check for munmap. - Use AS_HELP_STRING in AC_ARG_WITH. - Update syntax to autoconf 2.59. - - * builds/unix/ltmain.sh: Regenerated with `libtoolize --force - --copy' from libtool 1.5. - * builds/unix/aclocal.m4: Regenerated with `aclocal -I .' from - automake 1.7.8. - * builds/unix/configure: Regenerated with autoconf 2.59. - * builds/unix/config.guess, builds/unix/config.sub: Updated from - `config' CVS module at subversions.gnu.org - * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from - `texinfo' CVS module at subversions.gnu.org. - - * builds/vms/ftconfig.h: Synchronized with ANSI version. - - * docs/CUSTOMIZE: Fix documentation error. - * docs/CHANGES, docs/VERSION.DLL, docs/release: Updated. - - * builds/freetype.mk (refdoc): Updated --title. - -2003-11-07 David Turner - - - * Version 2.1.6 released. - ========================= - - - * install: Removed. Obsolete. - -2003-11-04 Werner Lemberg - - * src/sfnt/sfdriver.c: Include FT_SERVICE_SFNT_H. - (sfnt_service_sfnt_table): New service. - (sfnt_services): Updated. - - * docs/license.txt: Reworded. - -2003-11-03 Werner Lemberg - - * include/freetype/*: Add a guard to all public header files which - load FT_FREETYPE_H to reject freetype.h from FreeType 1. - -2003-11-02 Patrick Welche - - * builds/unix/freetype2.m4, builds/unix/ft-munmap.m4: Protect - first argument of AC_DEFUN with brackets to avoid possible - expansion. - -2003-11-02 Werner Lemberg - - * include/freetype/cache/ftcglyph.h: Don't include stddef.h. - - * include/freetype/freetype.h: Fix check for ft2build.h. - -2003-11-01 Werner Lemberg - - * include/freetype/freetype.h: Check that ft2build.h has been - loaded first. - - * src/base/fttype1.c (FT_Get_PS_Font_Info): Fix incorrectly applied - patch. - -2003-10-31 Detlef Würkner - - * src/base/fttype1.c (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): - Fix parameter order in calls to FT_FACE_FIND_SERVICE. - -2003-10-31 Werner Lemberg - - * include/freetype/internal/ftserv.h - (FT_SERVICE_POSTSCRIPT_NAMES_H): Removed. Unused. - - * src/type42/t42drivr.c (t42_services): Updated. - -2003-10-29 David Turner - - * include/freetype/internal/bdftypes.h: Removed. Obsolete. - * src/base/ftbdf.c: Updated. - - * include/freetype/internal/cfftypes.h: Moved to... - * src/cff/cfftypes.h: This place since no other module needs to - know about those types. - - * include/freetype/internal/t42types.h: Moved to... - * src/type42/t42types.h: This place since no other module needs to - know about those types. - - * include/freetype/internal/services/svbdf.h: Include FT_BDF_H. - - * include/freetype/internal/services/svpsname.h: Renamed to... - * include/freetype/internal/services/svpscmap.h: This. - Updated `FT_Service_PsNames' -> `FT_Service_PsCMaps' and - `POSTSCRIPT_NAMES' -> `POSTSCRIPT_CMAPS' everywhere. - - * include/freetype/internal/services/svpsinfo.h: New file, providing - PostScript info service. - - * include/freetype/internal/ftserv.h (FT_SERVICE_POSTSCRIPT_CMAPS_H, - FT_SERVICE_POSTSCRIPT_INFO_H): New macros for svpscmap.h and - svpsinfo.h. - * include/freetype/internal/internal.h (FT_INTERNAL_TYPE42_TYPES_H, - FT_INTERNAL_CFF_TYPES_H, FT_INTERNAL_BDF_TYPES_H): Removed. - - * src/base/fttype1.c: Don't include FT_INTERNAL_TYPE1_TYPES_H and - FT_INTERNAL_TYPE42_TYPES_H but FT_INTERNAL_SERVICE_H and - FT_SERVICE_POSTSCRIPT_INFO_H. - (FT_Get_PS_Font_Info, FT_Has_PS_Glyph_Names): Use new - POSTSCRIPT_INFO service. - - * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. - (cff_ps_has_glyph_names): New function. - (cff_service_ps_info): New service. - (cff_services): Updated. - - * src/cff/cffload.h, src/cff/cffobjs.h, src/cff/cffparse.h: Don't - include FT_INTERNAL_CFF_TYPES_H but cfftypes.h directly. - - * src/cif/cidriver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. - (cid_ps_get_font_info): New function. - (cid_service_ps_info): New service. - (cid_services): Updated. - - * src/type1/t1driver.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. - (t1_ps_get_font_info, t1_ps_has_glyph_names): New functions. - (t1_service_ps_info): New service. - (t1_services): Updated. - - * src/type42/t42drivr.c: Include FT_SERVICE_POSTSCRIPT_INFO_H. - (t42_ps_get_font_info, t42_ps_has_glyph_names): New functions. - (t42_service_ps_info): New service. - - * src/type42/t42objs.h: Don't include FT_INTERNAL_TYPE42_TYPES_H - but t42types.h directly. - - * src/psnames/psmodule.c (psnames_interface, psnames_services): - Renamed to... - (pscmaps_interface, pscmaps_services): This. - Updated all users. - - - * src/gzip/infblock.c (inflate_blocks): Remove compiler warning. - -2003-10-22 Werner Lemberg - - * src/type1/t1load.c (parse_encoding): Handle `/Encoding [ ... ]'. - - * src/type1/t1parse.c (T1_Get_Private_Dict): Test whether `eexec' - is real. - - * src/type42/t42parse.c (t42_parse_encoding): Improve boundary - checking while parsing. - - * docs/CHANGES: Updated. - -2003-10-21 Josselin Mouette - - * include/freetype/internal/t1types.h (T1_FontRec): `paint_type' - and `stroke_width' aren't pointers. - - * src/type42/t42objs.c (T42_Face_Done), src/type1/t1objs.c - (T1_Face_Done): Don't free `paint_type' and `stroke_width'. - -2003-10-20 Graham Asher - - * src/winfonts/winfnt.c (fnt_cmap_class): Fix position of `const'. - -2003-10-19 Werner Lemberg - - * src/autohint/ahhint.c (ah_hinter_load_glyph): Patch from - 2003-08-18 introduced a severe bug (FT_Render_Glyph was called - twice under some circumstances, causing strange results). This - is fixed now by clearing the FT_LOAD_RENDER bit of `load_flags'. - - * src/base/ftpfr.c (FT_Get_PFR_Metrics): Initialize `error'. - * src/psaux/psobjs.c (ps_tobytes): Initialize `n'. - * src/type42/t42parse.c (t42_parse_sfnts): Initialize `string_size'. - -2003-10-16 Werner Lemberg - - Completely revised Type 42 parser. It now handles both fonts - produced with ttftot42 (tested version 0.3.1) and - TrueTypeToType42.ps (tested version May 2001; it is necessary to - fix the broken header comment to be `%!PS-TrueTypeFont...'). - - * src/type42/t42objs.c (T42_GlyphSlot_Load): Change fourth - parameter to `FT_UInt'. - * src/type42/t42objs.h: Updated. - - * src/type42/t42parse.h (T42_ParserRec): Change type of `in_memory' - to FT_Bool. - (T42_Loader): Change type of `num_chars' and `num_glyphs' to - FT_UInt. - Add `swap_table' element. - * src/type42/t42parse.c (T42_KEYWORD_COUNT, T1_ToFixed, - T1_ToCoordArray, T1_ToTokenArray): Removed. - (T1_ToBytes): New macro. - (t42_is_alpha, t42_hexval): Removed. - (t42_is_space): Handle `\0'. - (t42_parse_encoding): Updated to use new PostScript parser routines - from psaux. - Handle `/Encoding [ ... ]' also. - (T42_Load_Status): New enumeration. - (t42_parse_sfnts): Updated to use new PostScript parser routines - from psaux. - (t42_parse_charstrings): Updated to use new PostScript parser - routines from psaux. - Handle `/CharStrings << ... >>' also. - Don't expect that /.notdef is the first element in dictionary. Copy - code from type1 module to handle this. - (t42_parse_dict): Updated to use new PostScript parser routines - from psaux. - Remove code for synthetic fonts (which can't occur in Type 42 - fonts). - (t42_loader_done): Release `swap_table'. - - * src/psaux/psobjs.c (skip_string): Increase `cur' properly. - - * src/type1/t1load.c (parse_charstrings): Make test for `.notdef' - faster. - -2003-10-15 Graham Asher - - * src/autohint/ahglobal.c (blue_chars), src/winfonts/winfnt.c - (fnt_cmap_class_rec, fnt_cmap_class), src/bdf/bdflib.c (empty, - _num_bdf_properties), src/gzip/infutil.c (inflate_mask), - src/gzip/inffixed.h (fixed_bl, fixed_bd, fixed_tl, fixed_td), - src/gzip/inftrees.h (inflate_trees_fixed), srf/gzip/inftrees.c - (inflate_trees_fixed): Decorate with more `const' to avoid - writable global variables which are disallowed on ARM. - -2003-10-08 Werner Lemberg - - * src/type1/t1load.c (parse_font_matrix, parse_charstrings): Remove - code specially for synthetic fonts; this is handled elsewhere. - (parse_encoding): Remove code specially for synthetic fonts; this is - handled elsewhere. - Improve boundary checking while parsing. - (parse_dict): Improve boundary checking while parsing. - Use ft_memcmp to simplify code. - -2003-10-07 Werner Lemberg - - * src/type1/t1load.c (parse_subrs, parse_dict): Handle synthetic - fonts properly. - (parse_charstrings): Copy correct number of characters into - `name_table'. - -2003-10-06 Werner Lemberg - - Heavy modification of the PS parser to handle comments and strings - correctly. This doesn't slow down the loading of PS fonts - significantly since charstrings aren't affected. - - * include/freetype/config/ftstdlib.h (ft_xdigit): Renamed to... - (ft_isxdigit): This. Updated all callers. - (ft_isdigit): New alias to `isdigit'. - - * include/freetype/internal/psaux.h (PS_Parser_FuncsRec): Renamed - `skip_alpha' to `skip_PS_token'. - Add parameter to `to_bytes' and change some argument types. - - * src/psaux/psauxmod.c (ps_parser_funcs): Updated. - * src/psaux/psobjs.c (ft_char_table): New array to map character - codes (ASCII and EBCDIC) of digits to numbers. - (OP): New auxiliary macro holding either `>=' or `<' depending on - the character encoding. - (skip_comment): New function. - (skip_spaces): Use it. - (skip_alpha): Removed. - (skip_literal_string, skip_string): New functions. - (ps_parser_skip_PS_token): New function. This is a better - replacement of... - (ps_parser_skip_alpha): Removed. - (ps_parser_to_token, ps_parser_to_token_array): Updated. - (T1Radix): Rewritten, using `ft_char_table'. - (t1_toint): Renamed to... - (ps_toint): This. Update all callers. - Use `ft_char_table'. - (ps_tobytes): Add parameter to handle delimiters and change some - argument types. - Use `ft_char_table'. - (t1_tofixed): Renamed to... - (ps_tofixed): This. Update all callers. - Use `ft_char_table'. - (t1_tocoordarray): Renamed and updated to... - (ps_tocoordarray): This. Update all callers. - (t1_tofixedarray): Renamed and updated to... - (ps_tofixedarray): This. Update all callers. - (t1_tobool): Renamed to... - (ps_tobool): This. Update all callers. - (ps_parser_load_field): Updated. - (ps_parser_load_field_table): Use `T1_MAX_TABLE_ELEMENTS' - everywhere. - (ps_parser_to_int, ps_parser_to_fixed, ps_parser_to_coord_array, - ps_parser_to_fixed_array): Skip spaces. Updated. - (ps_parser_to_bytes): Add parameter to handle delimiters and change - some argument types. Updated. - * src/psaux/psobjs.h: Updated. - - * src/cid/cidload.c (cid_parse_dict): Updated. - * src/cid/cidparse.c (cid_parser_new): Check whether the `StartData' - token was really found. - * src/cid/cidparse.h (cid_parser_skip_alpha): Updated and renamed - to... - (cid_parser_skip_PS_token): This. - - * src/type1/t1parse.h (T1_ParserRec): Use `FT_Bool' for boolean - fields. - (T1_Skip_Alpha): Replaced with... - (T1_Skip_PS_Token): This new macro. - * src/type1/t1parse.c (hexa_value): Removed. - (T1_Get_Private_Dict): Use `ft_isxdigit' and - `psaux->ps_parser_funcs_to_bytes' for handling ASCII hexadecimal - encoding. - After decrypting, replace the four random bytes at the beginning - with whitespace. - * src/type1/t1load.c (t1_allocate_blend): Use proper error values. - (parser_blend_design_positions, parse_blend_design_map, - parse_weight_vector): Updated. - (is_space): Handle `\f' also. - (is_name_char): Removed. - (read_binary_data): Updated. - (parse_encoding): Use `ft_isdigit'. - Updated. - (parse_subrs): Updated. - (TABLE_EXTEND): New macro. - (parse_charstrings): Updated. - Provide a workaround for buggy fonts which have more entries in the - /CharStrings dictionary then expected; the function now adds some - slots and skips entries which still exceed the new limit. - (parse_dict): Updated. - Terminate on the token `closefile'. - - * src/type42/t42parse.c (T1_Skip_Alpha): Replaced with... - (T1_Skip_PS_Token): This new macro. Updated all callers. - (t42_parse_encoding): Use `ft_isdigit'. - - - * src/base/ftmm.c (ft_face_get_mm_service): Return FT_Err_OK if - success. - -2003-10-05 Werner Lemberg - - * include/freetype/ftmodule.h: Renamed to... - * include/freetype/ftmodapi.h: This to avoid duplicate file names. - * include/freetype/config/ftheader.h (FT_MODULE_H): Updated. - -2003-10-04 Werner Lemberg - - * src/base/ftoutln.c (FT_OrientationExtremumRec, - FT_Outline_Get_Orientation): Trivial typo fixes to make it compile. - -2003-10-02 Markus F.X.J. Oberhumer - - * src/winfonts/winfnt.c (FT_WinFNT_HeaderRec): `color_table_offset' - has four bytes, not two. - Fix all users. - (fnt_font_load, FNT_Load_Glyph): Add more font validity tests. - -2003-10-01 David Turner - - * src/autofit/*: Adding first source files of the new multi-script - `auto-fitter'. - - * include/freetype/ftoutln.h (FT_Orientation): New enumeration. - (FT_Outline_Get_Orientation): New declaration. - - * src/base/ftoutln.c (FT_OrientationExtremumRec): New structure. - (ft_orientation_extremum_compute): New auxiliary function. - (FT_Outline_Get_Orientation): New function to compute the fill - orientation of a given glyph outline. - - * include/freetype/internal/ftserv.h (FT_FACE_LOOKUP_SERVICE): Fixed - trivial bug which could crash the font engine when a cached service - pointer was retrieved. - -2003-09-30 Werner Lemberg - - * src/cid/cidload.c (cid_parse_dict): Skip token if no keyword is - found. - - * src/type1/t1parse.c (IS_T1_WHITESPACE, IS_T1_LINESPACE, - IS_T1_SPACE): Removed. - (PFB_Tag): Removed. - (read_pfb_tag): Don't use PFB_Tag. - - * src/type42/t42parse.c (t42_is_space): Handle `\f' also. - (t42_parse_encoding): Handle synthetic fonts. - -2003-09-29 Werner Lemberg - - * include/freetype/internal/t1types.h: Don't include - FT_INTERNAL_OBJECTS_H but FT_INTERNAL_SERVICE_H. - * src/truetype/ttobjs.c: Don't include - FT_SERVICE_POSTSCRIPT_NAMES_H. - -2003-09-29 David Turner - - Added new service to handle glyph name dictionaries, replacing the - old internal header named `psnames.h' by `services/svpsname.h'. - Note that this is different from `services/svpostnm.h' which only - handles the retrieval of PostScript font names for a given face. - (Should we merge these two services into a single header?) - - * include/freetype/internal/psnames.h: Removed. Most of its - contents is moved to... - * include/freetype/internal/services/svpsname.h: New file. - - * include/freetype/internal/services/svpostnm.h - (FT_SERVICE_ID_POSTSCRIPT_NAME): Replaced with... - (FT_SERVICE_ID_POSTSCRIPT_FONT_NAME): New macro. - (PsName): Service named changed to... - (PsFontName): This. - Updated `FT_Service_PsName' -> `FT_Service_PsFontName' and - `POSTSCRIPT_NAME' -> `POSTSCRIPT_FONT_NAME' everywhere. - - * include/freetype/internal/internal.h - (FT_INTERNAL_POSTSCRIPT_NAMES_H): Removed. - * include/freetype/internal/psaux.h: Include - FT_SERVICE_POSTSCRIPT_NAMES_H. - (T1_DecoderRec): Updated type of `psnames'. - * include/freetype/internal/t1types.h: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - Include FT_INTERNAL_OBJECTS_H. - * include/freetype/internal/t42types.h: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H. - * include/freetype/internal/tttypes.h (TT_FaceRec): Updated. - - * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): Changed - order of parameters. All callers updated. - (FT_FACE_FIND_GLOBAL_SERVICE): New macro to look up a service - globally, checking all modules. - (FT_ServiceCacheRec): Updated. - (FT_SERVICE_POSTSCRIPT_NAMES_H): New macro for accessing - `svpsname.h'. - - * include/freetype/internal/ftobjs.h, src/base/ftobjs.c - (ft_module_get_service): New function. - - * src/cff/cffdrivr.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H - but FT_SERVICE_POSTSCRIPT_NAMES_H. - (cff_get_glyph_name, cff_get_name_index): Use new POSTSCRIPT_NAMES - service. - * src/cff/cffcmap.c (cff_cmap_unicode_init): Updated. - * src/cff/cffload.c, src/cff/cffload.h: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - (cff_index_get_sid_string): Updated. - * src/cff/cffobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H - but FT_SERVICE_POSTSCRIPT_NAMES_H. - (cff_face_init): Use new POSTSCRIPT_NAMES service. - * src/cff/cffobjs.h: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H - but FT_SERVICE_POSTSCRIPT_NAMES_H. - - * src/cid/cidobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H - but FT_SERVICE_POSTSCRIPT_NAMES_H. - (cid_face_init): Use new POSTSCRIPT_NAMES service. - * src/cid/cidriver.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H. - - * src/psaux/t1cmap.c (t1_cmap_std_init, t1_cmap_unicode_init): Use - new POSTSCRIPT_NAMES service. - * src/psaux/t1decode.h (t1_lookup_glyph_by_stdcharcode, - t1_decode_init): Use new POSTSCRIPT_NAMES service. - * src/psaux/t1cmap.h, src/psaux/t1decode.h: Dont' include - FT_INTERNAL_POSTSCRIPT_NAMES_H. - - * src/psnames/psmodule.c: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - (ps_build_unicode_table): Renamed to... - (ps_unicodes_init): This. - (ps_lookup_unicode): Renamed to... - (ps_unicodes_char_index): This. - (ps_next_unicode): Renamed to... - (ps_unicodes_char_next): This. - (psnames_interface): Updated. - (psnames_services): New services list. - (psnames_get_service): New function. - (psnames_module_class): Updated. - - * src/sfnt/sfobjs.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H - but FT_SERVICE_POSTSCRIPT_NAMES_H. - (sfnt_init_face): Use new POSTSCRIPT_NAMES service. - * src/sfnt/ttpost.c: Don't include FT_INTERNAL_POSTSCRIPT_NAMES_H - but FT_SERVICE_POSTSCRIPT_NAMES_H. - (tt_face_get_ps_name): Updated. - - * src/truetype/ttobjs.c: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - - * src/type1/t1driver.c: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - * src/type1/t1objs.c: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - (T1_Face_Init): Use new POSTSCRIPT_NAMES service. - - * src/type42/t42drivr.c (t42_get_ps_name): Renamed to... - (t42_get_ps_font_name): This. - (t42_service_ps_name): Renamed to... - (t42_service_ps_font_name): This. - (t42_services): Updated. - * src/type42/t42objs.c (T42_Face_Init): Use new POSTSCRIPT_NAMES - service. - * src/type42/t42objs.h: Don't include - FT_INTERNAL_POSTSCRIPT_NAMES_H but FT_SERVICE_POSTSCRIPT_NAMES_H. - - - * src/base/ftglyph.c (FT_Get_Glyph): Don't access `slot' before - testing its validity. Reported by Henry Maddocks - . - -2003-09-21 Werner Lemberg - - * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE): - Fix compilation warning (s/pptr/Pptr/). - - * include/freetype/internal/internal.h (FT_INTERNAL_PFR_H, - FT_INTERNAL_FNT_TYPES_H): Removed. - -2003-09-21 David Turner - - Migrating the PFR and WINFNT drivers to the new service-based - internal API. - - * include/freetype/internal/fnttypes.h: Removed. Most of its data - are moved to winfnt.h and... - * include/freetype/internal/services/svwinfnt.h: New file. - - * include/freetype/internal/pfr.h: Removed. Most of its data are - moved to... - * include/freetype/internal/services/svpfr.h: New file. - - * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE, - FT_FACE_LOOKUP_SERVICE): Simplify fix of 2003-09-16 by removing - pointer type argument. - Updated all callers. - Update macro names of services header files. - - * src/base/ftobjs.c (FT_Get_Name_Index): Simplified code. - - * src/base/ftpfr.c: Include FT_SERVICE_PFR_H instead of - FT_INTERNAL_PFR_H. - (ft_pfr_check, FT_Get_PFR_Metrics, FT_Get_PFR_Kerning, - FT_Get_PFR_Advance): Use services provided in `PFR_METRICS'. - - * src/base/ftwinfnt.c: Include FT_SERVICE_WINFNT_H instead of - FT_INTERNAL_FNT_TYPES_H. - (FT_Get_WinFNT_Header): Use service provided in `WINFNT'. - - * src/pfr/pfrdrivr.c: Include FT_SERVICE_PFR_H and - FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_PFR_H. - (pfr_service_bdf): Updated. - (pfr_services): New services list. - (pfr_get_service): New function. - (pfr_driver_class): Updated. - - * src/winfonts/winfnt.c: Include FT_SERVICE_WINFNT_H and - FT_SERVICE_XFREE86_NAME_H instead of FT_INTERNAL_FNT_TYPES_H. - (winfnt_get_header, winfnt_get_service): New functions. - (winfnt_service_rec): New structure providing WINFNT services. - (winfnt_services): New services list. - (winfnt_driver_class): Updated. - * src/winfonts/winfnt.h: Add most of the removed fnttypes.h data. - - * src/sfnt/sfdriver.c (sfnt_service_ps_name): Fix typo. - - * src/type1/t1driver.c (t1_service_ps_name): Fix typo. - - * src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrsbit.c, - src/psaux/psobjs.c, src/sfnt/sfobjs.c, src/truetype/ttobjs.c, - src/type1/t1objs.c, src/type42/t42objs.c: Removing various compiler - warnings. - -2003-09-19 David Bevan - - * src/type1/t1parse.c (pfb_tag_fields): Removed. - (read_pfb_tag): Fix code so that it doesn't fail on end-of-file - indicator (0x8003). - * docs/CHANGES: Updated. - -2003-09-16 Werner Lemberg - - * include/freetype/internal/ftserv.h (FT_FACE_FIND_SERVICE, - FT_FACE_LOOKUP_SERVICE): Add parameter to pass pointer type. - Ugly, I know, but this is needed for compilation with C++ -- - maybe someone knows a better solution? - Updated all callers. - - * src/base/ftobjs.c (FT_Get_Name_Index, FT_Get_Glyph_Name): Remove - C++ compiler warnings. - - * src/base/ftbdf.c (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): - Fix order of arguments passed to FT_FACE_FIND_SERVICE. - -2003-09-15 Werner Lemberg - - Avoid header files with identical names. - - * include/freetype/internal/services/bdf.h: Renamed to... - * include/freetype/internal/services/svbdf.h: This. - Add copyright notice. - * include/freetype/internal/services/glyfdict.h: Renamed to... - * include/freetype/internal/services/svgldict.h: This. - Add copyright notice. - * include/freetype/internal/services/multmast.h: Renamed to... - * include/freetype/internal/services/svmm.h: This. - Add copyright notice. - Add FT_BEGIN_HEADER and FT_END_HEADER. - * include/freetype/internal/services/sfnt.h: Renamed to... - * include/freetype/internal/services/svsfnt.h: This. - Add copyright notice. - * include/freetype/internal/services/postname.h: Renamed to... - * include/freetype/internal/services/svpostnm.h: This. - Add copyright notice. - * include/freetype/internal/services/xf86name.h: Renamed to... - * include/freetype/internal/services/svxf86nm.h: This. - Add copyright notice. - - * include/freetype/internal/ftserv.h: Add FT_BEGIN_HEADER and - FT_END_HEADER. - Add copyright notice. - Update macro names of services header files. - - * builds/freetype.mk (SERVICES_DIR): New variable. - (BASE_H): Add services header files. - -2003-09-11 Werner Lemberg - - * builds/toplevel.mk (distclean): Remove `builds/unix/freetype2.pc'. - - * src/cff/cffdrivr.c: Don't load headers twice. - - * include/freetype/internal/ftserv.h (FT_SERVICE_SFNT_H): New macro. - * src/base/ftobjs.c: Include FT_SERVICE_SFNT_H. - - * src/cff/cffcmap.c: Include `cfferrs.h'. - * src/pfr/pfrdrivr.c: Include `pfrerror.h'. - * src/sfnt/sfdriver.c: Include `sferrors.h'. - * src/psaux/psobjs.h: Add declaration for `ps_parser_to_bytes'. - -2003-09-11 David Turner - - Introducing the concept of `module services'. This is the first - step towards a massive simplification of the engine's internals, in - order to get rid of various numbers of hacks. - - Note that these changes will break source & binary compatibility for - authors of external font drivers. - - * include/freetype/config/ftconfig.h (FT_BEGIN_STMNT, FT_END_STMNT, - FT_DUMMY_STMNT): New macros. - - * include/freetype/internal/ftserv.h: New file, containing the new - structures and macros to provide `services'. - - * include/freetype/internal/internal.h (FT_INTERNAL_EXTENSION_H, - FT_INTERNAL_EXTEND_H, FT_INTERNAL_HASH_H, FT_INTERNAL_OBJECT_H): - Removed, obsolete. - (FT_INTERNAL_SERVICE_H): New macro for `ftserv.h'. - - * include/freetype/internal/services/bdf.h, - include/freetype/internal/services/glyfdict.h, - include/freetype/internal/services/postname.h, - include/freetype/internal/services/xf86name.h: New files. - - * include/freetype/ftmm.h (FT_Get_MM_Func, FT_Set_MM_Design_Func, - FT_Set_MM_Blend_Func): Function pointers moved (in modified form) - to... - * include/freetype/internal/services/multmast.h: New file. - - * include/freetype/internal/sfnt.h (SFNT_Interface): `get_interface' - is now of type `FT_Module_Requester'. - (SFNT_Get_Interface_Func, SFNT_Load_Table_Func): Function pointers - moved (in modified form) to... - * include/freetype/internal/services/sfnt.h: New file. - - * include/freetype/tttables.h (FT_Get_Sfnt_Table_Func): Function - pointer moved (in modified form) to `services/sfnt.h'. - - * include/freetype/ftmodule.h (FT_Module_Interface): Make it a - a typedef to `FT_Pointer'. - - * include/freetype/internal/tttypes.h (TT_FaceRec): Add - `postscript_name'. - * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove - `postscript_name'. - Add `services' element. - (FT_LibraryRec): Remove `meta_class'. - - * src/base/ftbdf.c: Include FT_SERVICE_BDF_H. - (test_font_type): Removed. - (FT_Get_BDF_Charset_ID, FT_Get_BDF_Property): Use services - provided in `FT_SERVICE_ID_BDF'. - - * src/base/ftmm.c: Include FT_SERVICE_MULTIPLE_MASTERS_H. - (ft_face_get_mm_service): New auxiliary function to get services - from `FT_SERVICE_ID_MULTI_MASTERS'. - (FT_Get_Multi_Master, FT_Set_MM_Design_Coordinates, - FT_Set_MM_Blend_Coordinates): Use `ft_face_get_mm_service'. - - * src/base/ftobjs.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and - FT_SERVICE_GLYPH_DICT_H. - (ft_service_list_lookup): New function to get a specific service. - (destroy_face): Updated. - (Mac_Read_POST_Resource): Simplify some code. - (IsMacResource): Fix warnings. - (FT_Get_Name_Index, FT_Get_Glyph_Name): Use services provided in - `FT_SERVICE_ID_GLYPH_DICT'. - (FT_Get_Postscript_Name): Use service provided in - `FT_SERVICE_ID_POSTSCRIPT_NAME'. - (FT_Get_Sfnt_Table, FT_Load_Sfnt_Table): Use services provided in - `FT_SERVICE_ID_SFNT_TABLE'. - - * src/base/ftxf86.c: Include FT_SERVICE_XFREE86_NAME_H. - (FT_Get_X11_Font_Format): Use service provided in - `FT_SERVICE_ID_XF86_NAME'. - - * src/bdf/bdfdrivr.c: Include FT_SERVICE_BDF_H and - FT_SERVICE_XFREE86_NAME_H. - (bdf_get_charset_id): New function. - (bdf_service_bdf): New structure providing BDF services. - (bdf_services): New services list. - (bdf_driver_requester): Use `ft_service_list_lookup'. - - * src/cff/cffdrivr.c: Include FT_SERVICE_XFREE86_NAME_H and - FT_SERVICE_GLYPH_DICT_H. - (cff_service_glyph_dict): New structure providing CFF services. - (cff_services): New services list. - (cff_get_interface): Use `ft_service_list_lookup'. - - * src/cid/cidriver.c: Include FT_SERVICE_POSTSCRIPT_NAME_H and - FT_SERVICE_XFREE86_NAME_H. - (cid_service_ps_name): New structure providing CID services. - (cid_services): New services list. - (cid_get_interface): Use `ft_service_list_lookup'. - - * src/pcf/pcfdrivr.c: Include FT_SERVICE_BDF_H and - FT_SERVICE_XFREE86_NAME_H. - (pcf_service_bdf): New structure providing PCF services. - (pcf_services): New services list. - (pcf_driver_requester): Use `ft_service_list_lookup'. - - * src/sfnt/sfdriver.c: Include FT_SERVICE_GLYPH_DICT_H and - FT_SERVICE_POSTSCRIPT_NAME_H. - (get_sfnt_glyph_name): Renamed to... - (sfnt_get_glyph_name): This. - (get_sfnt_postscript_name): Renamed to... - (sfnt_get_ps_name): This. - Updated. - (sfnt_service_glyph_dict, sfnt_service_ps_name): New structures - providing services. - (sfnt_services): New services list. - (sfnt_get_interface): Use `ft_service_list_lookup'. - - * src/truetype/ttdriver.c: Include FT_SERVICE_XFREE86_NAME_H. - (tt_services): New services list. - (tt_get_interface): Use `ft_service_list_lookup'. - - * src/type1/t1driver.c: Include FT_SERVICE_MULTIPLE_MASTERS_H, - FT_SERVICE_GLYPH_DICT_H, FT_SERVICE_XFREE86_NAME_H, and - FT_SERVICE_POSTSCRIPT_NAME_H. - (t1_service_glyph_dict, t1_service_ps_name, - t1_service_multi_masters): New structures providing Type 1 services. - (t1_services): New services list. - (Get_Interface): Use `ft_service_list_lookup'. - - * src/type42/t42drivr.c: Include FT_SERVICE_XFREE86_NAME_H, - FT_SERVICE_GLYPH_DICT_H, and FT_SERVICE_POSTSCRIPT_NAME_H. - (t42_service_glyph_dict, t42_service_ps_name): New strucures - providing Type 42 services. - (t42_services): New services list. - (T42_Get_Interface): Use `ft_service_list_lookup'. - - - * README, docs/CHANGES: Updating version numbers for 2.1.6, and - removing obsolete warnings in the documentation. - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6. - * builds/unix/configure.ac (version_info): Set to 9:5:3. - * builds/unix/configure: Regenerated. - - * include/freetype/internal/ftcore.h, - include/freetype/internal/ftexcept.h, - include/freetype/internal/fthash.h, - include/freetype/internal/ftobject.h: Removed. Obsolete. - -2003-09-09 David Turner - - Fixing PFR kerning support. The tables within the font file contain - (charcode,charcode) kerning pairs, we need to convert them to - (gindex,gindex). - - * src/base/ftpfr.c (ft_pfr_check): Fix serious typo. - * src/pfr/prfload.c: Remove dead code. - (pfr_get_gindex, pfr_compare_kern_pairs, pfr_sort_kerning_pairs): - New functions. - (pfr_phy_font_done): Free `kern_pairs'. - (pfr_phy_font_load): Call `pfr_sort_kerning_pairs'. - * src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix kerning extraction. - * src/pfr/pfrtypes.h (PFR_KERN_PAIR_INDEX): New macro. - (PFR_KernPairRec): Make `kerning' an FT_Int. - (PFR_PhyFontRec): New element `kern_pairs'. - (PFR_KernFlags): Values of PFR_KERN_2BYTE_CHAR and - PFR_KERN_2BYTE_ADJ were erroneously reversed. - - * include/freetype/ftoption.h: Commenting out the macro - TT_CONFIG_OPTION_BYTECODE_INTERPRETER. - -2003-09-02 David Turner - - - * Version 2.1.5 released. - ========================= - - -2003-08-31 Manish Singh - - * src/bdf/bdflib.c (_bdf_readstream): Don't use FT_MEM_COPY but - FT_MEM_MOVE. - -2003-08-30 Werner Lemberg - - * include/freetype/freetype.h (FT_ENCODING_SJIS, FT_ENCODING_GB2312, - FT_ENCODING_BIG5, FT_ENCODING_WANSUNG, FT_ENCODING_JOHAB): New - enumerations of FT_Encoding. The FT_ENCODING_MS_* variants except - FT_ENCODING_MS_SYMBOL are now deprecated. - Updated all users. - * docs/CHANGES: Document it. - -2003-08-27 Werner Lemberg - - * src/bdf/bdfdrivr.c (BDF_Face_Init): Accept lowercase characters - for spacing. - -2003-08-27 Mike FABIAN - - * src/pcf/pcfread.c (pcf_load_font), src/bdf/bdfdrivr.c - (BDF_Face_Init): Accept lowercase characters for slant and weight. - -2003-08-18 David Turner - - * include/freetype/config/ftoption.h: Disabling TrueType bytecode - interpreter until the UNPATENTED_HINTING works as advertised. - - * src/autohint/ahhint.c (ah_hinter_load_glyph): Use `|' for - setting `load_flags'. - - * Jamfile: Adding the `refdoc' target to the Jamfile in order to - build the API Reference in `docs/reference' automatically. - - * include/freetype/t1tables.h (PS_FontInfoRec), src/cid/cidtoken.h, - src/type1/t1tokens.h, src/type42/t42parse.c: Resetting the types of - `italic_angle', `underline_position', and `underline_thickness' to - their previous values (i.e., long, short, and ushort) in order to - avoid breaking binary compatibility. - - * include/freetype/ttunpat.h: Fixing documentation comment. - - * include/freetype/config/ftoption.h, devel/ftoption.h - (TT_CONFIG_OPTION_OPTION_COMPILE_UNPATENTED_HINTING): Replaced - with... - (TT_CONFIG_OPTION_UNPATENTED_HINTING): This. Updated all users. - (TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING): Removed. - - * include/freetype/internal/ftobjs.h (FT_DEBUG_HOOK_TYPE1): Removed. - (FT_DEBUG_HOOK_UNPATENTED_HINTING): New macro. Use this with - `FT_Set_Debug_Hook' to get the same effect as the removed - TT_CONFIG_OPTION_FORCE_UNPATENTED_HINTING. - - * src/truetype/ttobjs.c (tt_face_init): Use - `FT_DEBUG_HOOK_UNPATENTED_HINTING'. - -2003-08-06 Werner Lemberg - - * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c - (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Fix - previous change. - -2003-08-05 Werner Lemberg - - * src/type1/t1gload.c (T1_Load_Glyph), src/cff/cffgload.c - (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph): Apply - font matrix to advance width also. - * docs/CHANGES: Updated. - -2003-07-26 Werner Lemberg - - * builds/unix/configure.ac (version_info): Set to 9:4:3. - * builds/unix/configure: Updated. - * docs/CHANGES, docs/VERSION.DLL: Updated. - - * include/freetype/freetype.h (FT_GlyphSlot): Change 2003-06-16 - also breaks binary compatibility. Reintroduce an unsigned integer - at the old position of `flags' called `reserved'. - -2003-07-25 Werner Lemberg - - Make API reference valid HTML 4.01 transitional. - - * src/tools/docmaker/tohtml.py (html_header_1): Add doctype - and charset. - (html_header_2): Fix style elements and add some more. - Fix syntax. - (block_header, block_footer, description_header, description_footer, - marker_header, marker_footer, source_header, source_footer, - chapter_header): Don't use
...
but `align=center' - table attribute. - (chapter_inter, chapter_footer): Add
  • and use special