From 23ba1aa0dd3e0af915afb0215d510e54a35524db Mon Sep 17 00:00:00 2001 From: Arvinder Bhathal Date: Tue, 27 Jun 2017 20:29:10 -0400 Subject: [PATCH] Move files to root --- CMakeLists.txt | 452 - ChangeLog | 4689 ------ ChangeLog.20 | 2613 --- ChangeLog.21 | 9438 ----------- ChangeLog.22 | 2837 ---- ChangeLog.23 | 7948 --------- ChangeLog.24 | 6360 ------- ChangeLog.25 | 5161 ------ ChangeLog.26 | 5711 ------- Jamfile | 222 - Jamrules | 71 - Makefile | 34 - README | 84 - README.git | 50 - autogen.sh | 165 - glyphtest/bitmap.c => bitmap.c | 0 glyphtest/bitmap.h => bitmap.h | 0 builds/amiga/README | 110 - builds/amiga/include/config/ftconfig.h | 55 - builds/amiga/include/config/ftmodule.h | 160 - builds/amiga/makefile | 299 - builds/amiga/makefile.os4 | 303 - builds/amiga/smakefile | 303 - builds/amiga/src/base/ftdebug.c | 297 - builds/amiga/src/base/ftsystem.c | 530 - builds/ansi/ansi-def.mk | 74 - builds/ansi/ansi.mk | 21 - builds/atari/ATARI.H | 20 - builds/atari/FNames.SIC | 37 - builds/atari/FREETYPE.PRJ | 32 - builds/atari/README.TXT | 51 - builds/atari/deflinejoiner.awk | 181 - builds/atari/gen-purec-patch.sh | 40 - builds/beos/beos-def.mk | 76 - builds/beos/beos.mk | 19 - builds/beos/detect.mk | 41 - builds/cmake/FindHarfBuzz.cmake | 72 - builds/cmake/iOS.cmake | 270 - builds/cmake/testbuild.sh | 157 - builds/compiler/ansi-cc.mk | 80 - builds/compiler/bcc-dev.mk | 86 - builds/compiler/bcc.mk | 86 - builds/compiler/emx.mk | 77 - builds/compiler/gcc-dev.mk | 95 - builds/compiler/gcc.mk | 77 - builds/compiler/intelc.mk | 85 - builds/compiler/unix-lcc.mk | 83 - builds/compiler/visualage.mk | 76 - builds/compiler/visualc.mk | 82 - builds/compiler/watcom.mk | 81 - builds/compiler/win-lcc.mk | 81 - builds/detect.mk | 154 - builds/dos/detect.mk | 142 - builds/dos/dos-def.mk | 45 - builds/dos/dos-emx.mk | 21 - builds/dos/dos-gcc.mk | 21 - builds/dos/dos-wat.mk | 20 - builds/exports.mk | 80 - builds/freetype.mk | 339 - builds/link_dos.mk | 42 - builds/link_std.mk | 42 - builds/mac/FreeType.m68k_cfm.make.txt | 212 - builds/mac/FreeType.m68k_far.make.txt | 211 - builds/mac/FreeType.ppc_carbon.make.txt | 215 - builds/mac/FreeType.ppc_classic.make.txt | 216 - builds/mac/README | 401 - builds/mac/ascii2mpw.py | 24 - builds/mac/freetype-Info.plist | 36 - builds/mac/ftlib.prj.xml | 1194 -- builds/mac/ftmac.c | 1542 -- builds/modules.mk | 79 - builds/newline | 1 - builds/os2/detect.mk | 73 - builds/os2/os2-def.mk | 44 - builds/os2/os2-dev.mk | 30 - builds/os2/os2-gcc.mk | 26 - builds/symbian/bld.inf | 66 - builds/symbian/freetype.mmp | 148 - builds/toplevel.mk | 276 - builds/unix/.gitignore | 17 - builds/unix/configure.raw | 1032 -- builds/unix/detect.mk | 93 - builds/unix/freetype-config.in | 211 - builds/unix/freetype2.in | 14 - builds/unix/freetype2.m4 | 194 - builds/unix/ft-munmap.m4 | 32 - builds/unix/ftconfig.in | 523 - builds/unix/ftsystem.c | 420 - builds/unix/install.mk | 95 - builds/unix/pkg.m4 | 199 - builds/unix/unix-cc.in | 114 - builds/unix/unix-def.in | 150 - builds/unix/unix-dev.mk | 26 - builds/unix/unix-lcc.mk | 24 - builds/unix/unix.mk | 62 - builds/unix/unixddef.mk | 45 - builds/vms/ftconfig.h | 464 - builds/vms/ftsystem.c | 328 - builds/wince/ftdebug.c | 255 - builds/wince/vc2005-ce/freetype.sln | 157 - builds/wince/vc2005-ce/freetype.vcproj | 3839 ----- builds/wince/vc2005-ce/index.html | 47 - builds/wince/vc2008-ce/freetype.sln | 157 - builds/wince/vc2008-ce/freetype.vcproj | 13495 --------------- builds/wince/vc2008-ce/index.html | 47 - builds/windows/.gitignore | 5 - builds/windows/detect.mk | 184 - builds/windows/ftdebug.c | 237 - builds/windows/vc2005/freetype.sln | 31 - builds/windows/vc2005/freetype.vcproj | 646 - builds/windows/vc2005/index.html | 37 - builds/windows/vc2008/freetype.sln | 31 - builds/windows/vc2008/freetype.vcproj | 2180 --- builds/windows/vc2008/index.html | 37 - builds/windows/vc2010/freetype.sln | 49 - 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 | 37 - builds/windows/visualce/freetype.dsp | 400 - builds/windows/visualce/freetype.dsw | 29 - builds/windows/visualce/freetype.vcproj | 13885 ---------------- builds/windows/visualce/index.html | 47 - builds/windows/w32-bcc.mk | 28 - builds/windows/w32-bccd.mk | 26 - builds/windows/w32-dev.mk | 32 - builds/windows/w32-gcc.mk | 31 - builds/windows/w32-icc.mk | 28 - builds/windows/w32-intl.mk | 28 - builds/windows/w32-lcc.mk | 24 - builds/windows/w32-mingw32.mk | 33 - builds/windows/w32-vcc.mk | 28 - builds/windows/w32-wat.mk | 28 - builds/windows/win32-def.mk | 47 - ...mpare-new-to-old.c => compare-new-to-old.c | 0 configure | 135 - devel/ft2build.h | 40 - devel/ftoption.h | 962 -- docs/CHANGES | 4807 ------ docs/CMAKE | 2 - docs/CUSTOMIZE | 152 - docs/DEBUG | 204 - docs/FTL.TXT | 169 - docs/GPLv2.TXT | 340 - docs/INSTALL | 90 - docs/INSTALL.ANY | 156 - docs/INSTALL.CROSS | 177 - docs/INSTALL.GNU | 161 - docs/INSTALL.MAC | 32 - docs/INSTALL.UNIX | 118 - docs/INSTALL.VMS | 62 - docs/LICENSE.TXT | 39 - docs/MAKEPP | 5 - docs/PROBLEMS | 90 - docs/TODO | 40 - docs/VERSIONS.TXT | 124 - docs/formats.txt | 209 - docs/freetype-config.1 | 146 - docs/raster.txt | 635 - docs/reference/.gitignore | 1 - docs/reference/README | 5 - docs/release | 202 - ...rate-old-hashes.c => generate-old-hashes.c | 0 include/freetype/config/ftconfig.h | 491 - include/freetype/config/ftheader.h | 846 - include/freetype/config/ftmodule.h | 32 - include/freetype/config/ftoption.h | 993 -- include/freetype/config/ftstdlib.h | 175 - include/freetype/freetype.h | 4549 ----- include/freetype/ftadvanc.h | 187 - include/freetype/ftautoh.h | 533 - include/freetype/ftbbox.h | 101 - include/freetype/ftbdf.h | 210 - include/freetype/ftbitmap.h | 240 - include/freetype/ftbzip2.h | 102 - include/freetype/ftcache.h | 1057 -- include/freetype/ftcffdrv.h | 321 - include/freetype/ftchapters.h | 136 - include/freetype/ftcid.h | 168 - include/freetype/fterrdef.h | 278 - include/freetype/fterrors.h | 226 - include/freetype/ftfntfmt.h | 95 - include/freetype/ftgasp.h | 137 - include/freetype/ftglyph.h | 614 - include/freetype/ftgxval.h | 357 - include/freetype/ftgzip.h | 148 - include/freetype/ftimage.h | 1205 -- include/freetype/ftincrem.h | 354 - include/freetype/ftlcdfil.h | 321 - include/freetype/ftlist.h | 276 - include/freetype/ftlzw.h | 99 - include/freetype/ftmac.h | 274 - include/freetype/ftmm.h | 490 - include/freetype/ftmodapi.h | 710 - include/freetype/ftmoderr.h | 194 - include/freetype/ftotval.h | 204 - include/freetype/ftoutln.h | 582 - include/freetype/ftpcfdrv.h | 105 - include/freetype/ftpfr.h | 172 - include/freetype/ftrender.h | 233 - include/freetype/ftsizes.h | 159 - include/freetype/ftsnames.h | 287 - include/freetype/ftstroke.h | 785 - include/freetype/ftsynth.h | 84 - include/freetype/ftsystem.h | 355 - include/freetype/fttrigon.h | 350 - include/freetype/ftttdrv.h | 328 - include/freetype/fttypes.h | 602 - include/freetype/ftwinfnt.h | 275 - include/freetype/internal/autohint.h | 244 - include/freetype/internal/ftcalc.h | 444 - include/freetype/internal/ftdebug.h | 255 - include/freetype/internal/ftdriver.h | 400 - include/freetype/internal/ftgloadr.h | 154 - include/freetype/internal/fthash.h | 136 - include/freetype/internal/ftmemory.h | 393 - include/freetype/internal/ftobjs.h | 1610 -- include/freetype/internal/ftpic.h | 71 - include/freetype/internal/ftrfork.h | 267 - include/freetype/internal/ftserv.h | 927 -- include/freetype/internal/ftstream.h | 536 - include/freetype/internal/fttrace.h | 154 - include/freetype/internal/ftvalid.h | 159 - include/freetype/internal/internal.h | 63 - include/freetype/internal/psaux.h | 879 - include/freetype/internal/pshints.h | 722 - include/freetype/internal/services/svbdf.h | 82 - include/freetype/internal/services/svcid.h | 90 - include/freetype/internal/services/svfntfmt.h | 55 - include/freetype/internal/services/svgldict.h | 91 - include/freetype/internal/services/svgxval.h | 72 - include/freetype/internal/services/svkern.h | 51 - include/freetype/internal/services/svmetric.h | 153 - include/freetype/internal/services/svmm.h | 159 - include/freetype/internal/services/svotval.h | 55 - include/freetype/internal/services/svpfr.h | 66 - include/freetype/internal/services/svpostnm.h | 81 - include/freetype/internal/services/svprop.h | 82 - include/freetype/internal/services/svpscmap.h | 177 - include/freetype/internal/services/svpsinfo.h | 111 - include/freetype/internal/services/svsfnt.h | 103 - include/freetype/internal/services/svttcmap.h | 106 - include/freetype/internal/services/svtteng.h | 53 - include/freetype/internal/services/svttglyf.h | 69 - include/freetype/internal/services/svwinfnt.h | 50 - include/freetype/internal/sfnt.h | 784 - include/freetype/internal/t1types.h | 257 - include/freetype/internal/tttypes.h | 1691 -- include/freetype/t1tables.h | 761 - include/freetype/ttnameid.h | 1236 -- include/freetype/tttables.h | 846 - include/freetype/tttags.h | 115 - include/freetype/ttunpat.h | 63 - include/ft2build.h | 42 - glyphtest/index.html => index.html | 0 modules.cfg | 270 - glyphtest/murmur3.c => murmur3.c | 0 glyphtest/murmur3.h => murmur3.h | 0 objs/.gitignore | 15 - objs/README | 2 - glyphtest/readme.txt => readme.txt | 0 src/Jamfile | 19 - src/autofit/Jamfile | 53 - src/autofit/afangles.c | 285 - src/autofit/afangles.h | 7 - src/autofit/afblue.c | 733 - src/autofit/afblue.cin | 39 - src/autofit/afblue.dat | 1066 -- src/autofit/afblue.h | 412 - src/autofit/afblue.hin | 146 - src/autofit/afcjk.c | 2381 --- src/autofit/afcjk.h | 141 - src/autofit/afcover.h | 105 - src/autofit/afdummy.c | 75 - src/autofit/afdummy.h | 40 - src/autofit/aferrors.h | 42 - src/autofit/afglobal.c | 503 - src/autofit/afglobal.h | 173 - src/autofit/afhints.c | 1646 -- src/autofit/afhints.h | 481 - src/autofit/afindic.c | 157 - src/autofit/afindic.h | 41 - src/autofit/aflatin.c | 3585 ---- src/autofit/aflatin.h | 194 - src/autofit/aflatin2.c | 2427 --- src/autofit/aflatin2.h | 46 - src/autofit/afloader.c | 721 - src/autofit/afloader.h | 91 - src/autofit/afmodule.c | 600 - src/autofit/afmodule.h | 58 - src/autofit/afpic.c | 152 - src/autofit/afpic.h | 105 - src/autofit/afranges.c | 1026 -- src/autofit/afranges.h | 47 - src/autofit/afscript.h | 390 - src/autofit/afshaper.c | 683 - src/autofit/afshaper.h | 72 - src/autofit/afstyles.h | 475 - src/autofit/aftypes.h | 651 - src/autofit/afwarp.c | 373 - src/autofit/afwarp.h | 64 - src/autofit/afwrtsys.h | 52 - src/autofit/autofit.c | 39 - src/autofit/module.mk | 23 - src/autofit/rules.mk | 89 - src/base/Jamfile | 88 - src/base/basepic.c | 108 - src/base/basepic.h | 91 - src/base/ftadvanc.c | 171 - src/base/ftapi.c | 121 - src/base/ftbase.c | 39 - src/base/ftbase.h | 74 - src/base/ftbbox.c | 515 - src/base/ftbdf.c | 91 - src/base/ftbitmap.c | 809 - src/base/ftcalc.c | 1017 -- src/base/ftcid.c | 118 - src/base/ftdbgmem.c | 999 -- src/base/ftdebug.c | 266 - src/base/ftfntfmt.c | 55 - src/base/ftfstype.c | 62 - src/base/ftgasp.c | 61 - src/base/ftgloadr.c | 406 - src/base/ftglyph.c | 646 - src/base/ftgxval.c | 142 - src/base/fthash.c | 339 - src/base/ftinit.c | 376 - src/base/ftlcdfil.c | 362 - src/base/ftmac.c | 1088 -- src/base/ftmm.c | 405 - src/base/ftobjs.c | 5223 ------ src/base/ftotval.c | 91 - src/base/ftoutln.c | 1109 -- src/base/ftpatent.c | 51 - src/base/ftpfr.c | 153 - src/base/ftpic.c | 55 - src/base/ftrfork.c | 937 -- src/base/ftsnames.c | 148 - src/base/ftstream.c | 860 - src/base/ftstroke.c | 2469 --- src/base/ftsynth.c | 163 - src/base/ftsystem.c | 320 - src/base/fttrigon.c | 526 - src/base/fttype1.c | 127 - src/base/ftutil.c | 441 - src/base/ftwinfnt.c | 53 - src/base/md5.c | 291 - src/base/md5.h | 45 - src/base/rules.mk | 106 - src/bdf/Jamfile | 31 - src/bdf/README | 148 - src/bdf/bdf.c | 35 - src/bdf/bdf.h | 280 - src/bdf/bdfdrivr.c | 986 -- src/bdf/bdfdrivr.h | 80 - src/bdf/bdferror.h | 45 - src/bdf/bdflib.c | 2462 --- src/bdf/module.mk | 34 - src/bdf/rules.mk | 84 - src/bzip2/Jamfile | 18 - src/bzip2/ftbzip2.c | 525 - src/bzip2/rules.mk | 64 - src/cache/Jamfile | 37 - src/cache/ftcache.c | 32 - src/cache/ftcbasic.c | 602 - src/cache/ftccache.c | 621 - src/cache/ftccache.h | 352 - src/cache/ftccback.h | 92 - src/cache/ftccmap.c | 327 - src/cache/ftcerror.h | 42 - src/cache/ftcglyph.c | 219 - src/cache/ftcglyph.h | 329 - src/cache/ftcimage.c | 164 - src/cache/ftcimage.h | 107 - src/cache/ftcmanag.c | 704 - src/cache/ftcmanag.h | 175 - src/cache/ftcmru.c | 357 - src/cache/ftcmru.h | 248 - src/cache/ftcsbits.c | 423 - src/cache/ftcsbits.h | 103 - src/cache/rules.mk | 85 - src/cff/Jamfile | 45 - src/cff/cf2arrst.c | 241 - src/cff/cf2arrst.h | 100 - src/cff/cf2blues.c | 580 - src/cff/cf2blues.h | 185 - src/cff/cf2error.c | 52 - src/cff/cf2error.h | 119 - src/cff/cf2fixed.h | 95 - src/cff/cf2font.c | 562 - src/cff/cf2font.h | 130 - src/cff/cf2ft.c | 755 - src/cff/cf2ft.h | 159 - src/cff/cf2glue.h | 144 - src/cff/cf2hints.c | 1873 --- src/cff/cf2hints.h | 289 - src/cff/cf2intrp.c | 1959 --- src/cff/cf2intrp.h | 83 - src/cff/cf2read.c | 112 - src/cff/cf2read.h | 68 - src/cff/cf2stack.c | 328 - src/cff/cf2stack.h | 121 - src/cff/cf2types.h | 78 - src/cff/cff.c | 41 - src/cff/cffcmap.c | 229 - src/cff/cffcmap.h | 67 - src/cff/cffdrivr.c | 1244 -- src/cff/cffdrivr.h | 38 - src/cff/cfferrs.h | 42 - src/cff/cffgload.c | 3234 ---- src/cff/cffgload.h | 246 - src/cff/cffload.c | 2554 --- src/cff/cffload.h | 128 - src/cff/cffobjs.c | 1208 -- src/cff/cffobjs.h | 185 - src/cff/cffparse.c | 1681 -- src/cff/cffparse.h | 136 - src/cff/cffpic.c | 138 - src/cff/cffpic.h | 118 - src/cff/cfftoken.h | 150 - src/cff/cfftypes.h | 405 - src/cff/module.mk | 23 - src/cff/rules.mk | 89 - src/cid/Jamfile | 34 - src/cid/ciderrs.h | 41 - src/cid/cidgload.c | 458 - src/cid/cidgload.h | 51 - src/cid/cidload.c | 846 - src/cid/cidload.h | 53 - src/cid/cidobjs.c | 492 - src/cid/cidobjs.h | 154 - src/cid/cidparse.c | 277 - src/cid/cidparse.h | 123 - src/cid/cidriver.c | 238 - src/cid/cidriver.h | 43 - src/cid/cidtoken.h | 112 - src/cid/module.mk | 23 - src/cid/rules.mk | 73 - src/cid/type1cid.c | 29 - src/gxvalid/Jamfile | 52 - src/gxvalid/README | 532 - src/gxvalid/gxvalid.c | 47 - src/gxvalid/gxvalid.h | 108 - src/gxvalid/gxvbsln.c | 334 - src/gxvalid/gxvcommn.c | 1746 -- src/gxvalid/gxvcommn.h | 582 - src/gxvalid/gxverror.h | 51 - src/gxvalid/gxvfeat.c | 339 - src/gxvalid/gxvfeat.h | 173 - src/gxvalid/gxvfgen.c | 483 - src/gxvalid/gxvjust.c | 719 - src/gxvalid/gxvkern.c | 920 - src/gxvalid/gxvlcar.c | 224 - src/gxvalid/gxvmod.c | 285 - src/gxvalid/gxvmod.h | 51 - src/gxvalid/gxvmort.c | 300 - src/gxvalid/gxvmort.h | 94 - src/gxvalid/gxvmort0.c | 152 - src/gxvalid/gxvmort1.c | 260 - src/gxvalid/gxvmort2.c | 312 - src/gxvalid/gxvmort4.c | 126 - src/gxvalid/gxvmort5.c | 234 - src/gxvalid/gxvmorx.c | 199 - src/gxvalid/gxvmorx.h | 68 - src/gxvalid/gxvmorx0.c | 112 - src/gxvalid/gxvmorx1.c | 278 - src/gxvalid/gxvmorx2.c | 331 - src/gxvalid/gxvmorx4.c | 56 - src/gxvalid/gxvmorx5.c | 226 - src/gxvalid/gxvopbd.c | 218 - src/gxvalid/gxvprop.c | 330 - src/gxvalid/gxvtrak.c | 288 - src/gxvalid/module.mk | 23 - src/gxvalid/rules.mk | 98 - src/gzip/Jamfile | 16 - src/gzip/adler32.c | 48 - src/gzip/ftgzip.c | 816 - src/gzip/ftzconf.h | 284 - src/gzip/infblock.c | 387 - src/gzip/infblock.h | 36 - src/gzip/infcodes.c | 250 - src/gzip/infcodes.h | 31 - src/gzip/inffixed.h | 151 - src/gzip/inflate.c | 273 - src/gzip/inftrees.c | 468 - src/gzip/inftrees.h | 63 - src/gzip/infutil.c | 86 - src/gzip/infutil.h | 98 - src/gzip/rules.mk | 83 - src/gzip/zlib.h | 830 - src/gzip/zutil.c | 181 - src/gzip/zutil.h | 215 - src/lzw/Jamfile | 16 - src/lzw/ftlzw.c | 420 - src/lzw/ftzopen.c | 424 - src/lzw/ftzopen.h | 172 - src/lzw/rules.mk | 72 - src/otvalid/Jamfile | 37 - src/otvalid/module.mk | 23 - src/otvalid/otvalid.c | 32 - src/otvalid/otvalid.h | 78 - src/otvalid/otvbase.c | 318 - src/otvalid/otvcommn.c | 1086 -- src/otvalid/otvcommn.h | 437 - src/otvalid/otverror.h | 42 - src/otvalid/otvgdef.c | 224 - src/otvalid/otvgpos.c | 1021 -- src/otvalid/otvgpos.h | 36 - src/otvalid/otvgsub.c | 587 - src/otvalid/otvjstf.c | 259 - src/otvalid/otvmath.c | 453 - src/otvalid/otvmod.c | 282 - src/otvalid/otvmod.h | 43 - src/otvalid/rules.mk | 81 - src/pcf/Jamfile | 32 - src/pcf/README | 96 - src/pcf/module.mk | 34 - src/pcf/pcf.c | 36 - src/pcf/pcf.h | 247 - src/pcf/pcfdrivr.c | 869 - src/pcf/pcfdrivr.h | 48 - src/pcf/pcferror.h | 41 - src/pcf/pcfread.c | 1663 -- src/pcf/pcfread.h | 45 - src/pcf/pcfutil.c | 104 - src/pcf/pcfutil.h | 55 - src/pcf/rules.mk | 82 - src/pfr/Jamfile | 35 - src/pfr/module.mk | 23 - src/pfr/pfr.c | 30 - src/pfr/pfrcmap.c | 177 - src/pfr/pfrcmap.h | 46 - src/pfr/pfrdrivr.c | 213 - src/pfr/pfrdrivr.h | 43 - src/pfr/pfrerror.h | 41 - src/pfr/pfrgload.c | 847 - src/pfr/pfrgload.h | 49 - src/pfr/pfrload.c | 1049 -- src/pfr/pfrload.h | 123 - src/pfr/pfrobjs.c | 600 - src/pfr/pfrobjs.h | 96 - src/pfr/pfrsbit.c | 808 - src/pfr/pfrsbit.h | 37 - src/pfr/pfrtypes.h | 332 - src/pfr/rules.mk | 76 - src/psaux/Jamfile | 35 - src/psaux/afmparse.c | 986 -- src/psaux/afmparse.h | 89 - src/psaux/module.mk | 23 - src/psaux/psaux.c | 30 - src/psaux/psauxerr.h | 42 - src/psaux/psauxmod.c | 143 - src/psaux/psauxmod.h | 42 - src/psaux/psconv.c | 611 - src/psaux/psconv.h | 71 - src/psaux/psobjs.c | 1782 -- src/psaux/psobjs.h | 212 - src/psaux/rules.mk | 76 - src/psaux/t1cmap.c | 371 - src/psaux/t1cmap.h | 105 - src/psaux/t1decode.c | 1648 -- src/psaux/t1decode.h | 64 - src/pshinter/Jamfile | 34 - src/pshinter/module.mk | 23 - src/pshinter/pshalgo.c | 2195 --- src/pshinter/pshalgo.h | 241 - src/pshinter/pshglob.c | 795 - src/pshinter/pshglob.h | 196 - src/pshinter/pshinter.c | 29 - src/pshinter/pshmod.c | 121 - src/pshinter/pshmod.h | 39 - src/pshinter/pshnterr.h | 41 - src/pshinter/pshpic.c | 76 - src/pshinter/pshpic.h | 63 - src/pshinter/pshrec.c | 1220 -- src/pshinter/pshrec.h | 172 - src/pshinter/rules.mk | 76 - src/psnames/Jamfile | 31 - src/psnames/module.mk | 23 - src/psnames/psmodule.c | 619 - src/psnames/psmodule.h | 38 - src/psnames/psnamerr.h | 42 - src/psnames/psnames.c | 26 - src/psnames/pspic.c | 97 - src/psnames/pspic.h | 68 - src/psnames/pstables.h | 4238 ----- src/psnames/rules.mk | 74 - src/raster/Jamfile | 32 - src/raster/ftmisc.h | 142 - src/raster/ftraster.c | 3225 ---- src/raster/ftraster.h | 46 - src/raster/ftrend1.c | 249 - src/raster/ftrend1.h | 38 - src/raster/module.mk | 23 - src/raster/raster.c | 27 - src/raster/rasterrs.h | 42 - src/raster/rastpic.c | 89 - src/raster/rastpic.h | 63 - src/raster/rules.mk | 73 - src/sfnt/Jamfile | 40 - src/sfnt/module.mk | 23 - src/sfnt/pngshim.c | 389 - src/sfnt/pngshim.h | 51 - src/sfnt/rules.mk | 81 - src/sfnt/sfdriver.c | 1285 -- src/sfnt/sfdriver.h | 38 - src/sfnt/sferrors.h | 41 - src/sfnt/sfnt.c | 35 - src/sfnt/sfntpic.c | 143 - src/sfnt/sfntpic.h | 112 - src/sfnt/sfobjs.c | 1759 -- src/sfnt/sfobjs.h | 59 - src/sfnt/ttbdf.c | 257 - src/sfnt/ttbdf.h | 46 - src/sfnt/ttcmap.c | 3809 ----- src/sfnt/ttcmap.h | 158 - src/sfnt/ttcmapc.h | 56 - src/sfnt/ttkern.c | 305 - src/sfnt/ttkern.h | 52 - src/sfnt/ttload.c | 1427 -- src/sfnt/ttload.h | 112 - src/sfnt/ttmtx.c | 326 - src/sfnt/ttmtx.h | 55 - src/sfnt/ttpost.c | 575 - src/sfnt/ttpost.h | 46 - src/sfnt/ttsbit.c | 1674 -- src/sfnt/ttsbit.h | 63 - src/smooth/Jamfile | 32 - src/smooth/ftgrays.c | 2051 --- src/smooth/ftgrays.h | 58 - src/smooth/ftsmerrs.h | 42 - src/smooth/ftsmooth.c | 555 - src/smooth/ftsmooth.h | 42 - src/smooth/ftspic.c | 118 - src/smooth/ftspic.h | 75 - src/smooth/module.mk | 27 - src/smooth/rules.mk | 74 - src/smooth/smooth.c | 27 - src/tools/Jamfile | 5 - src/tools/afblue.pl | 551 - src/tools/apinames.c | 466 - src/tools/chktrcmp.py | 114 - src/tools/cordic.py | 33 - src/tools/docmaker/.gitignore | 1 - src/tools/docmaker/content.py | 655 - src/tools/docmaker/docbeauty.py | 113 - src/tools/docmaker/docmaker.py | 115 - src/tools/docmaker/formatter.py | 228 - src/tools/docmaker/sources.py | 410 - src/tools/docmaker/tohtml.py | 725 - src/tools/docmaker/utils.py | 127 - src/tools/ftfuzzer/README | 77 - src/tools/ftfuzzer/ftfuzzer.cc | 429 - src/tools/ftfuzzer/ftmutator.cc | 314 - src/tools/ftfuzzer/rasterfuzzer.cc | 129 - src/tools/ftfuzzer/runinput.cc | 58 - src/tools/ftrandom/Makefile | 45 - src/tools/ftrandom/README | 69 - src/tools/ftrandom/ftrandom.c | 720 - src/tools/glnames.py | 5540 ------ src/tools/no-copyright | 65 - src/tools/test_afm.c | 157 - src/tools/test_bbox.c | 188 - src/tools/test_trig.c | 258 - src/tools/update-copyright | 14 - src/tools/update-copyright-year | 135 - src/truetype/Jamfile | 37 - src/truetype/module.mk | 23 - src/truetype/rules.mk | 77 - src/truetype/truetype.c | 32 - src/truetype/ttdriver.c | 665 - src/truetype/ttdriver.h | 38 - src/truetype/tterrors.h | 42 - src/truetype/ttgload.c | 2767 --- src/truetype/ttgload.h | 62 - src/truetype/ttgxvar.c | 3741 ----- src/truetype/ttgxvar.h | 445 - src/truetype/ttinterp.c | 8495 ---------- src/truetype/ttinterp.h | 539 - src/truetype/ttobjs.c | 1403 -- src/truetype/ttobjs.h | 425 - src/truetype/ttpic.c | 101 - src/truetype/ttpic.h | 88 - src/truetype/ttpload.c | 642 - src/truetype/ttpload.h | 75 - src/truetype/ttsubpix.c | 1014 -- src/truetype/ttsubpix.h | 111 - src/type1/Jamfile | 35 - src/type1/module.mk | 23 - src/type1/rules.mk | 76 - src/type1/t1afm.c | 415 - src/type1/t1afm.h | 54 - src/type1/t1driver.c | 756 - src/type1/t1driver.h | 42 - src/type1/t1errors.h | 41 - src/type1/t1gload.c | 524 - src/type1/t1gload.h | 53 - src/type1/t1load.c | 2449 --- src/type1/t1load.h | 113 - src/type1/t1objs.c | 607 - src/type1/t1objs.h | 160 - src/type1/t1parse.c | 525 - src/type1/t1parse.h | 129 - src/type1/t1tokens.h | 143 - src/type1/type1.c | 30 - src/type42/Jamfile | 32 - src/type42/module.mk | 23 - src/type42/rules.mk | 73 - src/type42/t42drivr.c | 246 - src/type42/t42drivr.h | 43 - src/type42/t42error.h | 41 - src/type42/t42objs.c | 688 - src/type42/t42objs.h | 124 - src/type42/t42parse.c | 1299 -- src/type42/t42parse.h | 91 - src/type42/t42types.h | 57 - src/type42/type42.c | 27 - src/winfonts/Jamfile | 16 - src/winfonts/fnterrs.h | 42 - src/winfonts/module.mk | 23 - src/winfonts/rules.mk | 68 - src/winfonts/winfnt.c | 1200 -- src/winfonts/winfnt.h | 171 - version.sed | 5 - vms_make.com | 1286 -- 730 files changed, 330428 deletions(-) delete mode 100644 CMakeLists.txt delete mode 100644 ChangeLog delete mode 100644 ChangeLog.20 delete mode 100644 ChangeLog.21 delete mode 100644 ChangeLog.22 delete mode 100644 ChangeLog.23 delete mode 100644 ChangeLog.24 delete mode 100644 ChangeLog.25 delete mode 100644 ChangeLog.26 delete mode 100644 Jamfile delete mode 100644 Jamrules delete mode 100644 Makefile delete mode 100644 README delete mode 100644 README.git delete mode 100755 autogen.sh rename glyphtest/bitmap.c => bitmap.c (100%) rename glyphtest/bitmap.h => bitmap.h (100%) delete mode 100644 builds/amiga/README delete mode 100644 builds/amiga/include/config/ftconfig.h delete mode 100644 builds/amiga/include/config/ftmodule.h delete mode 100644 builds/amiga/makefile delete mode 100644 builds/amiga/makefile.os4 delete mode 100644 builds/amiga/smakefile delete mode 100644 builds/amiga/src/base/ftdebug.c delete mode 100644 builds/amiga/src/base/ftsystem.c delete mode 100644 builds/ansi/ansi-def.mk delete mode 100644 builds/ansi/ansi.mk delete mode 100644 builds/atari/ATARI.H delete mode 100644 builds/atari/FNames.SIC delete mode 100644 builds/atari/FREETYPE.PRJ delete mode 100644 builds/atari/README.TXT delete mode 100644 builds/atari/deflinejoiner.awk delete mode 100755 builds/atari/gen-purec-patch.sh delete mode 100644 builds/beos/beos-def.mk delete mode 100644 builds/beos/beos.mk delete mode 100644 builds/beos/detect.mk delete mode 100644 builds/cmake/FindHarfBuzz.cmake delete mode 100644 builds/cmake/iOS.cmake delete mode 100755 builds/cmake/testbuild.sh delete mode 100644 builds/compiler/ansi-cc.mk delete mode 100644 builds/compiler/bcc-dev.mk delete mode 100644 builds/compiler/bcc.mk delete mode 100644 builds/compiler/emx.mk delete mode 100644 builds/compiler/gcc-dev.mk delete mode 100644 builds/compiler/gcc.mk delete mode 100644 builds/compiler/intelc.mk delete mode 100644 builds/compiler/unix-lcc.mk delete mode 100644 builds/compiler/visualage.mk delete mode 100644 builds/compiler/visualc.mk delete mode 100644 builds/compiler/watcom.mk delete mode 100644 builds/compiler/win-lcc.mk delete mode 100644 builds/detect.mk delete mode 100644 builds/dos/detect.mk delete mode 100644 builds/dos/dos-def.mk delete mode 100644 builds/dos/dos-emx.mk delete mode 100644 builds/dos/dos-gcc.mk delete mode 100644 builds/dos/dos-wat.mk delete mode 100644 builds/exports.mk delete mode 100644 builds/freetype.mk delete mode 100644 builds/link_dos.mk delete mode 100644 builds/link_std.mk delete mode 100644 builds/mac/FreeType.m68k_cfm.make.txt delete mode 100644 builds/mac/FreeType.m68k_far.make.txt delete mode 100644 builds/mac/FreeType.ppc_carbon.make.txt delete mode 100644 builds/mac/FreeType.ppc_classic.make.txt delete mode 100644 builds/mac/README delete mode 100755 builds/mac/ascii2mpw.py delete mode 100644 builds/mac/freetype-Info.plist delete mode 100644 builds/mac/ftlib.prj.xml delete mode 100644 builds/mac/ftmac.c delete mode 100644 builds/modules.mk delete mode 100644 builds/newline delete mode 100644 builds/os2/detect.mk delete mode 100644 builds/os2/os2-def.mk delete mode 100644 builds/os2/os2-dev.mk delete mode 100644 builds/os2/os2-gcc.mk delete mode 100644 builds/symbian/bld.inf delete mode 100644 builds/symbian/freetype.mmp delete mode 100644 builds/toplevel.mk delete mode 100644 builds/unix/.gitignore delete mode 100644 builds/unix/configure.raw delete mode 100644 builds/unix/detect.mk delete mode 100644 builds/unix/freetype-config.in delete mode 100644 builds/unix/freetype2.in delete mode 100644 builds/unix/freetype2.m4 delete mode 100644 builds/unix/ft-munmap.m4 delete mode 100644 builds/unix/ftconfig.in delete mode 100644 builds/unix/ftsystem.c delete mode 100644 builds/unix/install.mk delete mode 100644 builds/unix/pkg.m4 delete mode 100644 builds/unix/unix-cc.in delete mode 100644 builds/unix/unix-def.in delete mode 100644 builds/unix/unix-dev.mk delete mode 100644 builds/unix/unix-lcc.mk delete mode 100644 builds/unix/unix.mk delete mode 100644 builds/unix/unixddef.mk delete mode 100644 builds/vms/ftconfig.h delete mode 100644 builds/vms/ftsystem.c delete mode 100644 builds/wince/ftdebug.c delete mode 100644 builds/wince/vc2005-ce/freetype.sln delete mode 100644 builds/wince/vc2005-ce/freetype.vcproj delete mode 100644 builds/wince/vc2005-ce/index.html delete mode 100644 builds/wince/vc2008-ce/freetype.sln delete mode 100644 builds/wince/vc2008-ce/freetype.vcproj delete mode 100644 builds/wince/vc2008-ce/index.html delete mode 100644 builds/windows/.gitignore delete mode 100644 builds/windows/detect.mk delete mode 100644 builds/windows/ftdebug.c delete mode 100644 builds/windows/vc2005/freetype.sln delete mode 100644 builds/windows/vc2005/freetype.vcproj delete mode 100644 builds/windows/vc2005/index.html delete mode 100644 builds/windows/vc2008/freetype.sln delete mode 100644 builds/windows/vc2008/freetype.vcproj delete mode 100644 builds/windows/vc2008/index.html delete mode 100644 builds/windows/vc2010/freetype.sln delete mode 100644 builds/windows/vc2010/freetype.user.props delete mode 100644 builds/windows/vc2010/freetype.vcxproj delete mode 100644 builds/windows/vc2010/freetype.vcxproj.filters delete mode 100644 builds/windows/vc2010/index.html delete mode 100644 builds/windows/visualc/freetype.dsp delete mode 100644 builds/windows/visualc/freetype.dsw delete mode 100644 builds/windows/visualc/freetype.sln delete mode 100644 builds/windows/visualc/freetype.vcproj delete mode 100644 builds/windows/visualc/index.html delete mode 100644 builds/windows/visualce/freetype.dsp delete mode 100644 builds/windows/visualce/freetype.dsw delete mode 100644 builds/windows/visualce/freetype.vcproj delete mode 100644 builds/windows/visualce/index.html delete mode 100644 builds/windows/w32-bcc.mk delete mode 100644 builds/windows/w32-bccd.mk delete mode 100644 builds/windows/w32-dev.mk delete mode 100644 builds/windows/w32-gcc.mk delete mode 100644 builds/windows/w32-icc.mk delete mode 100644 builds/windows/w32-intl.mk delete mode 100644 builds/windows/w32-lcc.mk delete mode 100644 builds/windows/w32-mingw32.mk delete mode 100644 builds/windows/w32-vcc.mk delete mode 100644 builds/windows/w32-wat.mk delete mode 100644 builds/windows/win32-def.mk rename glyphtest/compare-new-to-old.c => compare-new-to-old.c (100%) delete mode 100755 configure delete mode 100644 devel/ft2build.h delete mode 100644 devel/ftoption.h delete mode 100644 docs/CHANGES delete mode 100644 docs/CMAKE delete mode 100644 docs/CUSTOMIZE delete mode 100644 docs/DEBUG delete mode 100644 docs/FTL.TXT delete mode 100644 docs/GPLv2.TXT delete mode 100644 docs/INSTALL delete mode 100644 docs/INSTALL.ANY delete mode 100644 docs/INSTALL.CROSS delete mode 100644 docs/INSTALL.GNU delete mode 100644 docs/INSTALL.MAC delete mode 100644 docs/INSTALL.UNIX delete mode 100644 docs/INSTALL.VMS delete mode 100644 docs/LICENSE.TXT delete mode 100644 docs/MAKEPP delete mode 100644 docs/PROBLEMS delete mode 100644 docs/TODO delete mode 100644 docs/VERSIONS.TXT delete mode 100644 docs/formats.txt delete mode 100644 docs/freetype-config.1 delete mode 100644 docs/raster.txt delete mode 100644 docs/reference/.gitignore delete mode 100644 docs/reference/README delete mode 100644 docs/release rename glyphtest/generate-old-hashes.c => generate-old-hashes.c (100%) delete mode 100644 include/freetype/config/ftconfig.h delete mode 100644 include/freetype/config/ftheader.h delete mode 100644 include/freetype/config/ftmodule.h delete mode 100644 include/freetype/config/ftoption.h delete mode 100644 include/freetype/config/ftstdlib.h delete mode 100644 include/freetype/freetype.h delete mode 100644 include/freetype/ftadvanc.h delete mode 100644 include/freetype/ftautoh.h delete mode 100644 include/freetype/ftbbox.h delete mode 100644 include/freetype/ftbdf.h delete mode 100644 include/freetype/ftbitmap.h delete mode 100644 include/freetype/ftbzip2.h delete mode 100644 include/freetype/ftcache.h delete mode 100644 include/freetype/ftcffdrv.h delete mode 100644 include/freetype/ftchapters.h delete mode 100644 include/freetype/ftcid.h delete mode 100644 include/freetype/fterrdef.h delete mode 100644 include/freetype/fterrors.h delete mode 100644 include/freetype/ftfntfmt.h delete mode 100644 include/freetype/ftgasp.h delete mode 100644 include/freetype/ftglyph.h delete mode 100644 include/freetype/ftgxval.h delete mode 100644 include/freetype/ftgzip.h delete mode 100644 include/freetype/ftimage.h delete mode 100644 include/freetype/ftincrem.h delete mode 100644 include/freetype/ftlcdfil.h delete mode 100644 include/freetype/ftlist.h delete mode 100644 include/freetype/ftlzw.h delete mode 100644 include/freetype/ftmac.h delete mode 100644 include/freetype/ftmm.h delete mode 100644 include/freetype/ftmodapi.h delete mode 100644 include/freetype/ftmoderr.h delete mode 100644 include/freetype/ftotval.h delete mode 100644 include/freetype/ftoutln.h delete mode 100644 include/freetype/ftpcfdrv.h delete mode 100644 include/freetype/ftpfr.h delete mode 100644 include/freetype/ftrender.h delete mode 100644 include/freetype/ftsizes.h delete mode 100644 include/freetype/ftsnames.h delete mode 100644 include/freetype/ftstroke.h delete mode 100644 include/freetype/ftsynth.h delete mode 100644 include/freetype/ftsystem.h delete mode 100644 include/freetype/fttrigon.h delete mode 100644 include/freetype/ftttdrv.h delete mode 100644 include/freetype/fttypes.h delete mode 100644 include/freetype/ftwinfnt.h delete mode 100644 include/freetype/internal/autohint.h delete mode 100644 include/freetype/internal/ftcalc.h delete mode 100644 include/freetype/internal/ftdebug.h delete mode 100644 include/freetype/internal/ftdriver.h delete mode 100644 include/freetype/internal/ftgloadr.h delete mode 100644 include/freetype/internal/fthash.h delete mode 100644 include/freetype/internal/ftmemory.h delete mode 100644 include/freetype/internal/ftobjs.h delete mode 100644 include/freetype/internal/ftpic.h delete mode 100644 include/freetype/internal/ftrfork.h delete mode 100644 include/freetype/internal/ftserv.h delete mode 100644 include/freetype/internal/ftstream.h delete mode 100644 include/freetype/internal/fttrace.h delete mode 100644 include/freetype/internal/ftvalid.h delete mode 100644 include/freetype/internal/internal.h delete mode 100644 include/freetype/internal/psaux.h delete mode 100644 include/freetype/internal/pshints.h delete mode 100644 include/freetype/internal/services/svbdf.h delete mode 100644 include/freetype/internal/services/svcid.h delete mode 100644 include/freetype/internal/services/svfntfmt.h delete mode 100644 include/freetype/internal/services/svgldict.h delete mode 100644 include/freetype/internal/services/svgxval.h delete mode 100644 include/freetype/internal/services/svkern.h delete mode 100644 include/freetype/internal/services/svmetric.h delete mode 100644 include/freetype/internal/services/svmm.h delete mode 100644 include/freetype/internal/services/svotval.h delete mode 100644 include/freetype/internal/services/svpfr.h delete mode 100644 include/freetype/internal/services/svpostnm.h delete mode 100644 include/freetype/internal/services/svprop.h delete mode 100644 include/freetype/internal/services/svpscmap.h delete mode 100644 include/freetype/internal/services/svpsinfo.h delete mode 100644 include/freetype/internal/services/svsfnt.h delete mode 100644 include/freetype/internal/services/svttcmap.h delete mode 100644 include/freetype/internal/services/svtteng.h delete mode 100644 include/freetype/internal/services/svttglyf.h delete mode 100644 include/freetype/internal/services/svwinfnt.h delete mode 100644 include/freetype/internal/sfnt.h delete mode 100644 include/freetype/internal/t1types.h delete mode 100644 include/freetype/internal/tttypes.h delete mode 100644 include/freetype/t1tables.h delete mode 100644 include/freetype/ttnameid.h delete mode 100644 include/freetype/tttables.h delete mode 100644 include/freetype/tttags.h delete mode 100644 include/freetype/ttunpat.h delete mode 100644 include/ft2build.h rename glyphtest/index.html => index.html (100%) delete mode 100644 modules.cfg rename glyphtest/murmur3.c => murmur3.c (100%) rename glyphtest/murmur3.h => murmur3.h (100%) delete mode 100644 objs/.gitignore delete mode 100644 objs/README rename glyphtest/readme.txt => readme.txt (100%) delete mode 100644 src/Jamfile delete mode 100644 src/autofit/Jamfile delete mode 100644 src/autofit/afangles.c delete mode 100644 src/autofit/afangles.h delete mode 100644 src/autofit/afblue.c delete mode 100644 src/autofit/afblue.cin delete mode 100644 src/autofit/afblue.dat delete mode 100644 src/autofit/afblue.h delete mode 100644 src/autofit/afblue.hin delete mode 100644 src/autofit/afcjk.c delete mode 100644 src/autofit/afcjk.h delete mode 100644 src/autofit/afcover.h delete mode 100644 src/autofit/afdummy.c delete mode 100644 src/autofit/afdummy.h delete mode 100644 src/autofit/aferrors.h delete mode 100644 src/autofit/afglobal.c delete mode 100644 src/autofit/afglobal.h delete mode 100644 src/autofit/afhints.c delete mode 100644 src/autofit/afhints.h delete mode 100644 src/autofit/afindic.c delete mode 100644 src/autofit/afindic.h delete mode 100644 src/autofit/aflatin.c delete mode 100644 src/autofit/aflatin.h delete mode 100644 src/autofit/aflatin2.c delete mode 100644 src/autofit/aflatin2.h delete mode 100644 src/autofit/afloader.c delete mode 100644 src/autofit/afloader.h delete mode 100644 src/autofit/afmodule.c delete mode 100644 src/autofit/afmodule.h delete mode 100644 src/autofit/afpic.c delete mode 100644 src/autofit/afpic.h delete mode 100644 src/autofit/afranges.c delete mode 100644 src/autofit/afranges.h delete mode 100644 src/autofit/afscript.h delete mode 100644 src/autofit/afshaper.c delete mode 100644 src/autofit/afshaper.h delete mode 100644 src/autofit/afstyles.h delete mode 100644 src/autofit/aftypes.h delete mode 100644 src/autofit/afwarp.c delete mode 100644 src/autofit/afwarp.h delete mode 100644 src/autofit/afwrtsys.h delete mode 100644 src/autofit/autofit.c delete mode 100644 src/autofit/module.mk delete mode 100644 src/autofit/rules.mk delete mode 100644 src/base/Jamfile delete mode 100644 src/base/basepic.c delete mode 100644 src/base/basepic.h delete mode 100644 src/base/ftadvanc.c delete mode 100644 src/base/ftapi.c delete mode 100644 src/base/ftbase.c delete mode 100644 src/base/ftbase.h delete mode 100644 src/base/ftbbox.c delete mode 100644 src/base/ftbdf.c delete mode 100644 src/base/ftbitmap.c delete mode 100644 src/base/ftcalc.c delete mode 100644 src/base/ftcid.c delete mode 100644 src/base/ftdbgmem.c delete mode 100644 src/base/ftdebug.c delete mode 100644 src/base/ftfntfmt.c delete mode 100644 src/base/ftfstype.c delete mode 100644 src/base/ftgasp.c delete mode 100644 src/base/ftgloadr.c delete mode 100644 src/base/ftglyph.c delete mode 100644 src/base/ftgxval.c delete mode 100644 src/base/fthash.c delete mode 100644 src/base/ftinit.c delete mode 100644 src/base/ftlcdfil.c delete mode 100644 src/base/ftmac.c delete mode 100644 src/base/ftmm.c delete mode 100644 src/base/ftobjs.c delete mode 100644 src/base/ftotval.c delete mode 100644 src/base/ftoutln.c delete mode 100644 src/base/ftpatent.c delete mode 100644 src/base/ftpfr.c delete mode 100644 src/base/ftpic.c delete mode 100644 src/base/ftrfork.c delete mode 100644 src/base/ftsnames.c delete mode 100644 src/base/ftstream.c delete mode 100644 src/base/ftstroke.c delete mode 100644 src/base/ftsynth.c delete mode 100644 src/base/ftsystem.c delete mode 100644 src/base/fttrigon.c delete mode 100644 src/base/fttype1.c delete mode 100644 src/base/ftutil.c delete mode 100644 src/base/ftwinfnt.c delete mode 100644 src/base/md5.c delete mode 100644 src/base/md5.h delete mode 100644 src/base/rules.mk delete mode 100644 src/bdf/Jamfile delete mode 100644 src/bdf/README delete mode 100644 src/bdf/bdf.c delete mode 100644 src/bdf/bdf.h delete mode 100644 src/bdf/bdfdrivr.c delete mode 100644 src/bdf/bdfdrivr.h delete mode 100644 src/bdf/bdferror.h delete mode 100644 src/bdf/bdflib.c delete mode 100644 src/bdf/module.mk delete mode 100644 src/bdf/rules.mk delete mode 100644 src/bzip2/Jamfile delete mode 100644 src/bzip2/ftbzip2.c delete mode 100644 src/bzip2/rules.mk delete mode 100644 src/cache/Jamfile delete mode 100644 src/cache/ftcache.c delete mode 100644 src/cache/ftcbasic.c delete mode 100644 src/cache/ftccache.c delete mode 100644 src/cache/ftccache.h delete mode 100644 src/cache/ftccback.h delete mode 100644 src/cache/ftccmap.c delete mode 100644 src/cache/ftcerror.h delete mode 100644 src/cache/ftcglyph.c delete mode 100644 src/cache/ftcglyph.h delete mode 100644 src/cache/ftcimage.c delete mode 100644 src/cache/ftcimage.h delete mode 100644 src/cache/ftcmanag.c delete mode 100644 src/cache/ftcmanag.h delete mode 100644 src/cache/ftcmru.c delete mode 100644 src/cache/ftcmru.h delete mode 100644 src/cache/ftcsbits.c delete mode 100644 src/cache/ftcsbits.h delete mode 100644 src/cache/rules.mk delete mode 100644 src/cff/Jamfile delete mode 100644 src/cff/cf2arrst.c delete mode 100644 src/cff/cf2arrst.h delete mode 100644 src/cff/cf2blues.c delete mode 100644 src/cff/cf2blues.h delete mode 100644 src/cff/cf2error.c delete mode 100644 src/cff/cf2error.h delete mode 100644 src/cff/cf2fixed.h delete mode 100644 src/cff/cf2font.c delete mode 100644 src/cff/cf2font.h delete mode 100644 src/cff/cf2ft.c delete mode 100644 src/cff/cf2ft.h delete mode 100644 src/cff/cf2glue.h delete mode 100644 src/cff/cf2hints.c delete mode 100644 src/cff/cf2hints.h delete mode 100644 src/cff/cf2intrp.c delete mode 100644 src/cff/cf2intrp.h delete mode 100644 src/cff/cf2read.c delete mode 100644 src/cff/cf2read.h delete mode 100644 src/cff/cf2stack.c delete mode 100644 src/cff/cf2stack.h delete mode 100644 src/cff/cf2types.h delete mode 100644 src/cff/cff.c delete mode 100644 src/cff/cffcmap.c delete mode 100644 src/cff/cffcmap.h delete mode 100644 src/cff/cffdrivr.c delete mode 100644 src/cff/cffdrivr.h delete mode 100644 src/cff/cfferrs.h delete mode 100644 src/cff/cffgload.c delete mode 100644 src/cff/cffgload.h delete mode 100644 src/cff/cffload.c delete mode 100644 src/cff/cffload.h delete mode 100644 src/cff/cffobjs.c delete mode 100644 src/cff/cffobjs.h delete mode 100644 src/cff/cffparse.c delete mode 100644 src/cff/cffparse.h delete mode 100644 src/cff/cffpic.c delete mode 100644 src/cff/cffpic.h delete mode 100644 src/cff/cfftoken.h delete mode 100644 src/cff/cfftypes.h delete mode 100644 src/cff/module.mk delete mode 100644 src/cff/rules.mk delete mode 100644 src/cid/Jamfile delete mode 100644 src/cid/ciderrs.h delete mode 100644 src/cid/cidgload.c delete mode 100644 src/cid/cidgload.h delete mode 100644 src/cid/cidload.c delete mode 100644 src/cid/cidload.h delete mode 100644 src/cid/cidobjs.c delete mode 100644 src/cid/cidobjs.h delete mode 100644 src/cid/cidparse.c delete mode 100644 src/cid/cidparse.h delete mode 100644 src/cid/cidriver.c delete mode 100644 src/cid/cidriver.h delete mode 100644 src/cid/cidtoken.h delete mode 100644 src/cid/module.mk delete mode 100644 src/cid/rules.mk delete mode 100644 src/cid/type1cid.c delete mode 100644 src/gxvalid/Jamfile delete mode 100644 src/gxvalid/README delete mode 100644 src/gxvalid/gxvalid.c delete mode 100644 src/gxvalid/gxvalid.h delete mode 100644 src/gxvalid/gxvbsln.c delete mode 100644 src/gxvalid/gxvcommn.c delete mode 100644 src/gxvalid/gxvcommn.h delete mode 100644 src/gxvalid/gxverror.h delete mode 100644 src/gxvalid/gxvfeat.c delete mode 100644 src/gxvalid/gxvfeat.h delete mode 100644 src/gxvalid/gxvfgen.c delete mode 100644 src/gxvalid/gxvjust.c delete mode 100644 src/gxvalid/gxvkern.c delete mode 100644 src/gxvalid/gxvlcar.c delete mode 100644 src/gxvalid/gxvmod.c delete mode 100644 src/gxvalid/gxvmod.h delete mode 100644 src/gxvalid/gxvmort.c delete mode 100644 src/gxvalid/gxvmort.h delete mode 100644 src/gxvalid/gxvmort0.c delete mode 100644 src/gxvalid/gxvmort1.c delete mode 100644 src/gxvalid/gxvmort2.c delete mode 100644 src/gxvalid/gxvmort4.c delete mode 100644 src/gxvalid/gxvmort5.c delete mode 100644 src/gxvalid/gxvmorx.c delete mode 100644 src/gxvalid/gxvmorx.h delete mode 100644 src/gxvalid/gxvmorx0.c delete mode 100644 src/gxvalid/gxvmorx1.c delete mode 100644 src/gxvalid/gxvmorx2.c delete mode 100644 src/gxvalid/gxvmorx4.c delete mode 100644 src/gxvalid/gxvmorx5.c delete mode 100644 src/gxvalid/gxvopbd.c delete mode 100644 src/gxvalid/gxvprop.c delete mode 100644 src/gxvalid/gxvtrak.c delete mode 100644 src/gxvalid/module.mk delete mode 100644 src/gxvalid/rules.mk delete mode 100644 src/gzip/Jamfile delete mode 100644 src/gzip/adler32.c delete mode 100644 src/gzip/ftgzip.c delete mode 100644 src/gzip/ftzconf.h delete mode 100644 src/gzip/infblock.c delete mode 100644 src/gzip/infblock.h delete mode 100644 src/gzip/infcodes.c delete mode 100644 src/gzip/infcodes.h delete mode 100644 src/gzip/inffixed.h delete mode 100644 src/gzip/inflate.c delete mode 100644 src/gzip/inftrees.c delete mode 100644 src/gzip/inftrees.h delete mode 100644 src/gzip/infutil.c delete mode 100644 src/gzip/infutil.h delete mode 100644 src/gzip/rules.mk delete mode 100644 src/gzip/zlib.h delete mode 100644 src/gzip/zutil.c delete mode 100644 src/gzip/zutil.h delete mode 100644 src/lzw/Jamfile delete mode 100644 src/lzw/ftlzw.c delete mode 100644 src/lzw/ftzopen.c delete mode 100644 src/lzw/ftzopen.h delete mode 100644 src/lzw/rules.mk delete mode 100644 src/otvalid/Jamfile delete mode 100644 src/otvalid/module.mk delete mode 100644 src/otvalid/otvalid.c delete mode 100644 src/otvalid/otvalid.h delete mode 100644 src/otvalid/otvbase.c delete mode 100644 src/otvalid/otvcommn.c delete mode 100644 src/otvalid/otvcommn.h delete mode 100644 src/otvalid/otverror.h delete mode 100644 src/otvalid/otvgdef.c delete mode 100644 src/otvalid/otvgpos.c delete mode 100644 src/otvalid/otvgpos.h delete mode 100644 src/otvalid/otvgsub.c delete mode 100644 src/otvalid/otvjstf.c delete mode 100644 src/otvalid/otvmath.c delete mode 100644 src/otvalid/otvmod.c delete mode 100644 src/otvalid/otvmod.h delete mode 100644 src/otvalid/rules.mk delete mode 100644 src/pcf/Jamfile delete mode 100644 src/pcf/README delete mode 100644 src/pcf/module.mk delete mode 100644 src/pcf/pcf.c delete mode 100644 src/pcf/pcf.h delete mode 100644 src/pcf/pcfdrivr.c delete mode 100644 src/pcf/pcfdrivr.h delete mode 100644 src/pcf/pcferror.h delete mode 100644 src/pcf/pcfread.c delete mode 100644 src/pcf/pcfread.h delete mode 100644 src/pcf/pcfutil.c delete mode 100644 src/pcf/pcfutil.h delete mode 100644 src/pcf/rules.mk delete mode 100644 src/pfr/Jamfile delete mode 100644 src/pfr/module.mk delete mode 100644 src/pfr/pfr.c delete mode 100644 src/pfr/pfrcmap.c delete mode 100644 src/pfr/pfrcmap.h delete mode 100644 src/pfr/pfrdrivr.c delete mode 100644 src/pfr/pfrdrivr.h delete mode 100644 src/pfr/pfrerror.h delete mode 100644 src/pfr/pfrgload.c delete mode 100644 src/pfr/pfrgload.h delete mode 100644 src/pfr/pfrload.c delete mode 100644 src/pfr/pfrload.h delete mode 100644 src/pfr/pfrobjs.c delete mode 100644 src/pfr/pfrobjs.h delete mode 100644 src/pfr/pfrsbit.c delete mode 100644 src/pfr/pfrsbit.h delete mode 100644 src/pfr/pfrtypes.h delete mode 100644 src/pfr/rules.mk delete mode 100644 src/psaux/Jamfile delete mode 100644 src/psaux/afmparse.c delete mode 100644 src/psaux/afmparse.h delete mode 100644 src/psaux/module.mk delete mode 100644 src/psaux/psaux.c delete mode 100644 src/psaux/psauxerr.h delete mode 100644 src/psaux/psauxmod.c delete mode 100644 src/psaux/psauxmod.h delete mode 100644 src/psaux/psconv.c delete mode 100644 src/psaux/psconv.h delete mode 100644 src/psaux/psobjs.c delete mode 100644 src/psaux/psobjs.h delete mode 100644 src/psaux/rules.mk delete mode 100644 src/psaux/t1cmap.c delete mode 100644 src/psaux/t1cmap.h delete mode 100644 src/psaux/t1decode.c delete mode 100644 src/psaux/t1decode.h delete mode 100644 src/pshinter/Jamfile delete mode 100644 src/pshinter/module.mk delete mode 100644 src/pshinter/pshalgo.c delete mode 100644 src/pshinter/pshalgo.h delete mode 100644 src/pshinter/pshglob.c delete mode 100644 src/pshinter/pshglob.h delete mode 100644 src/pshinter/pshinter.c delete mode 100644 src/pshinter/pshmod.c delete mode 100644 src/pshinter/pshmod.h delete mode 100644 src/pshinter/pshnterr.h delete mode 100644 src/pshinter/pshpic.c delete mode 100644 src/pshinter/pshpic.h delete mode 100644 src/pshinter/pshrec.c delete mode 100644 src/pshinter/pshrec.h delete mode 100644 src/pshinter/rules.mk delete mode 100644 src/psnames/Jamfile delete mode 100644 src/psnames/module.mk delete mode 100644 src/psnames/psmodule.c delete mode 100644 src/psnames/psmodule.h delete mode 100644 src/psnames/psnamerr.h delete mode 100644 src/psnames/psnames.c delete mode 100644 src/psnames/pspic.c delete mode 100644 src/psnames/pspic.h delete mode 100644 src/psnames/pstables.h delete mode 100644 src/psnames/rules.mk delete mode 100644 src/raster/Jamfile delete mode 100644 src/raster/ftmisc.h delete mode 100644 src/raster/ftraster.c delete mode 100644 src/raster/ftraster.h delete mode 100644 src/raster/ftrend1.c delete mode 100644 src/raster/ftrend1.h delete mode 100644 src/raster/module.mk delete mode 100644 src/raster/raster.c delete mode 100644 src/raster/rasterrs.h delete mode 100644 src/raster/rastpic.c delete mode 100644 src/raster/rastpic.h delete mode 100644 src/raster/rules.mk delete mode 100644 src/sfnt/Jamfile delete mode 100644 src/sfnt/module.mk delete mode 100644 src/sfnt/pngshim.c delete mode 100644 src/sfnt/pngshim.h delete mode 100644 src/sfnt/rules.mk delete mode 100644 src/sfnt/sfdriver.c delete mode 100644 src/sfnt/sfdriver.h delete mode 100644 src/sfnt/sferrors.h delete mode 100644 src/sfnt/sfnt.c delete mode 100644 src/sfnt/sfntpic.c delete mode 100644 src/sfnt/sfntpic.h delete mode 100644 src/sfnt/sfobjs.c delete mode 100644 src/sfnt/sfobjs.h delete mode 100644 src/sfnt/ttbdf.c delete mode 100644 src/sfnt/ttbdf.h delete mode 100644 src/sfnt/ttcmap.c delete mode 100644 src/sfnt/ttcmap.h delete mode 100644 src/sfnt/ttcmapc.h delete mode 100644 src/sfnt/ttkern.c delete mode 100644 src/sfnt/ttkern.h delete mode 100644 src/sfnt/ttload.c delete mode 100644 src/sfnt/ttload.h delete mode 100644 src/sfnt/ttmtx.c delete mode 100644 src/sfnt/ttmtx.h delete mode 100644 src/sfnt/ttpost.c delete mode 100644 src/sfnt/ttpost.h delete mode 100644 src/sfnt/ttsbit.c delete mode 100644 src/sfnt/ttsbit.h delete mode 100644 src/smooth/Jamfile delete mode 100644 src/smooth/ftgrays.c delete mode 100644 src/smooth/ftgrays.h delete mode 100644 src/smooth/ftsmerrs.h delete mode 100644 src/smooth/ftsmooth.c delete mode 100644 src/smooth/ftsmooth.h delete mode 100644 src/smooth/ftspic.c delete mode 100644 src/smooth/ftspic.h delete mode 100644 src/smooth/module.mk delete mode 100644 src/smooth/rules.mk delete mode 100644 src/smooth/smooth.c delete mode 100644 src/tools/Jamfile delete mode 100644 src/tools/afblue.pl delete mode 100644 src/tools/apinames.c delete mode 100755 src/tools/chktrcmp.py delete mode 100644 src/tools/cordic.py delete mode 100644 src/tools/docmaker/.gitignore delete mode 100644 src/tools/docmaker/content.py delete mode 100644 src/tools/docmaker/docbeauty.py delete mode 100644 src/tools/docmaker/docmaker.py delete mode 100644 src/tools/docmaker/formatter.py delete mode 100644 src/tools/docmaker/sources.py delete mode 100644 src/tools/docmaker/tohtml.py delete mode 100644 src/tools/docmaker/utils.py delete mode 100644 src/tools/ftfuzzer/README delete mode 100644 src/tools/ftfuzzer/ftfuzzer.cc delete mode 100644 src/tools/ftfuzzer/ftmutator.cc delete mode 100644 src/tools/ftfuzzer/rasterfuzzer.cc delete mode 100644 src/tools/ftfuzzer/runinput.cc delete mode 100644 src/tools/ftrandom/Makefile delete mode 100644 src/tools/ftrandom/README delete mode 100644 src/tools/ftrandom/ftrandom.c delete mode 100644 src/tools/glnames.py delete mode 100644 src/tools/no-copyright delete mode 100644 src/tools/test_afm.c delete mode 100644 src/tools/test_bbox.c delete mode 100644 src/tools/test_trig.c delete mode 100755 src/tools/update-copyright delete mode 100755 src/tools/update-copyright-year delete mode 100644 src/truetype/Jamfile delete mode 100644 src/truetype/module.mk delete mode 100644 src/truetype/rules.mk delete mode 100644 src/truetype/truetype.c delete mode 100644 src/truetype/ttdriver.c delete mode 100644 src/truetype/ttdriver.h delete mode 100644 src/truetype/tterrors.h delete mode 100644 src/truetype/ttgload.c delete mode 100644 src/truetype/ttgload.h delete mode 100644 src/truetype/ttgxvar.c delete mode 100644 src/truetype/ttgxvar.h delete mode 100644 src/truetype/ttinterp.c delete mode 100644 src/truetype/ttinterp.h delete mode 100644 src/truetype/ttobjs.c delete mode 100644 src/truetype/ttobjs.h delete mode 100644 src/truetype/ttpic.c delete mode 100644 src/truetype/ttpic.h delete mode 100644 src/truetype/ttpload.c delete mode 100644 src/truetype/ttpload.h delete mode 100644 src/truetype/ttsubpix.c delete mode 100644 src/truetype/ttsubpix.h delete mode 100644 src/type1/Jamfile delete mode 100644 src/type1/module.mk delete mode 100644 src/type1/rules.mk delete mode 100644 src/type1/t1afm.c delete mode 100644 src/type1/t1afm.h delete mode 100644 src/type1/t1driver.c delete mode 100644 src/type1/t1driver.h delete mode 100644 src/type1/t1errors.h delete mode 100644 src/type1/t1gload.c delete mode 100644 src/type1/t1gload.h delete mode 100644 src/type1/t1load.c delete mode 100644 src/type1/t1load.h delete mode 100644 src/type1/t1objs.c delete mode 100644 src/type1/t1objs.h delete mode 100644 src/type1/t1parse.c delete mode 100644 src/type1/t1parse.h delete mode 100644 src/type1/t1tokens.h delete mode 100644 src/type1/type1.c delete mode 100644 src/type42/Jamfile delete mode 100644 src/type42/module.mk delete mode 100644 src/type42/rules.mk delete mode 100644 src/type42/t42drivr.c delete mode 100644 src/type42/t42drivr.h delete mode 100644 src/type42/t42error.h delete mode 100644 src/type42/t42objs.c delete mode 100644 src/type42/t42objs.h delete mode 100644 src/type42/t42parse.c delete mode 100644 src/type42/t42parse.h delete mode 100644 src/type42/t42types.h delete mode 100644 src/type42/type42.c delete mode 100644 src/winfonts/Jamfile delete mode 100644 src/winfonts/fnterrs.h delete mode 100644 src/winfonts/module.mk delete mode 100644 src/winfonts/rules.mk delete mode 100644 src/winfonts/winfnt.c delete mode 100644 src/winfonts/winfnt.h delete mode 100644 version.sed delete mode 100644 vms_make.com diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index d1b053e2b..000000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,452 +0,0 @@ -# CMakeLists.txt -# -# Copyright 2013-2017 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 ... -# -# . Installation of FreeType can be controlled with the CMake variables -# `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL' -# (this is compatible with the same CMake variables in zlib's CMake -# support). - - -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 - ${CMAKE_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 "8") -set(VERSION_PATCH "0") - -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-new" - "${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-new" - "${FTCONFIG_H}") -endif () -execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h-new" - "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h") - - -# 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-new" - "${FTOPTION_H}") -execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h-new" - "${PROJECT_BINARY_DIR}/include/freetype/config/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.12) - 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 -if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL) - 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 - ) -endif () - -if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - 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 - ) -endif () - - -# 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/ChangeLog b/ChangeLog deleted file mode 100644 index bc65cbb67..000000000 --- a/ChangeLog +++ /dev/null @@ -1,4689 +0,0 @@ -2017-06-20 Tony Theodore - - Fix pkg-config in freetype-config for cross-compiling (#51274). - - * builds/unix/unix-def.in (PKG_CONFIG): New variable. - (freetype-config): Use it in sed expression. - - * builds/unix/freetype-config.in: s/pkg-config/%PKG_CONFIG%/. - -2017-06-20 Werner Lemberg - - [cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2300 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2313 - - * src/cff/cf2hints.c (cf2_hintmap_adjustHints): Use ADD_INT32. - - * src/truetype/ttinterp.c (Ins_ABS): Avoid FT_ABS. - -2017-06-17 Alexei Podtelezhnikov - - [base, smooth] LCD filtering cleanups. - - * src/base/ftlcdlil.c (ft_lcd_filter_fir, _ft_lcd_filter_legacy): - Clean up, start filtering from the bottom-left origin. - - * src/smooth/ftsmooth.c (ft_smooth_render_generic): Updated. - -2017-06-16 Werner Lemberg - - [truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2270 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2278 - - * src/truetype/ttinterp.c (Ins_MDRP, _iup_worker_interpolate): Use - ADD_LONG and SUB_LONG. - -2017-06-15 Werner Lemberg - - [bdf, cff] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2244 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2261 - - * src/bdf/bdfdrivr.c (BDF_Face_Init): Replace calls to FT_ABS with - direct code to avoid value negation. - - * src/cff/cf2blues.c (cf2_blues_capture): Use SUB_INT32 and - ADD_INT32. - -2017-06-13 Werner Lemberg - - * src/winfonts/winfnt.c (FNT_Face_Init): Don't set active encoding. - - FreeType only sets a default active encoding for Unicode. - -2017-06-13 Werner Lemberg - - [cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2216 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2218 - - * src/cff/cf2fixed.h (cf2_fixedAbs): Use NEG_INT32. - - * src/truetype/ttinterp.c (Ins_IP): Use SUB_LONG. - -2017-06-11 Werner Lemberg - - [cff] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2200 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2210 - - * src/cff/cf2hints.c (cf2_hintmap_insertHint): Use SUB_INT32 and - ADD_INT32. - - * src/cff/cf2intrp.c (cf2_interpT2CharString) : Use - ADD_INT32. - -2017-06-10 Werner Lemberg - - [truetype] Fix TT_Set_Var_Design. - - Reported by Nikolaus Waxweiler . - - * src/truetype/ttgxvar.c (TT_Set_Var_Design): Correctly handle the - case where we have less input coordinates than axes. - -2017-06-10 Werner Lemberg - - * src/base/ftcalc.c (FT_DivFix): Fix embarrassing typo. - - Bug introduced 2017-05-28. - -2017-06-09 Werner Lemberg - - [cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2144 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2151 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2153 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2173 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2186 - - * src/cff/cf2blues.c (cf2_blues_init): Use SUB_INT32. - - * src/truetype/ttinterp.c (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): Use ADD_LONG, - SUB_LONG, NEG_LONG, FT_PIX_ROUND_LONG, FT_PIX_CEIL_LONG, - FT_PAD_ROUND_LONG - (Ins_SxVTL, Ins_MIRP): Use SUB_LONG. - (_iup_worker_shift): Use SUB_LONG and ADD_LONG. - -2017-06-09 Werner Lemberg - - Provide more macros for flooring, ceiling, and rounding. - - These versions don't produce run-time errors due to integer - overflow. - - * include/freetype/internal/ftobjs.h: Include FT_INTERNAL_CALC_H. - (FT_PAD_ROUND_LONG, FT_PAD_CEIL_LONG, FT_PIX_ROUND_LONG, - FT_PIX_CEIL_LONG): New macros. - (FT_PAD_ROUND_INT32, FT_PAD_CEIL_INT32, FT_PIX_ROUND_INT32, - FT_PIX_CEIL_INT32): New macros. - -2017-06-09 Werner Lemberg - - Remove unused macros. - - * include/freetype/internal/ftcalc.h (ADD_INT, SUB_INT, MUL_INT, - NEG_INT): Deleted. - -2017-06-09 Werner Lemberg - - */*: Remove `OVERFLOW_' prefix. - - This increases readability. - -2017-06-07 Werner Lemberg - - [cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2133 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2137 - - * src/cff/cf2hints.c (cf2_hint_init): Use OVERFLOW_SUB_INT32. - - * src/truetype/ttinterp.c (PROJECT, DUALPROJ): Use - OVERFLOW_SUB_LONG. - -2017-06-06 Werner Lemberg - - [cff] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2109 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2110 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2122 - - * src/cff/cf2blues.c (cf2_blues_init): Use OVERFLOW_SUB_INT32. - - * src/cff/cf2hints.c (cf2_hintmap_map): Synchronize if-else - branches. - -2017-06-05 Werner Lemberg - - [cff] Integer overflow. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2089 - - * src/cff/cffload.c (cff_blend_doBlend): User OVERFLOW_ADD_INT32. - -2017-06-04 Werner Lemberg - - [cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2075 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2088 - - * src/cff/cf2font.c (cf2_font_setup): Use OVERFLOW_MUL_INT32. - - * src/truetype/ttinterp.c (Ins_ISECT): Use OVERFLOW_MUL_LONG, - OVERFLOW_ADD_LONG, and OVERFLOW_SUB_LONG. - -2017-06-03 Werner Lemberg - - [base, cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2060 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2062 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2063 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2068 - - * src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Use - OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG. - - * src/cff/cf2blues.c (cf2_blues_capture), src/cff/cf2hints.c - (cf2_hintmap_adjustHints): Use OVERFLOW_SUB_INT32. - - * src/truetype/ttgload.c (compute_glyph_metrics): User - OVERFLOW_SUB_LONG. - - * src/truetype/ttinterp.c (Direct_Move, Direct_Move_Orig, - Direct_Move_X, Direct_Move_Y, Direct_Move_Orig_X, - Direct_Move_Orig_Y, Move_Zp2_Point, Ins_MSIRP): Use - OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG. - -2017-06-03 Werner Lemberg - - * builds/unix/freetype-config.in: Fix pkg-config test (#51162). - - Patch directly taken from bug report. - -2017-06-03 Werner Lemberg - - [bdf] Synchronize sanity checks with pcf driver. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2054 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2058 - - * src/bdf/bdfdrivr.c (BDF_Face_Init): Check font ascent and descent. - Check AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, RESOLUTION_X, and - RESOLUTION_Y properties. - -2017-06-03 Werner Lemberg - - [cff, truetype] Integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2047 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2057 - - * src/cff/cf2hints.c (cf2_hintmap_map): Use OVERFLOW_SUB_INT32. - - * src/truetype/ttinterp.c (Ins_ADD): Use OVERFLOW_ADD_LONG. - (Ins_SUB): Use OVERFLOW_SUB_LONG. - (Ins_NEG): Use NEG_LONG. - -2017-06-03 Werner Lemberg - - ftcalc.h: Avoid left-shift of negative numbers. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2055 - - * include/freetype/internal/ftcalc.h (INT_TO_F26DOT6, - INT_TO_F2DOT14, INT_TO_FIXED, F2DOT14_TO_FIXED): Use multiplication. - -2017-06-02 Werner Lemberg - - [cff] Even more integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2046 - - * src/cff/cf2intrp.c (cf2_doStems, cf2_interpT2CharString): Use - OVERFLOW_ADD_INT32. - -2017-06-02 Werner Lemberg - - [cff] More integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2032 - - * src/cff/cf2blues.c (cf2_blues_init): Use OVERFLOW_SUB_INT32. - -2017-06-02 Werner Lemberg - - [bdf] Don't left-shift negative numbers. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2031 - - * src/bdf/bdfdrivr.c (BDF_Face_Init): Use multiplication. - -2017-06-02 Werner Lemberg - - [bdf] Fix integer scanning routines. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2029 - - * src/bdf/bdflib.c (_bdf_atoul, _bdf_atol, _bdf_atous, _bdf_atos): - Stop scanning if result would overflow. - -2017-06-02 Werner Lemberg - - [cff] Fix integer overflows. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2027 - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2028 - - * src/cff/cf2hints.c (cf2_hintmap_insertHint), src/cff/cf2intrp.c - (cf2_doFlex): Use OVERFLOW_ADD_INT32 and OVERFLOW_SUB_INT32. - -2017-06-01 Werner Lemberg - - [smooth] Some 32bit integer overflow run-time errors. - - * src/smooth/ftgrays.c [STANDALONE] (OVERFLOW_ADD_LONG, - OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG, NEG_LONG): New macros. - [!STANDALONE]: Include FT_INTERNAL_CALC_H. - (gray_render_cubic): Use those macros where appropriate. - -2017-06-01 Werner Lemberg - - * src/base/ftglyph.c (FT_Get_Glyph): Check `slot->advance'. - -2017-06-01 Werner Lemberg - - [psaux] 32bit integer overflow tun-time errors (#46149). - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Use - OVERFLOW_ADD_LONG and OVERFLOW_SUB_LONG where appropriate. - -2017-06-01 Werner Lemberg - - * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter again. - - Problem reported by Marek Kašík . - - The problematic font that exceeds the old limit is Padauk-Bold, - version 3.002, containing bytecode generated by a buggy version of - ttfautohint. - -2017-05-31 Werner Lemberg - - [cff] 32bit integer overflow run-time errors 2/2 (#46149). - - This commit handles the new engine. - - * include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT32, - OVERFLOW_SUB_INT32, OVERFLOW_MUL_INT32, NEG_INT, NEG_LONG, - NEG_INT32): New macros. - - * src/cff/cf2ft.c (cf2_getScaleAndHintFlag): Use OVERFLOW_ADD_INT32. - - * src/cff/cf2hints.c (cf2_getWindingMomentum, cf2_hint_init, - cf2_hintmap_map, cf2_glyphpath_hintPoint, - cf2_glyphpath_computeIntersection, cf2_glyphpath_computeOffset, - cf2_glyphpath_lineTo, cf2_glyphpath_curveTo): Use - OVERFLOW_ADD_INT32, OVERFLOW_SUB_INT32, OVERFLOW_MUL_INT32, and - NEG_INT32 where appropriate. - - * src/cff/cf2intrp.c (cf2_doFlex, cf2_doBlend, - cf2_interpT2CharString): Ditto. - Also add some other code where needed to avoid overflow. - -2017-05-30 Werner Lemberg - - [cff] 32bit integer overflow run-time errors 1/2 (#46149). - - This commit handles the old engine. - - * src/cff/cffgload.c: Include FT_INTERNAL_CALC_H. - (cff_decoder_parse_charstrings): Use OVERFLOW_ADD_LONG and - OVERFLOW_SUB_LONG where needed. - - * src/cff/cffparse.c: Include FT_INTERNAL_CALC_H. - (power_ten_limits): New static array. - (do_fixed): Use it to prevent multiplication overflow. - (cff_parser_run): Use OVERFLOW_ADD_LONG. - -2017-05-30 Werner Lemberg - - [psaux] Correctly handle sequences of multiple number signs. - - * src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed): Return zero - if we encounter more than a single sign. - -2017-05-29 Werner Lemberg - - [pcf] 32bit integer overflow run-time errors (#46149). - - * src/pcf/pcfread.c (pcf_get_accel): Add sanity checks for - `fontAscent' and `fontDescent'. - (pcf_load_font): Add sanity checks for global height. - Add sanity checks for AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE, - RESOLUTION_X, and RESOLUTION_Y properties. - -2017-05-29 Werner Lemberg - - Handle some integer overflow run-time errors (#46149, #48979). - - This commit (mainly for 32bit CPUs) is the first of a series of - similar commits to handle known integer overflows. Basically, all - of them are harmless, since they affect rendering of glyphs only, - not posing security threats. It is expected that fuzzying will show - up more overflows, to be fixed in due course. - - The idea is to mark places where overflows can occur, using macros - that simply cast to unsigned integers, because overflow arithmetic - is well defined in this case. Doing so suppresses run-time errors - of sanitizers without adding computational overhead. - - * include/freetype/internal/ftcalc.h (OVERFLOW_ADD_INT, - OVERFLOW_SUB_INT, OVERFLOW_MUL_INT, OVERFLOW_ADD_LONG, - OVERFLOW_SUB_LONG, OVERFLOW_MUL_LONG): New macros. - - * src/base/ftcalc.c (FT_RoundFix, FT_CeilFix, FT_Matrix_Multiply, - FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled, - ft_corner_orientation): Use new macros. - - * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use new macros. - -2017-05-28 Werner Lemberg - - * include/freetype/internal/ftcalc.h (FLOAT_TO_FIXED): Remove. - - This macro is not used. - -2017-05-28 Werner Lemberg - - [cff] s/cf2_floatToFixed/cf2_doubleToFixed/. - - The new name better describes what the macro actually does; - additionally, we don't need a trailing `f' for literals (there was - only a single such instance in the code, but this caused a clang - warning because the macro itself uses `double' literals). - - * src/cff/cf2blues.c, src/cff/cf2blues.h, src/cff/cf2fixed.h, - src/cff/cf2font.c, src/cff/cf2hints.c: Updated. - -2017-05-28 Werner Lemberg - - Fix negation of INT_MIN and LONG_MIN (#46149). - - * src/base/ftcalc.c (FT_MOVE_SIGN): Add argument to pass unsigned - value, to be used as the result. - (FT_MulDiv, FT_MulDiv_No_Round, FT_DivFix, FT_MulFix, - FT_Vector_NormLen): Updated. - -2017-05-27 Werner Lemberg - - [truetype] Fix handling of design coordinates (#51127). - - * src/truetype/ttgxvar.c (tt_set_mm_blend): Compute all design - coordinates if we have to create the `blends->coord' array. - (TT_Get_MM_Blend, TT_Get_Var_Design): Select default instance - coordinates if no instance is selected yet. - -2017-05-24 Werner Lemberg - - [bdf, pcf] Support ISO646.1991-IRV character encoding (aka ASCII). - - Problem reported by Marek Kašík , cf. - - https://bugzilla.redhat.com/show_bug.cgi?id=1451795 - - * src/bdf/bdfdrivr.c (BDF_Face_Init), src/pcf/pcfdrivr.c - (PCF_Face_Init): Implement it. - -2017-05-20 Nikolaus Waxweiler - - [truetype] Always use interpreter v35 for B/W rendering (#51051). - - * src/truetype/ttgload.c (tt_loader_init) - [TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL]: Adjust - `subpixel_hinting_lean', `grayscale_cleartype', and - `vertical_lcd_lean' accordingly. - - * src/truetype/ttinterp.c (Ins_GETINFO): Updated. - (TT_RunIns): Update `backward_compatibility' flag. - -2017-05-20 Alexei Podtelezhnikov - - [smooth] Implement minimal dynamic padding for LCD filtering. - - Extra bitmap padding for LCD filtering depends on the filter. The - default 5-tap filter needs 2 extra subpixels. The light 3-tap filter - needs only 1 extra subpixel. This space could be already available - due to rounding. In order to optimize the padding, we now expand - CBox for the given filter weights before rounding. - - This change breakes current Skia (and Firefox). - - * include/freetype/internal/ftobjs.h (FT_LibraryRec) - [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Remove `lcd_extra' field. - - * src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights, - FT_Library_SetLcdFilter): Remove `lcd_extra' initializations. - - * src/smooth/ftsmooth.c (ft_smooth_render_generic): Implement dymanic - LCD padding. - -2017-05-15 Werner Lemberg - - [sfnt] Return proper scaling values for SBIX bitmaps. - - Problem reported by Hin-Tak Leung . - - * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it. - -2017-05-15 Werner Lemberg - - [truetype] Fix error handling for embedded bitmaps. - - Problem reported by Hin-Tak Leung . - - * src/truetype/ttgload.c (TT_Load_Glyph) - [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Handle error if font is not - scalable. - -2017-05-15 Alexei Podtelezhnikov - - [autofit] Make autohint warping NORMAL option. - - This moves warping option from LIGHT to NORMAL mode. This makes LIGHT - truly void of hinting in x-direction, with left side bearing never - changed and right side bearing only altered by advance rounding. - Therefore, LIGHT is now ready to return fractional advance. As a - NORMAL option, warping substitutes normal hinting. - - * src/autofit/afcjk.c (af_cjk_hints_apply): Updated. - * src/autofit/aflatin.c (af_latin_hints_apply): Updated. - * src/autofit/aflatin2.c (af_latin2_hints_apply): Updated. - - * src/autofit/afloader.c (af_loader_load_glyph): Handle warping - phantom points as normal. - -2017-05-14 Werner Lemberg - - Remove remnants of raster pool. - - * include/freetype/internal/ftobjs.h (FT_LibraryRec): Remove - `raster_pool' and `raster_pool_size' fields. - - * src/base/ftobjs.c (FT_New_Library), src/raster/ftrend1.c - (ft_raster1_init), src/smooth/ftsmooth.c (ft_smooth_init): Updated. - -2017-05-13 Werner Lemberg - - * Version 2.8 released. - ======================= - - - Tag sources with `VER-2-8'. - - * docs/VERSION.TXT: Add entry for version 2.8. - * docs/CHANGES: Updated. - - * 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.7.1/2.8/, s/271/28/. - - * include/freetype/freetype.h (FREETYPE_MINOR): Set to 8. - (FREETYPE_PATCH): Set to 0. - - * builds/unix/configure.raw (version_info): Set to 20:0:14. - * CMakeLists.txt (VERSION_MINOR): Set to 8. - (VERSION_PATCH): Set to 0. - -2017-05-12 Hin-Tak Leung - - Fix `FT_UINT_TO_POINTER' macro for Windows. - - * builds/unix/ftconfig.in, builds/vms/ftconfig.h, - include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER) [_WIN64]: - Fix definition. - -2017-05-11 Sascha Brawer - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - - [truetype] Add tricky font `DFGirl-W6-WIN-BF' (from Dynalab). - - Reported by Roy Tam . - - * src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it. - -2017-05-07 Roy Tam - Werner Lemberg - - [truetype] More tricky fonts (mainly from Dynalab). - - * src/truetype/ttobjs.c (tt_check_trickyness_family, - tt_check_trickyness_sfnt_ids): Add them. - -2017-05-07 Werner Lemberg - - [truetype] Add tricky font `DLCHayMedium' (from Dynalab). - - Reported by Roy Tam . - - * src/truetype/ttobjs.c (tt_check_trickyness_family): Implement it. - -2017-05-03 Werner Lemberg - - */*: s/backwards compatibility/backward compatibility/. - -2017-05-03 Sascha Brawer - Werner Lemberg - Werner Lemberg - - [autofit] Add blue-zone support for Sundanese script. - - This essentially moves the Sundanese script from the `Indic' hinter - to the `Latin' hinter. - - * src/autofit/afblue.dat: Add blue zone data for Sundanese. - - * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. - - * src/autofit/afscript.h: Add Sundanese standard character and move - data out of AF_CONFIG_OPTION_INDIC block. - - * src/autofit/afranges.c: Move Sundanese data out of - AF_CONFIG_OPTION_INDIC block. - - * src/autofit/afstyles.h: Update Sundanese data; in particular, use - AF_WRITING_SYSTEM_LATIN. - -2017-05-03 Sascha Brawer - Werner Lemberg - - [truetype] Make `IUP' gvar deltas do the same as Apple (#50832). - - When points are not touched by gvar interpolation deltas, FreeType - gave a slightly different result than Apple's CoreText. - - The OpenType working group will update the specification to document - the following behaviour: If the two points with deltas to the `left' - and `right' of the untouched point have the same coordinate, then - the inferred delta for the untouched point should be zero. - - * src/truetype/ttgxvar.c (tt_delta_interpolate): Implement new - behaviour. - -2017-05-02 Werner Lemberg - - [autofit] Remove `slight' auto-hint mode again. - - A poll on freetype-devel favoured changes directly applied to - `light'. - - * include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT, - FT_RENDER_MODE_SLIGHT): Removed. - - * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c - (af_latin_hints_init), src/autofit/aflatin2.c - (af_latin2_hints_init): Revert change from 2017-04-22. - - * src/autofit/afloader.c (af_loader_load_glyph) Remove references to - FT_RENDER_MODE_SLIGHT. - [AF_CONFIG_OPTION_TT_SIZE_METRICS]: Enable TrueType-like metrics - unconditionally. - - * src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Revert change from - 2017-04-22. - - * src/base/ftobjs.c (FT_Load_Glyph): Revert change from 2017-04-22. - - * src/pshinter/pshalgo.c (ps_hints_apply): Revert change from - 2017-04-22. - - * src/smooth/ftsmooth.c (ft_smooth_render): Revert change from - 2017-04-22. - - * docs/CHANGES: Updated. - -2017-04-30 Werner Lemberg - - [autofit] Fix metrics computation. - - Problem reported by Markus Trippelsdorf and - Nikolaus Waxweiler . - - * src/base/ftobjs.c (FT_Request_Size): Trigger recomputation of - auto-hinter metrics. Without this change, multiple size changing - calls for a single face fail. - -2017-04-29 Werner Lemberg - - * src/truetype/ttdriver.c (tt_size_request): Properly check `error'. - - Reported by Earnestly in - - http://lists.nongnu.org/archive/html/freetype/2017-04/msg00031.html - -2017-04-27 Werner Lemberg - - Introduce AF_CONFIG_OPTION_TT_SIZE_METRICS configuration option. - - * include/freetype/config/ftoption.h - (AF_CONFIG_OPTION_TT_SIZE_METRICS): New option, commented out by - default. - - * src/autofit/afloader.c (af_loader_load_glyph): Use - AF_CONFIG_OPTION_TT_SIZE_METRICS to guard the corresponding code. - -2017-04-26 Werner Lemberg - - * include/freetype/freetype.h (FT_Render_Mode): Fix order. - - This retains backward compatibility. - - Noted by Alexei. - -2017-04-22 Werner Lemberg - - [truetype] Do linear scaling for FT_LOAD_NO_HINTING (#50470). - - * src/truetype/ttobs.h (TT_SizeRec): Add field `hinted_metrics' to - hold hinted metrics. - Make `metrics' a pointer so that `tt_glyph_load' can easily switch - between metrics. - - * src/truetype/ttdriver.c (tt_size_request): Updated. - (tt_glyph_load): Use top-level metrics if FT_LOAD_NO_HINTING is - used. - - * src/truetype/ttgload.c (TT_Hint_Glyph, TT_Process_Simple_Glyph, - TT_Process_Composite_Component, load_truetype_glyph, - compute_glyph_metrics, TT_Load_Glyph): Updated. - - * src/truetype/ttinterp.c (TT_Load_Context): Updated. - - * src/truetype/ttobjs.c (tt_size_reset): Updated. - - * src/truetype/ttsubpix.c (sph_set_tweaks): Updated. - -2017-04-22 Werner Lemberg - - Add new `slight' auto-hinting mode. - - This mode uses fractional advance widths and doesn't scale glyphs - horizontally, only applying vertical scaling and hinting. - - At the same time, the behaviour of the `light' auto-hinter gets - restored for backward compatibility: Both vertical and horizontal - scaling is again based on rounded metrics values (this was changed - in a commit from 2017-03-30 as a side effect). To be more precise, - the behaviour is restored for TrueType fonts only; for other font - formats like Type 1, this is a new feature of the `light' hinting - mode. - - * include/freetype/freetype.h (FT_LOAD_TARGET_SLIGHT): New macro. - (FT_RENDER_MODE_SLIGHT): New render mode. - - * include/freetype/internal/ftobjs.h (FT_Size_InternalRec): Add - `autohint_mode' and `autohint_metrics' fields. - - * src/autofit/afcjk.c (af_cjk_hints_init), src/autofit/aflatin.c - (af_latin_hints_init), src/autofit/aflatin2 (af_latin2_hints_init): - Updated. - - * src/autofit/afloader.c (af_loader_embolden_glyph_in_slot): Use - `autohint_metrics'. - (af_loader_load_glyph): s/internal/slot_internal/. - Initialize `autohint_metrics' and `autohint_mode' depending on - current auto-hint mode. - Use `autohint_metrics'. - Updated. - - * src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Updated. - - * src/base/ftobjs.c (FT_Load_Glyph): Updated. - (FT_New_Size): Allocate `internal' object. - - * src/pshinter/pshalgo.c (ps_hints_apply): Updated. - - * src/smooth/ftsmooth.c (ft_smooth_render): Updated. - -2017-04-22 Werner Lemberg - - Introduce `FT_Size_InternalRec' structure. - - We are going to extend this later on. - - * include/freetype/internal/ftobjs.h (FT_Size_InternalRec): New - structure with a single field `module_data'. - - * src/base/ftobjs.c (FT_New_Size): Allocate `internal' field of - `FT_Size' structure. - - * src/cff/cffgload.c (cff_builder_init, cff_decoder_prepare): Use - `size->internal->module_data' instead of `size->internal'. - - * src/cff/cffobjs.c (cff_size_done): Deallocate `module_data'. - (cff_size_init, cff_size_select, cff_size_request): Use - `size->internal->module_data' instead of `size->internal'. - - * src/cif/cidobjs.c (cid_size_done, cid_size_init, - cid_size_request): Use `size->internal->module_data' instead of - `size->internal'. - - * src/psaux/psobjs.c (t1_builder_ini): Use - `size->internal->module_data' instead of `size->internal'. - - * src/type1/t1objs.c (T1_Size_Done, T1_Size_Init, T1_Size_Request): - Use `size->internal->module_data' instead of `size->internal'. - -2017-04-21 Alexei Podtelezhnikov - - * src/smooth/ftsmooth.h: Remove unused guards and declaration. - -2017-04-16 Hin-Tak Leung - - Fix tracing messages. - - * src/base/ftobjs.c (FT_Face_GetCharVariantIndex, - FT_Face_GetCharVariantIsDefault, FT_Face_GetVariantsOfChar): Print - correct function name. - -2017-04-08 Sascha Brawer - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - - [autofit] Fix invalid character range description (#50745). - - Also reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1034 - - * src/autofit/afranges.c (af_glag_nonbase_uniranges): Fix typo in - recent commit. - -2017-04-07 Werner Lemberg - - [ftfuzzer] Fix clang warnings. - - * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Add - casts. - -2017-04-06 Sascha Brawer - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - Werner Lemberg - - [autofit] Add support for Adlam script. - - * src/autofit/afblue.dat: Add blue zone data for Adlam. - * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. - - * src/autofit/afscript.h: Add Adlam standard characters. - - * src/autofit/afranges.c, src/autofit/afstyles.h: Add Adlam data. - -2017-04-06 Sascha Brawer - - [autofit] Add support for Ol Chiki script. - - * src/autofit/afblue.dat: Add blue zone data for Ol Chiki. - * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. - - * src/autofit/afscript.h: Add Ol Chiki standard character. - - * src/autofit/afranges.c, src/autofit/afstyles.h: Add Ol Chiki data. - -2017-04-03 Werner Lemberg - - [truetype] Avoid reexecution of `fpgm' and `prep' in case of error. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=981 - - * include/freetype/fterrdef.h (FT_Err_DEF_In_Glyf_Bytecode): New - error code. - - * src/truetype/ttinterp.c (Ins_FDEF, Ins_IDEF): Prohibit execution - of these two opcodes in `glyf' bytecode. - (TT_RunIns): Don't enforce reexecution of `fpgm' and `prep' bytecode - in case of error since function tables can no longer be modified - (due to the changes in `Ins_FDEF' and `Ins_IDEF'). This change can - enormously speed up handling of broken fonts. - -2017-04-02 Alexei Podtelezhnikov - - [autofit] Disable metrics adjustment for `FT_LOAD_TARGET_LCD'. - - * src/autofit/aflatin.c (af_latin_hints_init): Updated. - * src/autofit/aflatin2.c (af_latin2_hints_init): Ditto. - -2017-04-01 Werner Lemberg - - * src/truetype/ttgload.c: Include FT_CONFIG_CONFIG_H. - - Otherwise FT_UINT_TO_POINTER might not be defined. - - Problem reported by Alexei. - -2017-03-31 Alexei Podtelezhnikov - - [autofit] Disable stem adjustment for `FT_LOAD_TARGET_LCD'. - - * include/freetype/freetype.h (FT_LOAD_TARGET_LCD): Document it. - * src/autofit/afcjk.c (af_cjk_hints_init): Updated. - * src/autofit/aflatin.c (af_latin_hints_init): Ditto. - * src/autofit/aflatin2.c (af_latin2_hints_init): Ditto. - -2017-03-31 Werner Lemberg - - * src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04. - - Allow CFFs containing a single font to have an empty font name. - - Problem reported by å¼µä¿ŠèŠ <418092625@qq.com> in - - http://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html - -2017-03-30 Werner Lemberg - - * src/cff/cffparse.h (CFF2_DEFAULT_STACK): Set to 513 also. - - Requested by Dave Arnold. - -2017-03-30 Werner Lemberg - - [truetype] Fix HVAR and VVAR handling (#50678). - - * src/truetype/ttgxvar.c (tt_hvadvance_adjust): Handle - glyph indices larger than `mapCount' as described in the - specification. - -2017-03-30 Werner Lemberg - - [truetype] Allow linear scaling for unhinted rendering (#50470). - - * src/truetype/ttdriver.c (tt_size_request): Revert change from - 2011-07-16; the intended metrics fix seems now to be implemented in - a different way, making the patch unnecessary. Note that this - change was usually patched out by all major GNU/Linux distributions - due to heavy side effects. - - * src/truetype/ttgload.c (compute_glyph_metrics, TT_Load_Glyph): - Refer to the metrics of the `TT_Size' object. - -2017-03-29 Werner Lemberg - - [truetype] Fix thinko related to PS name of default named instance. - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): `strid' and `psid' are - name ID values, not indices into the array of name entries. - -2017-03-27 Werner Lemberg - - [cid, truetype] Don't use `index' as a variable name. - - At least on FreeBSD there is a global declaration of `index' in file - `/usr/include/strings.h'. - - * src/cff/cf2intrp.c, src/truetype/ttgload.c: s/index/idx/ where - appropriate. - -2017-03-27 Wojciech Mamrak - - [sfnt] Minor improvement for handling kern tables. - - * src/sfnt/ttkern.c (tt_face_load_kern): Don't check for - cross-stream kerning tables since we reject format 2 tables later - on anyways. - Modify code for limit test... - (tt_face_get_kerning): ... to avoid a limit test here. - -2017-03-27 Werner Lemberg - - [pcf] Fix compiler warnings. - - Reported by Alexander Hedges . - - * src/pcf/pcfdrivr.c (pcf_property_set, pcf_property_get): Tag - `property_name' with `FT_UNUSED' where necessary. - -2017-03-26 Werner Lemberg - - * src/psaux/psobjs.c (t1_builder_close_contour): Add safety guard. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=941 - -2017-03-23 Werner Lemberg - - [psaux] Better protect `flex' handling. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=935 - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings) - : Since there is not a single flex operator but a - series of subroutine calls, malformed fonts can call arbitrary other - operators after the start of a flex, possibly adding points. For - this reason we have to check the available number of points before - inserting a point. - -2017-03-23 Werner Lemberg - - [sfnt] Fix check for default named instance. - - * src/sfnt/sfobjs.c (sfnt_init_face): A `fixed' number needs four - bytes, not two... - -2017-03-23 Werner Lemberg - - Make MM fonts work (again). - - * src/base/ftmm.c (FT_Set_Var_Design_Coordinates, - FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): Ignore - return value of `ft_face_get_mvar_service'; instead, check whether a - service is actually returned. - -2017-03-20 Werner Lemberg - - [truetype] Some variable renamings. - - Too much local variables holding different structures were called - `metrics'. - - * src/truetype/ttdriver.c (tt_size_select): s/metrics/size_metrics/. - - * src/truetype/ttgload.c (tt_get_metrics_incr_overrides, - compute_glyph_metrics): s/metrics/incr_metrics/. - (load_sbit_image): s/metrics/sbit_metrics/. - - * src/truetype/ttobjs.c (tt_size_run_fpgm): s/metrics/size_metrics/. - (tt_size_init_bytecode): s/metrics/tt_metrics/. - (tt_size_reset): s/metrics/size_metrics/. - -2017-03-20 Werner Lemberg - - [sfnt] Don't add instances to non-variation fonts. - - * src/sfnt/sfobjs.c (sfnt_init_face): Fix it. - -2017-03-20 Werner Lemberg - - * src/cff/cffgload.c (cff_builder_init): Add safety guard (#50578). - -2017-03-18 Werner Lemberg - - Introduce FT_UINT_TO_POINTER macro (#50560). - - We have to make a separate case for Windows 64's LLP64 data model. - - * builds/unix/ftconfig.in, builds/vms/ftconfig.h, - include/freetype/config/ftconfig.h (FT_UINT_TO_POINTER): New macro. - - * src/truetype/ttgload.c (load_truetype_glyph): Use it. - -2017-03-18 Werner Lemberg - - * src/truetype/ttinterp.c (TT_RunIns): Adjust loop counter (#50573). - - The problematic font that exceeds the old limit is Lato-Regular, - version 2.007, containing bytecode generated by a buggy version of - ttfautohint. - -2017-03-18 Werner Lemberg - - [truetype] Another limitation for bytecode loop count maximum. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=900 - - * src/truetype/ttinterp.c (TT_RunIns): Limit `loopcall_counter_max' - by number of glyphs also. - -2017-03-18 Werner Lemberg - - [ftfuzzer] Minor improvement. - - * src/tools/ftfuzzer/ftfuzzer.cc: Don't set intermediate axis if - bitmap strikes are active. - -2017-03-18 Werner Lemberg - - Improve `make multi'. - - * src/autofit/aflatin2.c: Guard file with FT_OPTION_AUTOFIT2. - - * src/base/ftmac.c: Guard more parts of the file with FT_MACINTOSH. - - * src/psaux/afmparse.c: Guard file with T1_CONFIG_OPTION_NO_AFM. - - * src/sfnt/pngshim.c: Guard file with - TT_CONFIG_OPTION_EMBEDDED_BITMAPS also. - - * src/sfnt/ttbdf.c: Avoid empty source file. - * src/sfnt/ttpost.c: Guard file with - TT_CONFIG_OPTION_POSTSCRIPT_NAMES. - * src/sfnt/ttsbit.c: Guard file with - TT_CONFIG_OPTION_EMBEDDED_BITMAPS. - - * src/truetype/ttgxvar.c, src/truetype/ttinterp.c: Avoid empty - source file. - - * src/truetype/ttsubpix.c: Guard file with - TT_USE_BYTECODE_INTERPRETER also. - - * src/type1/t1afm.c: Guard file with T1_CONFIG_OPTION_NO_AFM. - - * src/autofit/autofit.c, src/base/ftbase.c, src/cache/ftcache.c, - src/cff/cff.c, src/cid/type1cid.c, src/gxvalid/gxvalid.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: Remove conditionals; sort - entries. - -2017-03-17 Werner Lemberg - - Fixes for conditional compilation. - - * src/autofit/afcjk.c, src/autofit/afindic.c: Include `afcjk.h' - earlier. - - * src/sfnt/sfobjs.c (sfnt_init_face): Put `memory' variable into - TT_CONFIG_OPTION_GX_VAR_SUPPORT block. - (sfnt_done_face): Protect some code with - TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * src/sfnt/ttsbit.c (tt_face_load_sbix_image): Remove compiler - warning. - - * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Put `tmp' variable - into TT_USE_BYTECODE_INTERPRETER block. - - (tt_loader_init): Put `error' variable into - TT_USE_BYTECODE_INTERPRETER block. - -2017-03-17 Werner Lemberg - - Fix preprocessor warning. - - * devel/ftoption.h, include/freetype/config/ftoption.h: Test whether - TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined before checking its - value. - -2017-03-17 Werner Lemberg - - `make multi' fixes; compiler warnings. - - * src/base/ftsnames.c: Include FT_INTERNAL_DEBUG_H. - - * src/cff/cffobjs.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H. - - * src/sfnt/sfdriver.c [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Include - FT_MULTIPLE_MASTERS_H and FT_SERVICE_MULTIPLE_MASTERS_H. - (get_win_string, get_apple_string): Initialize `result'. - -2017-03-17 Dave Arnold - - [cff] Fix potential bugs in default NDV for CFF2. - - * src/cff/cffload.c (cff_blend_build_vector): Explicitly build blend - vector when `lenNDV' is zero; don't rely on zero-init. - Save `lenNDV' as part of cache key even when `lenNDV' is zero. - -2017-03-17 Dave Arnold - - [cff] Fix CFF2 stack allocation. - - * src/cff/cffparse.c (cff_parser_init) add 1 for operator. - -2017-03-16 Werner Lemberg - - * src/truetype/ttgxvar.c (tt_done_blend): Free `vvar_table'. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=883 - -2017-03-15 Werner Lemberg - - Remove clang compiler warnings (#50548). - - * include/freetype/internal/tttypes.h (TT_FaceRec): Make - `var_postscript_prefix_len' unsigned. - - * src/autofit/afwarp.c (af_warper_compute_line_best): Remove - redundant assignment. - - * src/cff/cffload.c (cff_subfont_load): Add casts. - - * src/cff/cffparse.c (cff_parse_blend): Remove redundant assignment. - - * src/sfnt/sfdriver.c (fmix32, murmur_hash_3_128): Add `static' - keyword. - Add casts. - (fixed2float): Add cast. - (sfnt_get_var_ps_name): Make `p' always initialized. - Add casts. - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): Add casts. - -2017-03-15 Werner Lemberg - - [ftfuzzer] Limit number of tested faces and instances. - - This is inspired by the discussion in and analysis of - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=859 - - * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Use only - up to 20 face indices. - Use only up to 20 instance indices. - -2017-03-15 Werner Lemberg - - * src/tools/ftfuzzer/ftfuzzer.cc: Improve readability; formatting. - -2017-03-14 Werner Lemberg - - [sfnt] Implement PS names for font instances [3/3]. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * include/freetype/internal/tttypes.h (TT_FaceRec): New fields - `var_postscript_prefix' and `var_postscript_prefix_len'. - - * src/sfnt/sfdriver.c: Include FT_TRUETYPE_IDS_H. - (sfnt_is_alphanumeric): New wrapperfunction for `ft_isalnum'. - (get_win_string, get_apple_string): Remove `const' from return - value. - (MAX_VALUE_DESCRIPTOR_LEN, MAX_PS_NAME_LEN): New macros. - (hexdigits): New array. - (sfnt_get_var_ps_name): New function, implementing Adobe TechNote - 5902 to construct a PS name for a variation font instance. - (sfnt_get_ps_name): Call `sfnt_get_var_ps_name' for font instances. - - * src/sfnt/sfobjs.c (sfnt_done_face): Updated. - - * src/truetype/ttgxvar.c (tt_set_mm_blend): Reset - `face->postscript_name' to trigger recalculation for new instance - parameters. - -2017-03-14 Werner Lemberg - - [sfnt] Implement PS names for font instances [2/3]. - - * src/sfnt/sfdriver.c (fix2float) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: - New function to find the shortest representation of a 16.16 - fractional number. - -2017-03-14 Werner Lemberg - - [sfnt] Implement PS names for font instances [1/3]. - - Add 128bit MurmurHash 3 function. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * src/sfnt/sfdriver.c (ROTL32): New macro. - (fmix32, murmur_hash_3_128): New functions. - -2017-03-13 Werner Lemberg - - [truetype] Ignore invalid MVAR tags. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=838 - - * src/truetype/ttgxvar.c (ft_var_load_mvar): Ignore value and emit - warning for invalid tags. - (tt_apply_mvar): Ignore invalid tags. - -2017-03-12 Werner Lemberg - - [truetype] Store and use design coordinates also. - - * include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func): - Add `normalizedcoords' argument. - - * src/truetype/ttgxvar.h (GX_BlendRec): Add `coords' field to store - the design coordinates of the current instance. - Updated. - - * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Move functionality to... - (tt_set_mm_blend): ... New function. - Convert data in `normalizedcoords' array to `coords' array on - demand. - (TT_Set_Var_Design): Store argument data in `coords' array. - (TT_Get_Var_Design): Get data from `coords' array. - (tt_get_var_blend): Updated. - (tt_done_blend): Updated. - - * src/cff/cffload.c, src/cff/cffload.h (cff_get_var_blend): Updated. - - * src/cff/cf2ft.c (cf2_getNormalizedVector): Updated. - - * src/cff/cffobjs.c (cff_face_init): Updated. - -2017-03-12 Werner Lemberg - - src/truetype/ttgxvar.[ch]: s/avar_checked/avar_loaded/. - -2017-03-08 Werner Lemberg - - [sfnt] Another fix for buggy variation fonts. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=759 - - * src/sfnt/sfobjs.c (sfnt_init_face): While setting number of - instances to zero for `CFF' fonts table, ensure that there is no - `CFF2' present also (which gets priority). - -2017-03-07 Werner Lemberg - - [sfnt] Improve handling for buggy variation fonts. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=738 - - * src/sfnt/sfobjs.c (sfnt_init_face): While setting number of - instances to zero for `CFF' fonts table, ensure that there is no - `glyf' table present also (which gets priority). - -2017-03-06 Werner Lemberg - - [sfnt, truetype] Always provide default instance. - - As documented in the OpenType specification, an entry for the - default instance may be omitted in the named instance table. In - particular this means that even if there is no named instance table - in the font we actually do have a named instance, namely the default - instance. - - For consistency, we always want the default instance in our list of - named instances. If it is missing, we try to synthesize it. - - * src/sfnt/sfobjs.c (sfnt_init_face): Check whether the default - instance is in the table of named instances. Otherwise adjust - number of instances. - - * src/truetype/ttgxvar.c: Include FT_TRUETYPE_IDS_H. - (TT_Get_MM_Var): Use `face->root.style_flags' as the number of named - instances. - Sythesize a named instance entry if necessary. - (tt_done_blend): Free `normalized_stylecoords'. - -2017-03-05 Werner Lemberg - - [sfnt] Remove redundant code. - - * src/sfnt/sfobjs.c (sfnt_init_face): Remove second test for - `num_instances', which will always succeed. - -2017-03-04 Werner Lemberg - - [sfnt] Add `get_name_id' service. - - * include/freetype/internal/sfnt.h (TT_Get_Name_ID_Func): New - typedef. - (SFNT_Interface): Add `get_name_id' field. - (FT_DEFINE_SFNT_INTERFACE): Updated. - - * src/sfnt/sfdriver.c (search_name_id): Rename to... - (sfnt_get_name_id): ... this. - (sfnt_get_ps_name, sfnt_interface): Udpated. - -2017-03-04 Werner Lemberg - - [truetype] Make `TT_Set_MM_Blend' set named instance index. - - * src/truetype/ttgxvar.h (GX_Blend): New array - `normalized_stylecoords'. - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): Allocate and fill - `normalized_stylecoords'. - (TT_Set_MM_Blend): Check instance tuple and adjust `face_index' - accordingly. - -2017-03-02 Werner Lemberg - - [truetype] Split off designer/normalized conversion routines. - - * src/truetype/ttgxvar.c (TT_Set_Var_Design): Split off conversion - code designer->normalized coordinates to... - (ft_var_to_normalized): ... New function. - (TT_Get_Var_Design): Split off conversion code normalized->designer - coordinates to... - (ft_var_to_design): ... New function. - -2017-02-28 Werner Lemberg - - [sfnt] Further generalize `sfnt_get_ps_name'; report invalid data. - - * src/sfnt/sfdriver.c (sfnt_ps_map): New array. - (sfnt_is_postscript): New function. - (char_type_func): New typedef. - (get_win_string, get_apple_string): Add argument to specify - character checking function. - Add argument whether argument checking failures should be reported. - Update callers. - (search_name_id): Fix return value. - -2017-02-23 Werner Lemberg - - [sfnt] Split off another bit of `sfnt_get_ps_name'. - - * src/sfnt/sfdriver.c (sfnt_get_ps_name): Split off some - functionality into... - (search_name_id): ... New function. - -2017-02-23 Werner Lemberg - - [sfnt] Modularize `sfnt_get_ps_name'. - - * src/sfnt/sfdriver.c (sfnt_get_ps_name): Split off some - functionality into... - (IS_WIN, IS_APPLE): ... New macros. - (get_win_string, get_apple_string): ... New functions. - -2017-02-23 Werner Lemberg - - [truetype] Minor improvement. - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph, - load_truetype_glyph): Remove unnecessary tests. - -2017-02-23 Werner Lemberg - - * include/freetype/internal/tttypes.h (TT_Face): s/isCFF2/is_cff2/. - - For orthogonality with other structure field names. - - Update all users. - -2017-02-22 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_hline): Improve code. - -2017-02-20 Dominik Röttsches - - Fix some `ttnameid.h' entries (#50313). - - * include/freetype/ttnameid.h: - s/TT_MS_LANGID_SPANISH_INTERNATIONAL_SORT/TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT/, - s/TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIA/TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN/. - -2017-02-20 Werner Lemberg - - [cff] Finish support for `random' operator. - - * src/cff/cfftypes.h (CFF_SubFontRec): Add `random' field. - - * src/cff/cffobjs.c: Updated. - (cff_driver_init): Initialize random seed value. - - * src/cff/cffload.c (cff_random): New function. - (cff_subfont_load): Add `face' argument. - Update all callers. - Initialize random number generator with a proper seed value. - (cff_font_load): Add `face' argument. - Update all callers. - - * src/cff/cffload.h: Updated. - - * src/cff/cf2intrp.c (CF2_FIXME): Removed. - (cf2_interpT2CharString) : Implement opcode. - - * src/cff/cffgload.c (cff_decoder_parse_charstrings): Don't - initialize random seed value. - : Use new random seed framework. - -2017-02-20 Werner Lemberg - - [cff] Sanitize `initialRandomSeed'. - - * src/cff/cffload.c (cff_load_private_dict): Make - `initial_random_seed' value always positive. - -2017-02-20 Werner Lemberg - - [cff] Introduce `random-seed' property (2/2). - - * src/base/ftobjs.c: Include `FT_CFF_DRIVER_H'. - (open_face): Initialize `face->internal->random_seed'. - (FT_Face_Properties): Handle `FT_PARAM_TAG_RANDOM_SEED'. - - * src/cff/cffdrivr.c (cff_property_set): Handle `random-seed' - property. - -2017-02-20 Werner Lemberg - - [cff] Introduce `random-seed' property (1/2). - - We need this for support of the `random' operator. - - * include/freetype/ftcffdrv.h (FT_PARAM_TAG_RANDOM_SEED): New macro. - - * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New - field `random_seed'. - - * src/cff/cffobjs.h (CFF_DriverRec): New field `random_seed'. - -2017-02-17 Werner Lemberg - - Remove clang warnings. - - * src/autofit/aflatin.c (af_latin_sort_blue): Add missing `static' - keyword. - - * src/base/ftmm.c (FT_Set_Var_Design_Coordinates, - FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): - Initialize some variables. - -2017-02-16 Nikolaus Waxweiler - Werner Lemberg - - Add face property for stem darkening. - - * include/freetype/ftautoh.h (FT_PARAM_TAG_STEM_DARKENING): New - macro. - - * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Add - `no_stem_darkening' field. - - * src/autofit/afloader.c (af_loader_load_glyph), - src/autofit/afmodule.c (af_property_set): Updated. - - * src/base/ftobjs.c: Include FT_AUTOHINTER_H. - (ft_open_face_internal): Updated. - (FT_Face_Properties): Handle FT_PARAM_TAG_STEM_DARKENING. - - * src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Updated. - - * src/cff/cffdrivr.c (cff_property_set): Updated. - -2017-02-16 Nikolaus Waxweiler - Werner Lemberg - - Add face property for LCD filter weights. - - * include/freetype/ftlcdfil.h (FT_PARAM_TAG_LCD_FILTER_WEIGHTS, - FT_LCD_FILTER_FIVE_TAPS): New macros. - (FT_LcdFiveTapFilter): New typedef. - - * include/freetype/ftobjs.h (FT_Face_InternalRec) - [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add `lcd_weights' field. - (FT_Bitmap_LcdFilterFunc): Change third argument to weights array. - (ft_lcd_filter_fir): New prototype. - (FT_LibraryRec): Updated. - - * src/base/ftlcdfil.c (_ft_lcd_filter_fir): Renamed to... - (ft_lcd_filter_fir): ... this base function. - Updated. - (_ft_lcd_filter_legacy): Updated. - (FT_Library_SetLcdFilterWeights, FT_Library_SetLcdFilter): Updated. - - * src/base/ftobjs.c (ft_open_face_internal): Updated. - (FT_Face_Properties): Handle FT_PARAM_TAG_LCD_FILTER_WEIGHTS. - - * src/smooth/ftsmooth.c (ft_smooth_render_generic) - [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Handle LCD weights from - `FT_Face_Internal'. - -2017-02-14 Nikolaus Waxweiler - Werner Lemberg - - Add new function `FT_Face_Properties'. - - This commit provides the framework, to be filled with something - useful in the next commits. - - * include/freetype/freetype.h (FT_Face_Properties): Declare. - - * src/base/ftobjs.c (FT_Face_Properties): New function. - -2017-02-13 Werner Lemberg - - [autofit] Prevent overlapping blue zones. - - Problem reported as - - https://github.com/google/fonts/issues/632 - - The font in question (Nunito) has values 705 and 713 for the - reference and overshoot values, respectively, of the first blue - zone. Blue zone 2, however, has value 710 for both the reference - and overshoot. At 12ppem, reference and overshoot of blue zone 0 - becomes 8px, while blue zone 2 becomes 9px. - - A peculiarity of this font is that the tops of isolated vertical - stems like `N' have a slight overshoot also. The auto-hinter tries - to find the nearest blue zone using the *original* coordinates. For - vertical stems, this is value 713. For normal horizontal tops like - in character `E', this is value 710. Since value 713 is mapped to - 8px but value 710 to 9px, `N' and similar characters are one pixel - higher than `E', which looks very bad. - - This commit sanitizes blue zones to avoid such a behaviour. - - * src/autofit/aflatin.c (af_latin_sort_blue): New function. - (af_latin_metrics_init_blues): Sort blue values and remove overlaps. - -2017-02-12 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_sweep): Improve code. - -2017-02-06 Werner Lemberg - - [truetype] Implement `VVAR' table support. - - * src/truetype/ttgxvar.h (GX_HVarTable): Renamed to... - (GX_HVVarTable): ...This. - (GX_Blend): Add fields for `VVAR' table handling. - Other minor updates. - - * src/truetype/ttgxvar.c (ft_var_load_hvar): Renamed to... - (ft_var_load_hvvar): ...This. - Handle VVAR loading also (controlled by an additional parameter). - (tt_hadvance_adjust): Renamed to... - (tt_hvadvance_adjust): ...This. - Handle application of advance height also (controlled by an - additional parameter). - (tt_hadvance_adjust, tt_vadvance_adjust): Wrappers for - `tt_hvadvance_adjust'. - - * src/truetype/ttdriver.c (tt_service_metrics_variations): Updated. - -2017-02-05 Werner Lemberg - - [autofit] Use better blue zone characters for lowercase latin. - - The number of lowercase characters for computing the top flat blue - zone value was too small (in most cases only `x' and `z'). If one - of the two characters has a large serif, say, it can happen that - FreeType must select between two different values, having a 50% - chance to use the wrong one. As a result, rendering at larger PPEM - values could yield uneven lowercase glyph heights. - - Problem reported by Christoph Koeberlin . - - * src/autofit/afblue.dat (AF_BLUE_STRING_LATIN_SMALL): Replaced - with... - (AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_STRING_LATIN_SMALL_BOTTOM): - ... New, extended sets. - (AF_BLUE_STRINGSET_LATN): Updated. - - * src/autofit/afblue.c, scr/autofit/afblue.h: Regenerated. - -2017-02-04 Werner Lemberg - - Make `freetype-config' a wrapper of `pkg-config' if possible. - - Based on ideas taken from - - http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-multilib.patch - http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-2.5.3-freetype-config-prefix.patch - - * builds/unix/freetype-config.in: Rewritten. Use `pkg-config' to - set output variables if program is available. - - * docs/CHANGES, docs/freetype-config.1: Updated. - -2017-02-04 Werner Lemberg - - * builds/unix/unix-def.in (freetype-config): Fix permissions. - -2017-02-03 Werner Lemberg - - * src/autofit/afglobal.c (af_face_globals_free): Erase useless code. - -2017-02-03 Werner Lemberg - - * include/freetype/ftgasp.h (FT_GASP_SYMMETRIC_GRIDFIT): Fix value. - - Reported by Behdad. - -2017-02-02 Werner Lemberg - - [truetype] Fix MVAR post-action handling. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=509 - - * src/truetype/ttobjs.c (tt_size_reset): Do nothing for CFF2. This - is important to make `tt_size_reset_iterator' (called in - `tt_apply_mvar') always work. - -2017-02-02 Werner Lemberg - - Make compilation with FT_CONFIG_OPTION_PIC work again. - - All code committed here is guarded with `FT_CONFIG_OPTION_PIC'. - - * include/freetype/internal/services/svmetric.h - (FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Remove trailing semicolon. - - * src/autofit/aflatin.c (af_latin_hints_compute_edges, - af_latin_hint_edges): Provide `globals' variable. - - * src/autofit/afloader.c (af_loader_load_glyph): Remove shadowing - variable. - - * src/autofit/afmodule.c (AF_SCRIPT_CLASSES_GET, - AF_STYLE_CLASSES_GET): Redefine. - - * src/autofit/aftypes.h (AF_DEFINE_WRITING_SYSTEM_CLASS): Fix typo. - - * src/cff/cffparse.c (CFF_FIELD_BLEND): Provide it. - - * src/cff/cffpic.h (CffModulePIC): Fix typo. - -2017-01-31 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_render_scanline): Improve code. - -2017-01-31 Werner Lemberg - - [cff] Provide metrics variation service interface (#50196). - - Only now I've got an OTF with an HVAR table for testing... - - The code in `ftmm.c' uses `FT_FACE_LOOKUP_SERVICE' to get the - metrics variations interface. However, this didn't work with - `FT_FACE_FIND_GLOBAL_SERVICE' used in `sfnt_init_face'. - - * src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H. - (cff_hadvance_adjust, cff_metrics_adjust): Wrapper functions for - metric service functions from the `truetype' module. - (cff_service_metrics_variations): New service. - (cff_services): Updated. - - * src/cff/cffpic.h (CFF_SERVICE_METRICS_VAR_GET): New macro. - [FT_CONFIG_OPTION_PIC]: Synchronize code. - - * src/sfnt/sfobjs.c (sfnt_init_face): Replace call to - FT_FACE_FIND_GLOBAL_SERVICE with `ft_module_get_service' to always - load the service from the `truetype' module. - -2017-01-31 Werner Lemberg - - Add framework to support services with 9 functions. - - * include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC9): - New macro. - -2017-01-31 Werner Lemberg - - [base] Fix error handing in MM functions. - - * src/base/ftmm.c (FT_Set_Var_Design_Coordinates, - FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates): - Implement it. - -2017-01-31 Werner Lemberg - - [truetype] Fix sanity check for `gvar' table (#50184). - - * src/truetype/ttgxvar.c (ft_var_load_gvar): There might be missing - variation data for some glyphs. - -2017-01-31 Werner Lemberg - - [autofit] Avoid uninitialized jumps (#50191). - - * src/autofit/afcjk.c (af_cjk_metrics_check_digits), - src/autofit/aflatin.c (af_latin_metrics_check_digits): Initialize - `advance'. - -2017-01-27 Werner Lemberg - - s/GB2312/PRC/. - - * include/freetype/freetype.h (FT_ENCODING_PRC): New enum value. - (FT_ENCODING_GB2312): Deprecated. - - * include/freetype/ttnameid.h (TT_MS_ID_PRC): New macro. - (TT_MS_ID_GB2312): Deprecated. - - * src/sfnt/sfobjs.c (sfnt_find_encoding): Updated. - - * docs/CHANGES: Updated. - -2017-01-26 Werner Lemberg - - [base] Add `FT_Get_Sfnt_LangTag' function. - - * include/freetype/ftsnames.h (FT_SfntLangTag): New structure. - (FT_Get_Sfnt_LangTag): New declaration. - - * src/base/ftsnames.c (FT_Get_Sfnt_LangTag): New funtion. - - * docs/CHANGES: Updated. - -2017-01-26 Werner Lemberg - - [sfnt] Support `name' table format 1. - - * include/freetype/internal/tttypes.h (TT_LangTagRec): New - structure. - (TT_NameTableRec): Add fields `numLangTagRecords' and `langTags'. - - * src/sfnt/ttload.c (tt_face_load_name): Add support for language - tags. - Reduce array size of name strings in case of invalid entries. - (tt_face_free_name): Updated. - - * docs/CHANGES: Updated. - -2017-01-25 Werner Lemberg - - [sfnt] s/TT_NameEntry/TT_Name/. - - * include/freetype/internal/tttypes.h (TT_NameEntryRec): Renamed - to... - (TT_NameRec): This. - (TT_NameTableRec): Updated. - - * src/base/ftsnames.c (FT_Get_Sfnt_Name): Updated. - - * src/sfnt/sfdriver.c (sfnt_get_ps_name): Updated. - - * src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16, - tt_name_entry_ascii_from_other): Renamed to... - (tt_name_ascii_from_utf16, tt_name_entry_ascii_from_other): This, - respectively. - (TT_NameEntry_ConvertFunc): Renamed to... - (TT_Name_ConvertFunc): This. - (tt_face_get_name): Updated. - - * src/sfnt/ttload.c (tt_face_load_name, tt_face_free_name): - Updated. - -2017-01-24 Werner Lemberg - - [sfnt] Fix Postscript name service for symbol fonts. - - * src/sfnt/sfdriver.c (sfnt_get_ps_name): Accept PID/EID=3/0 - entries also. - -2017-01-24 Werner Lemberg - - [truetype] For OpenType 1.7: s/preferred/typographic/ (sub)family. - - * include/freetype/ftsnames.h - (FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY, - FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY): New macros. - (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY, - FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Deprecated. - - * include/freetype/ttnameid.h (TT_NAME_ID_TYPOGRAPHIC_FAMILY, - TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY): New macros. - (TT_NAME_ID_PREFERRED_FAMILY, TT_NAME_ID_PREFERRED_SUBFAMILY): - Deprecated. - - * src/sfnt/sfobjs.c (sfnt_load_face): Updated. - - * docs/CHANGES: Updated. - -2017-01-23 Werner Lemberg - - [base] Add `FT_Set_Default_Properties' (#49187). - - * include/freetype/ftmodapi.h: Add declaration. - - * src/base/ftinit.c (ft_set_default_properties): Renamed to... - (FT_Set_Default_Properties): ... this. - (FT_Init_FreeType): Updated. - - * docs/CHANGES: Updated. - -2017-01-23 Werner Lemberg - - [truetype] Minor updates for OpenType 1.8.1. - - * src/truetype/ttgxvar.h (GX_MVarTable): `axisCount' has been - removed from the specification; it is now reserved. - - * src/truetype/ttgxvar.c (ft_var_load_mvar): Updated. - (GX_FVar_Head): Remove `countSizePairs'; the corresponding data - field in the `MVAR' table is now reserved. - (fvar_fields): Updated. - -2017-01-23 Werner Lemberg - - [truetype] Avoid segfault for invalid variation data. - - * src/truetype/ttgxvar.c (ft_var_load_item_variation_store): Assure - `itemCount' is not zero. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=441 - -2017-01-20 Werner Lemberg - - * src/truetype/ttinterp.c (TT_RunIns): Adjust loop detector limits. - -2017-01-17 Werner Lemberg - - * include/freetype/ttnameid.h: Updated to OpenType 1.8.1. - - (TT_APPLE_ID_FULL_UNICODE): New macro. - - (TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC, - TT_MS_LANGID_UPPER_SORBIAN_GERMANY, - TT_MS_LANGID_LOWER_SORBIAN_GERMANY, TT_MS_LANGID_IRISH_IRELAND, - TT_MS_LANGID_INUKTITUT_CANADA_LATIN, TT_MS_LANGID_BASHKIR_RUSSIA, - TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG, - TT_MS_LANGID_GREENLANDIC_GREENLAND, TT_MS_LANGID_MAPUDUNGUN_CHILE, - TT_MS_LANGID_MOHAWK_MOHAWK, TT_MS_LANGID_BRETON_FRANCE, - TT_MS_LANGID_OCCITAN_FRANCE, TT_MS_LANGID_CORSICAN_FRANCE, - TT_MS_LANGID_ALSATIAN_FRANCE, TT_MS_LANGID_YAKUT_RUSSIA, - TT_MS_LANGID_KICHE_GUATEMALA, TT_MS_LANGID_KINYARWANDA_RWANDA, - TT_MS_LANGID_WOLOF_SENEGAL, TT_MS_LANGID_DARI_AFGHANISTAN): New - macros. - - (TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC): Fix value. - - (TT_MS_LANGID_GERMAN_LIECHTENSTEIN, TT_MS_LANGID_CATALAN_CATALAN, - TT_MS_LANGID_CHINESE_MACAO, TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT, - TT_MS_LANGID_KOREAN_KOREA, TT_MS_LANGID_ROMANSH_SWITZERLAND, - TT_MS_LANGID_SLOVENIAN_SLOVENIA, TT_MS_LANGID_BASQUE_BASQUE, - TT_MS_LANGID_SETSWANA_SOUTH_AFRICA, - TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA, - TT_MS_LANGID_ISIZULU_SOUTH_AFRICA, TT_MS_LANGID_KAZAKH_KAZAKHSTAN, - TT_MS_LANGID_KYRGYZ_KYRGYZSTAN, TT_MS_LANGID_KISWAHILI_KENYA, - TT_MS_LANGID_TATAR_RUSSIA, TT_MS_LANGID_ODIA_INDIA, - TT_MS_LANGID_MONGOLIAN_PRC, TT_MS_LANGID_TIBETAN_PRC, - TT_MS_LANGID_WELSH_UNITED_KINGDOM, TT_MS_LANGID_GALICIAN_GALICIAN, - TT_MS_LANGID_SINHALA_SRI_LANKA, TT_MS_LANGID_TAMAZIGHT_ALGERIA, - TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA, TT_MS_LANGID_YI_PRC, - TT_MS_LANGID_UIGHUR_PRC): New aliases. - - Remove commented out code. - - (TT_NAME_ID_LIGHT_BACKGROUND, TT_NAME_ID_DARK_BACKGROUND, - TT_NAME_ID_VARIATIONS_PREFIX): New macros. - - (HAVE_LIMIT_ON_IDENTS): Remove macro (which was useless since many - years), use guarded long macros by default and define short versions - as aliases for the long ones. - -2017-01-15 Werner Lemberg - - * src/truetype/ttgxvar.c (tt_apply_var): Handle underline parameters - also. - -2017-01-11 Werner Lemberg - - * src/base/ftobjs.c (ft_open_face_internal): Improve tracing. - -2017-01-11 Werner Lemberg - - [truetype] Actually use metrics variation service. - - * src/base/ftmm.c: Include FT_SERVICE_METRICS_VARIATIONS_H. - (ft_face_get_mvar_service): New auxiliary function to look up - metrics variation service. - (FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates, - FT_Set_Var_Blend_Coordinates): Call metrics variation service. - - * src/truetype/ttobjs.c (tt_face_init): Use metrics variations for - named instances. - -2017-01-11 Werner Lemberg - - [truetype] Provide metrics variation service. - - * include/freetype/internal/services/svmetric.h - (FT_Metrics_Adjust_Func): Reduce number of necessary parameters. - - * src/truetype/ttgxvar.c: Include FT_LIST_H. - (tt_size_reset_iterator): New auxiliary function for... - (tt_apply_var): New function. - - * src/truetype/ttgxvar.h: Updated. - - * src/truetype/ttdriver.c (tt_service_metrics_variations): Add - `tt_apply_mvar'. - - * include/freetype/internal/ftserv.h (FT_ServiceCache): Add metrics - variation service. - -2017-01-11 Werner Lemberg - - [truetype] Parse `MVAR' table. - - * src/truetype/ttgxvar.h (MVAR_TAG_XXX): New macros for MVAR tags. - (GX_Value, GX_MVarTable): New structures. - (GX_Blend): Add it. - - * src/truetype/ttgxvar.c (GX_VALUE_SIZE, GX_VALUE_CASE, - GX_GASP_CASE): New macros. - (ft_var_get_value_pointer): New auxiliary function to get a pointer - to a value from various SFNT tables already stored in `TT_Face'. - (ft_var_load_mvar): New function. - (TT_Get_MM_Var): Call it. - (tt_done_blend): Updated. - -2017-01-11 Werner Lemberg - - [truetype] More preparations for MVAR support. - - * src/truetype/ttobjs.c (tt_size_reset): Add argument to make - function only recompute ascender, descender, and height. - - * src/truetype/ttobjs.h: Updated. - - * src/truetype/ttdriver.c (tt_size_select, tt_size_request): - Updated. - -2017-01-09 Werner Lemberg - - [pcf] Disable long family names by default. - - * include/freetype/config/ftoption.h - (PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): Comment out. - -2017-01-09 Werner Lemberg - - [pcf] Make long family names configurable. - - The change from 2016-09-29 was too radical (except for people using - the openSuSE GNU/Linux distribution). To ameliorate the situation, - PCF_CONFIG_OPTION_LONG_FAMILY_NAMES gets introduced which controls - the feature; if set, a new PCF property option - `no-long-family-names' can be used to switch this feature off. - - * include/freetype/config/ftoption.h, devel/ftoption.h - (PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): New option. - - * include/freetype/ftpcfdrv.h: New header file (only containing - comments currently, used for building the documentation). - - * include/freetype/config/ftheader.h (FT_PCF_DRIVER_H): New macro. - - * src/pcf/pcf.h (PCF_Driver): Add `no_long_family_names' field. - - * src/pcf/pcfdrivr.c: Include FT_SERVICE_PROPERTIES_H and - FT_PCF_DRIVER_H. - (pcf_property_set, pcf_property_get): New functions. - (pcf_service_properties): New service. - (pcf_services): Updated. - (pcf_driver_init) [PCF_CONFIG_OPTION_LONG_FAMILY_NAMES]: Handle - `no_long_family_names'. - - * src/pcf/pcfread.c (pcf_load_font): Handle `no_long_family_names' - and PCF_CONFIG_OPTION_LONG_FAMILY_NAMES. - - * docs/CHANGES: Updated. - -2017-01-09 Werner Lemberg - - [pcf] Introduce a driver structure. - - To be filled later on with something useful. - - * src/pcf/pcf.h (PCF_Driver): New structure. - - * src/pcf/pcfdrivr.c (pcf_driver_init, pcf_driver_done): New dummy - functions. - (pcf_driver_class): Updated. - -2017-01-08 Werner Lemberg - - [truetype] Again some GX code shuffling. - - We need this later on for MVAR also. - - * src/truetype/ttgxvar.c (tt_hadvance_adjust): Split off computing - an item store variation delta into... - (ft_var_get_item_delta): ...new function. - -2017-01-08 Werner Lemberg - - [truetype] Adjust font variation flags for MVAR. - - * include/freetype/internal/tttypes.h (TT_FACE_FLAG_VAR_XXX): - Remove all flags related to MVAR; replace it with... - (TT_FACE_FLAG_VAR_MVAR): ...this new macro. - (TT_Face): Remove `mvar_support' field (which was still unused). - -2017-01-06 Werner Lemberg - - [truetype] More GX code shuffling. - - We need this later on for MVAR also. - - * src/truetype/ttgxvar.c (tt_done_blend): Split off handling of item - variation store into... - (ft_var_done_item_variation_store): ...new function. - -2017-01-06 Werner Lemberg - - [truetype] More generalization of GX stuff. - - We need this later on for MVAR also. - - * src/truetype/ttgxvar.c (ft_var_load_delta_set_index_mapping): Add - parameters for delta-set index mapping and item variation store. - (ft_var_load_item_variation_store): Add parameter for item variation - store. - s/hvarData/varData/. - Move allocation of `hvar_table' to... - (ft_var_load_hvar): ...this function. - Updated. - -2017-01-06 Werner Lemberg - - [truetype] Some GX structure renames for generalization. - - We need this later on for MVAR also. - - * src/truetype/ttgxvar.h (GX_HVarData): Renamed to... - (GX_ItemVarData): ...this. - (GX_HVarRegion): Renamed to... - (GX_VarRegion): ...this. - (GX_HVStore): Renamed to... - (GX_ItemVarStore): ...this. - (GX_WidthMap): Renamed to... - (GX_DeltaSetIdxMap): ...this. - - (GX_HVarTable): Updated. - - * src/truetype/ttgxvar.c: Updated. - -2017-01-06 Werner Lemberg - - [truetype] Code shuffling. - - * src/truetype/ttgxvar.c (ft_var_load_hvar): Split off loading of - item variation store and delta set index mapping into... - (ft_var_load_item_variation_store, - ft_var_load_delta_set_index_mapping): ...new functions. - -2017-01-06 Werner Lemberg - - [truetype] Add HVAR access without advance width map. - - * src/truetype/ttgxvar.c (ft_var_load_hvar): Handle case where - `offsetToAdvanceWidthMapping' is zero. - (tt_hadvance_adjust): Implement direct deltaSet access by glyph - index. - -2017-01-06 Werner Lemberg - - [pcf] Revise driver. - - This commit improves tracing and handling of malformed fonts. In - particular, the changes to `pcf_get_properties' fix - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=379 - - * src/pcf/pcfread.c (tableNames): Use long names for better - readability. - (pcf_read_TOC): Allow at most 9 tables. - (pcf_get_properties): Allow at most 256 properties. - Limit strings array length to 256 * (65536 + 1) bytes. - Better tracing. - (pcf_get_metric): Trace metric data. - (pcf_get_metrics): Allow at most 65536 metrics. - Fix comparison of `metrics->ascent' and `metrics->descent' to avoid - potential overflow. - Better tracing. - (pcf_get_bitmaps): Allow at most 65536 bitmaps. - Better tracing. - (pcf_get_encodings, pcf_get_accel): Better tracing. - - * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Don't trace `format' details. - These are now shown by `pcf_get_bitmaps'. - -2017-01-04 Werner Lemberg - - * src/pcf/pcfdrivr.c (PCF_Face_Init): Trace compression format. - -2017-01-04 Werner Lemberg - - [cff] More consistency checks for pure CFFs. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=378 - - * src/cff/cffload.c (cff_font_load): Check element number and size - of Name and Top DICT indices. - -2017-01-04 Werner Lemberg - - [cff, truetype] Minor tracing improvement. - - * src/cff/cffobjs.c (cff_face_init), src/truetype/ttobjs.c - (tt_face_init): Indent first tracing message from SFNT driver. - -2017-01-03 Werner Lemberg - - [truetype] Various minor fixes. - - * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check instruction - size only if we do native hinting. - (TT_Load_Glyph): Trace returned error code. - - * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Trace - returned error code. - (tt_size_ready_bytecode): Don't run `prep' table if `fpgm' table is - invalid. - -2017-01-03 Werner Lemberg - - [sfnt] Don't fail if PCLT, EBLC (and similar tables) are invalid. - - These tables are optional. - - * src/sfnt/sfobjs.c (sfnt_load_face): Implement it. - -2017-01-03 Werner Lemberg - - * src/cff/cffparse.c (cff_parse_num): Simplify. - -2017-01-03 Werner Lemberg - - Various fixes for clang's undefined behaviour sanitizer. - - * src/cff/cffload.c (FT_fdot14ToFixed): Fix casting. - (cff_blend_doBlend): Don't left-shift negative numbers. - Handle 5-byte numbers byte by byte to avoid alignment issues. - - * src/cff/cffparse.c (cff_parse_num): Handle 5-byte numbers byte by - byte to avoid alignment issues. - - * src/cid/cidload (cid_read_subrs): Do nothing if we don't have any - subrs. - - * src/psaux/t1decode.c (t1_decode_parse_charstring): Fix tracing. - - * src/tools/glnames.py (main): Put `DEFINE_PSTABLES' guard around - definition of `ft_get_adobe_glyph_index'. - - * src/psnames/pstables.h: Regenerated. - - * src/psnames/psmodule.c: Include `pstables.h' twice to get both - declaration and definition. - - * src/truetype/ttgxvar.c (FT_fdot14ToFixed, FT_intToFixed): Fix - casting. - -2017-01-01 Werner Lemberg - - [cff] Handle multiple `blend' operators in a row correctly. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=368 - - * src/cff/cffload.c (cff_blend_doBlend): Adjust `parser->stack' - pointers into `subFont->blend_stack' after reallocation. - -2017-01-01 Werner Lemberg - - [sfnt] Return correct number of named instances for TTCs. - - Without this patch, requesting information for face index N returned - the data for face index N+1 (or index 0). - - * src/sfnt/sfobjs.c (sfnt_init_face): Correctly adjust `face_index' - for negative `face_instance_index' values. - -2016-12-31 Werner Lemberg - - */*: Use hex numbers for errors in tracing messages. - -2016-12-31 Werner Lemberg - - [truetype] Check axis count in HVAR table. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=362 - - * src/truetype/ttgxvar.c (ft_var_load_hvar): Check axis count. - (ft_var_load_avar): Fix tracing message. - -2016-12-30 Werner Lemberg - - * Version 2.7.1 released. - ========================= - - - Tag sources with `VER-2-7-1'. - - * docs/VERSION.TXT: Add entry for version 2.7.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.7/2.7.1/, s/27/271/. - - * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1. - - * builds/unix/configure.raw (version_info): Set to 19:0:13. - * CMakeLists.txt (VERSION_PATCH): Set to 1. - -2016-12-30 Werner Lemberg - - [ftfuzzer] Replace `rand' with an xorshift algorithm. - - * src/tools/ftfuzzer/ftfuzzer.cc: Don't include `stdlib.h'. - (Random): Implement and use a 32bit `xorshift' algorithm. - -2016-12-30 Werner Lemberg - - [ftfuzzer] Restrict number of tested bitmap strikes. - - Malformed fonts often have large values for the number of bitmap - strikes, and FreeType doesn't check the validity of all bitmap - strikes in advance. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=353 - - * src/tools/ftfuzzer/ftfuzzer.cc: Include `stdlib.h' for `rand'. - (Random): Small class to provide n randomly selected numbers - (without repetition) out of the value set [1,N]. - (LLVMFuzzerTestOneInput): Use it to test only up to 10 bitmap - strikes. - -2016-12-29 Werner Lemberg - - [truetype] Variation font API stability issues. - - Make some functions work before a call to `TT_Set_MM_Blend'. - - * src/truetype/ttgxvar.c (tt_hadvance_adjust): Exit immediately if - we don't blend. - (TT_Get_MM_Blend, TT_Get_Var_Design): Return default values if we - don't blend. - -2016-12-29 Werner Lemberg - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis data. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=348 - -2016-12-29 Werner Lemberg - - [truetype] Tracing fixes. - - * src/truetype/ttgxvar.c (tt_hadvance_adjust): Emit correct - information. - (TT_Set_Var_Design): Fix typo. - (TT_Get_Var_Design): Fix typos. - -2016-12-29 Werner Lemberg - - */*: Use `0.5f' for tracing 16.16 numbers. - -2016-12-29 Werner Lemberg - - [pcf] Protect against gzip bombs. - - Fix suggested by Kostya; reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=345 - - * src/pcf/pcfread.c (pcf_read_TOC): Limit number of TOC entries to - 1024. - -2016-12-28 Werner Lemberg - - [psnames] Only declare, not define, data in `pstables.h' (#49949). - - Pdfium includes `pstables.h' a second time; moving the definition - from `pstables.h' to `psmodule.c' saves more than 60kByte data - segment space for this case. - - * src/tools/glnames.py (StringTable::dump, - StringTable::dump_sublist, dump_encoding, dump_array): Emit - additional code to only define tables if `DEFINE_PS_TABLES' is set. - - * src/psnames/pstables.h: Regenerated. - * src/psnames/psmodule.c (DEFINE_PS_TABLES): Define. - -2016-12-28 Werner Lemberg - - [cff] Catch `blend' op in non-variant fonts. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=334 - - * src/cff/cf2intrp.c (cf2_interpT2CharString) : Don't - allow `blend' op for non-variant fonts. - -2016-12-28 Werner Lemberg - - [cff] Better check of number of blends. - - * src/cff/cf2intrp.c (cf2_interpT2CharString) , - src/cff/cffparse.c (cff_parse_blend): Compare number of blends with - stack size. - -2016-12-27 Werner Lemberg - - Documentation updates. - - * docs/CHANGES: Add missing information. - - * docs/formats.txt: Rewritten and updated. - -2016-12-27 Werner Lemberg - - [truetype, type1] Implement `FT_Get_Var_Design_Coordinates'. - - * src/truetype/ttgxvar.c (TT_Get_Var_Design): Implement. - (TT_Set_Var_Design): Fix tracing. - - * src/type1/t1load.c (T1_Get_Var_Design): Implement. - -2016-12-24 Werner Lemberg - - * src/truetype/ttpload.c (tt_face_load_hdmx): Ignore `version'. - - Problem reported by å¼µä¿ŠèŠ <418092625@qq.com>. - -2016-12-24 Werner Lemberg - - * src/sfnt/ttsbit.c (tt_face_load_sbit): Allow more version values. - - Some fonts seem to have the `version' field in the wrong byte order. - - Problem reported by å¼µä¿ŠèŠ <418092625@qq.com>. - -2016-12-24 Werner Lemberg - - * src/truetype/ttpload.c (tt_face_load_loca): Sanitize table length. - - This trivial fix allows us to accept more fonts. - - Problem reported by å¼µä¿ŠèŠ <418092625@qq.com>. - -2016-12-24 Werner Lemberg - - * src/sfnt/sfobjs.c (sfnt_init_face): Fix tracing. - -2016-12-22 Werner Lemberg - - * CMakeLists.txt: Make it work with cmake 2.8.11.2 (#49909). - -2016-12-22 Werner Lemberg - - Ensure used preprocessor symbols are defined (#49790). - - * builds/unix/ftconfig.in, builds/vms/ftconfig.h, - include/freetype/config/ftconfig.h: Check `__GNUC__', `__IBMC__', - and `__SUNPRO_C' correctly. - -2016-12-22 Werner Lemberg - - * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Check `count'. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=308 - -2016-12-22 Werner Lemberg - - [cff] Protect against invalid `vsindex' and `blend' values. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=305 - - * src/cff/cf2intrp.c (cf2_interpT2CharString) : Implement it. - -2016-12-22 Werner Lemberg - - [ftfuzzer] Always use Adobe CFF engine. - - * src/tools/ftfuzzer/ftfuzzer.cc (FT_Global::FT_Global): Implement - it. - -2016-12-21 Werner Lemberg - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko. - - I should really stop coding late in the evening... - - Thanks again to Ben for checking. - -2016-12-21 Werner Lemberg - - [autofit] Support variation fonts. - - (This ChangeLog entry was added later on.) - - * src/autofit/afglobal.c (af_face_globals_free): Remove useless - code. - - * src/base/ftmm.c (FT_Set_MM_Design_Coordinates, - * FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates, - FT_Set_Var_Blend_Coordinates): Finalize - auto-hinter data to enforce recomputation. Note that this is a - brute-force method which should be improved. - -2016-12-21 Werner Lemberg - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Thinko. - - Don't apply deltas twice for non-phantom points. - - Spotted by Ben Wagner. - -2016-12-21 Werner Lemberg - - [cff, truetype] Another try for #49829. - - * src/cff/cffdrivr.c: Don't include - `FT_SERVICE_METRICS_VARIATIONS_H'. - (cff_get_advances): Use `ttface->variation_support'. - - * src/truetype/ttdriver.c (tt_get_advances): Use - `ttface->variation_support'. - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph, - load_truetype_glyph): Use `ttface->variation_support'. - -2016-12-21 Werner Lemberg - - [truetype, sfnt] Introduce font variation flags to `TT_Face'. - - * include/freetype/internal/tttypes.h (TT_FACE_FLAG_VAR_XXX): - New macros describing available functionality of various OpenType - tables related to font variation. - (TT_Face): New fields `variation_support' and `mvar_support', - replacing and extending `use_fvar'. - - * src/sfnt/sfobjs.c (sfnt_init_face, sfnt_load_face): Use - `variation_support'. - - * src/truetype/ttgxvar.c (ft_var_load_hvar): Set `variation_support' - field. - (TT_Vary_Apply_Glyph_Deltas): Updated. - -2016-12-21 Werner Lemberg - - [base] Improve sanity check for Mac resources (#49888). - - * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Abort if `rlen' is not - positive. - -2016-12-20 Werner Lemberg - - [base] More sanity checks for Mac resources. - - We use - - https://github.com/kreativekorp/ksfl/wiki/Macintosh-Resource-File-Format - - and - - https://developer.apple.com/legacy/library/documentation/mac/pdf/MoreMacintoshToolbox.pdf#page=151 - - as references. - - * include/freetype/internal/ftrfork.h (FT_RFork_Ref): Use FT_Short - for `res_id'. - - * src/base/ftrfork.c (FT_Raccess_Get_HeaderInfo): Extract map length - and use it to improve sanity checks. - Follow the specification more closely;in particular, all data types - are signed, not unsigned. - (FT_Raccess_Get_DataOffsets): Follow the specification more closely; - in particular, all data types are signed, not unsigned. - Add some sanity checks. - -2016-12-20 Werner Lemberg - - [truetype] Improve logic for getting fast advance widths. - - * src/cff/cffdrivr.c (cff_get_advances), src/truetype/ttdriver.c - (tt_get_advances): Use `is_default_instance' for test; this gets - recomputed after changing blend coordinates. - -2016-12-20 Ben Wagner - Werner Lemberg - - [truetype] Fix linear metrics of GX variation fonts (#49829). - - When asking for an unhinted non-default variations, - `linearVertAdvance' is currently the value from the `hmtx' table - instead of the actual value after applying the variation. `HVAR' - support fixes this, but fonts will exist without that table and will - need sane fallback. - - Problem also reported as - - https://bugs.chromium.org/p/skia/issues/detail?id=5917 - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph, - load_truetype_glyph): Implement linear advance adjustments if `HVAR' - or `VVAR' tables are missing. - -2016-12-20 Werner Lemberg - - [cff, truetype] Fast advance width retrieval for fonts with HVAR. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * src/base/ftadvanc.c (LOAD_ADVANCE_FAST_CHECK): Don't handle MM. - - * src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H. - (cff_get_advances): Test for HVAR and VVAR. - - * src/truetype/ttdriver.c (tt_get_advances): Test for HVAR and VVAR. - -2016-12-18 Werner Lemberg - - [base] Fix invalid mac font recursion. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=304 - - * src/base/ftobjs.c (FT_Open_Face): Code moved to... - (ft_open_face_internal): ... this function. - Add a parameter to control whether we try special Mac font handling - in case of failure. - (FT_Open_Face, FT_New_Face, FT_New_Memory_Face, - open_face_from_buffer): Use `ft_open_face_internal'. - -2016-12-18 Werner Lemberg - - * src/cff/cffobjs.c (cff_face_init): Make named instances work. - -2016-12-18 Werner Lemberg - - [truetype, cff] Extend `get_var_blend' function of MM service. - - In particular, we need access to named instance data. - - * include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func): - Add argument for `FT_MM_Var'. - - * src/cff/cffload.c (cff_get_var_blend): Updated. - * src/cff/cffload.h: Updated. - - * src/cff/cf2ft.c (cf2_getNormalizedVector): Updated. - - * src/truetype/ttgxvar.c (tt_get_var_blend): Updated. - Accept value `NULL' for arguments. - * src/truetype/ttgxvar.h: Updated. - -2016-12-18 Werner Lemberg - - [sfnt] Handle `fvar' with zero axes as a non-MM font. - - This is better behaviour than exiting with an error. - - * include/freetype/internal/tttypes.h (TT_Face): Add `use_fvar' - field. - - * src/sfnt/sfobjs.c (sfnt_init_face): Compute `use_fvar', also - updating the validation code. - Use `use_fvar' to compute FT_FACE_FLAG_MULTIPLE_MASTERS. - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): Remove `fvar' validation - code. - -2016-12-18 Werner Lemberg - - Minor GX code shuffling. - - * include/freetype/internal/tttypes.h (TT_Face): Move - `is_default_instance' into TT_CONFIG_OPTION_GX_VAR_SUPPORT - block. - - * src/sfnt/sfobjs.c (sfnt_init_face): Updated. - * src/truetype/ttgload.c (IS_DEFAULT_INSTANCE): New macro. - (TT_Load_Glyph): Use it. - -2016-12-18 Werner Lemberg - - [cff] Better handling of non-CFF font formats. - - * src/cff/cffload.c (cff_font_load): Pure CFFs don't have a - signature, so return `FT_Err_Unknown_File_Format' more often. - -2016-12-17 Werner Lemberg - - * src/cff/cffload.c (cff_build_blend_vector): Remove redundant code. - -2016-12-17 Werner Lemberg - - * src/truetype/ttobjs.c (tt_face_init): Simplify conditional code. - -2016-12-17 Werner Lemberg - - [sfnt, truetype] Various sanitizing fixes. - - * src/sfnt/sfobjs.c (sfnt_init_face): If the axis count in `fvar' is - zero, set `num_instances' to zero. - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): Handle `fvar' table with - zero axes as invalid. - - * src/truetype/ttobjs.c (tt_face_init): Improve logic of loading - `loca', `cvt', `fpgm', and `prep' table. - -2016-12-17 Werner Lemberg - - Improve tracing of `FT_Open_Face'. - - * src/base/ftobjs.c (FT_Open_Face): Return info on number of - available faces and numbered instances, or the indices of the - requested face and numbered instance. - - * src/sfnt/sfobjs. (sfnt_open_font): Trace number of subfonts. - -2016-12-17 Werner Lemberg - - * src/cff/cffload.c (cff_load_private_dict): Always init `blend'. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=295 - -2016-12-16 Werner Lemberg - - [truetype] Fix `cvar' sanity test. - - Reported by Dave Arnold. - - * src/truetype/ttgxvar.c (tt_face_vary_cvt): Use tuple count mask. - -2016-12-16 Werner Lemberg - - [cff, truetype] Remove compiler warnings; fix `make multi'. - - * src/cff/cf2font.h: Include `cffload.h'. - - * src/cff/cffload.c: Include FT_MULTIPLE_MASTERS_H and - FT_SERVICE_MULTIPLE_MASTERS_H. - (cff_vstore_load): Eliminate `vsSize'. - (cff_load_private_dict): Tag as `FT_LOCAL_DEF'. - - * src/cff/cffload.h: Include `cffobjs.h'. - Provide declaration for `cff_load_private_dict'. - - * src/truetype/ttgxvar.c (ft_var_load_hvar): Eliminate - `minorVersion' and `map_offset'. - -2016-12-16 Werner Lemberg - - [cff] Fix heap buffer overflow (#49858). - - * src/cff/cffparse.c (cff_parser_run): Add one more stack size - check. - -2016-12-15 Werner Lemberg - - Fix clang warnings. - - * src/cff/cffload.c (cff_blend_doBlend): Add cast. - (cff_subfont_load): Set `error' correctly. - - * src/sfnt/ttmtx.c (tt_face_get_metrics): Typo. - -2016-12-15 Dave Arnold - Werner Lemberg - - [cff] Implement CFF2 support (2/2). - - The font variation code. All parts dependent on the GX code in the - `truetype' module are guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - In other words, you can still compile the `cff' module without - defining TT_CONFIG_OPTION_GX_VAR_SUPPORT (which brings you CFF2 - support without font variation). - - * src/cff/cf2font.c (cf2_font_setup): Add support for font - variation. - * src/cff/cf2font.h (CF2_Font): Add fields for variation data. - - * src/cff/cf2ft.c (cf2_free_instance): Free blend data. - (cf2_getVStore, cf2_getNormalizedVector): New functions. - * src/cff/cf2ft.h: Updated. - - * src/cff/cf2intrp.c: Include `cffload.h'. - (cf2_cmdRESERVED_15, cf2_cmdRESERVED_16): Replace with... - (cf2_cmdVSINDEX, cf2_cmdBLEND): ... this new enum values. - (cf2_doBlend): New function. - (cf2_interpT2CharString): Handle `vsindex' and `blend' opcodes. - - * src/cff/cffload.c (FT_fdot14ToFixed): New macro. - (cff_vstore_done, cff_vstore_load): New functions. - (cff_blend_clear, cff_blend_doBlend, cff_blend_build_vector, - cff_blend_check_vector): New functions. - (cff_load_private_dict): Add arguments for blend vector. - Handle blend data. - (cff_subfont_load, cff_subfont_done): Updated. - (cff_font_load): Handle CFF2 variation store data. - (cff_font_done): Updated. - * src/cff/cffload.h: Include `cffparse.h'. - Updated. - - * src/cff/cffobjs.c (cff_face_done): Updated. - - * src/cff/cffparse.c: Include `cffload.h'. - (cff_parse_num): Handle internal value 255. - (cff_parse_vsindex, cff_parse_blend): New functions. - (CFF_FIELD_BLEND): New macro. - (cff_parser_run): Updated. - * src/cff/cffparse.h (cff_kind_blend): New enum value. - - * src/cff/cfftoken.h: Handle `vstore', `vsindex', and `blend' - dictionary values. - - * src/cff/cfftypes.h (CFF_VarData, CFF_AxisCoords, CFF_VarRegion, - CFF_VStore, CFF_Blend): New structures. - (CFF_FontRecDict): Add `vstore_offset' field. - (CFF_Private): Add `vsindex' field. - (CFF_SubFont): Add fields for blend data. - (CFF_Font): Add `vstore' field. - - * src/truetype/ttgxvar.c (TT_Get_MM_Var): `CFF2' is equal to `gvar', - since glyph variation data is directly embedded. - (TT_Set_MM_Blend): Don't load `gvar' table for CFF2 fonts. - -2016-12-15 Dave Arnold - Werner Lemberg - - [cff] Implement CFF2 support (1/2). - - This commit does not contain the blend code for font variation - support, which follows in another commit. - - You should ignore whitespace while inspecting this commit. - - * include/freetype/internal/tttypes.h (TT_Face): Add `isCFF2' - member. - - * src/cff/cf2font.h (CF2_Font): Add `isCFF2' member. - - * src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Handle `isCFF2' - flag. - (cf2_getMaxstack): New function. - * src/cff/cf2ft.h: Updated. - - * src/cff/cf2intrp.c (cf2_escRESERVED_38): New enum. - (cf2_interpT2CharString): Handle CFF2 differences. - Add tracing message for errors. - - * src/cff/cffdrivr.c (cff_get_glyph_name, cff_get_name_index): - Update for CFF2. - - * src/cff/cffload.c (FT_FIXED_ONE): New macro. - (cff_index_init, cff_index_load_offsets, cff_index_access_element, - cff_index_get_name, cff_ft_select_get, cff_load_private_dict, - cff_subfont_load, cff_font_load): Handle CFF2. - * src/cff/cffload.h: Updated. - - * src/cff/cffobjs.c (cff_face_init): Handle CFF2. - - * src/cff/cffparse.c (cff_parse_maxstack): New function. - (CFFCODE_TOPDICT, CFFCODE_PRIVATE): Removed - * src/cff/cffparse.h (CFF2_MAX_STACK, CFF2_DEFAULT_STACK): New - macros. - (CFF2_CODE_TOPDICT, CFF2_CODE_FONTDICT, CFF2_CODE_PRIVATE): New - macros. - - * src/cff/cfftoken.h: Add fields for CFF2 dictionaries (but no blend - stuff). - - * src/cff/cfftypes.h (CFF_Index): Add `hdr_size' field. - (CFF_FontRecDict): Add `maxstack' field. - (CFF_Private): Add `subfont' field. - (CFF_Font): Add `top_dict_length' and `cff2' fields. - - * src/sfnt/sfobjs.c (sfnt_load_face): Handle `CFF2' table. - -2016-12-15 Werner Lemberg - Dave Arnold - - [truetype] Provide HVAR advance width variation as a service. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * src/truetype/ttdriver.c (tt_service_metrics_variations): Updated. - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Prevent - double adjustment of advance width. - - * src/sfnt/ttmtx.c: Include FT_SERVICE_METRICS_VARIATIONS_H. - (tt_face_get_metrics): Apply metrics variations. - -2016-12-15 Dave Arnold - Werner Lemberg - - [truetype] Provide function to apply `HVAR' advance width variation. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * src/truetype/ttgxvar.c (tt_hadvance_adjust): New function. - * src/truetype/ttgxvar.h: Updated. - -2016-12-15 Dave Arnold - Werner Lemberg - - [truetype] Add `HVAR' table parsing. - - Note that this is not complete yet; it only handles advance width - variation. - - Activation of the code follows in another commit. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * include/freetype/ftmm.h (FT_Var_Named_Style): Add `psid' member. - - * src/truetype/ttgxvar.h (GX_HVarData, GX_AxisCoords, GX_HVarRegion, - GX_HVStore, GX_WidthMap): New auxiliary structures for... - (GX_HVarTable): ... HVAR main structure. - (GX_BlendRec): Add data for HVAR loading. - - * src/truetype/ttgxvar.c (FT_FIXED_ONE, FT_fdot14ToFixed, - FT_intToFixed, FT_fixedToInt): New macros. - (ft_var_load_hvar): New function. - (TT_Get_MM_Var): Updated. - (tt_done_blend): Deallocate HVAR data. - -2016-12-15 Dave Arnold - - [cff] Extend number parsing. - - The forthcoming CFF2 support needs a dynamic parsing limit. - - * src/cff/cffparse.c (cff_parse_num, do_fixed, cff_parse_fixed, - cff_parse_fixed_scaled, cff_parse_fixed_dynamic): Add argument for - parser. - (cff_parse_font_matrix, cff_parse_font_bbox, cff_parse_private_dict, - cff_parse_multiple_master, cff_parse_cid_ros, cff_parser_run): Updated. - - * src/cff/cffparse.h (cff_parse_num): Export locally. - -2016-12-15 Dave Arnold - - [cff] Implement dynamic stack size for Adobe engine. - - This also adds `cf2_stack_setReal' and `cf2_stack_pop', needed for - the forthcoming CFF2 support. - - * src/cff/cf2stack.c (cf2_stack_init): Add argument for stack size. - (cf2_stack_free): Deallocate stack. - (cf2_stack_count, cf2_stack_pushInt, cf2_stack_pushFixed, - cf2_stack_popInt, cf2_stack_popFixed, cf2_stack_getReal, - cf2_stack_clear): Updated. - (cf2_stack_setReal, cf2_stack_pop): New functions. - - * src/cff/cf2stack.h (CF2_Stack): Add `stackSize' member. - Update function declarations. - - * src/cff/cf2intrp.c (cf2_interpT2CharString): Updated. - - * src/cff/cffparse.c (cff_parser_init): Add parameter for stack - size; return error code. - (cff_parser_done): New function. - (cff_parser_run): Updated. - - * src/cff/cffparse.h (CFF_Parser): Add `stackSize' member and make - `stack' a pointer. - Update function declarations. - - * src/cff/cffload.c (cff_load_private_dict, cff_subfont_load): - Updated. - -2016-12-15 Dave Arnold - Werner Lemberg - - [cff] Code shuffling. - - * src/cff/cfftypes.h (CFF_Font): Add `library' and `base_offset' - fields. - - * src/cff/cffload.c (cff_subfont_load): Change last argument to - `CFF_Font' - Split off parsing of private dictionary into... - (cff_load_private_dict): ...this new function. - (cff_font_load): Updated. - -2016-12-14 Werner Lemberg - - [sfnt, truetype] Add framework for Metrics Variations service. - - No effect yet; service functions will be implemented later on. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * include/freetype/internal/services/svmetric.h: New file. - - * include/freetype/internal/ftserv.h - (FT_SERVICE_METRICS_VARIATIONS_H): New macro. - - * include/freetype/internal/tttypes.h (TT_Face): New field `var'. - - * src/sfnt/sfobjs.c: Include FT_SERVICE_METRICS_VARIATIONS_H. - (sfnt_init_face): Initialize `face->var'. - - * src/truetype/ttdriver.c: Include FT_SERVICE_METRICS_VARIATIONS_H. - (tt_service_metrics_variations): New service. - (tt_services): Updated. - - * src/truetype/ttpic.h: Updated. - -2016-12-14 Werner Lemberg - - [cff] Add Multiple Masters service. - - The code simply uses the MM functions from the `truetype' module. - - Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. - - * include/freetype/internal/tttypes.h (TT_Face): New field `mm'. - - * src/cff/cffdrivr.c: Include FT_SERVICE_MULTIPLE_MASTERS_H. - (cff_set_mm_blend, cff_get_mm_blend, cff_get_mm_var, - cff_set_var_design, cff_get_var_design): New functions. - (cff_service_multi_masters): New service. - (cff_services): Updated. - - * src/cff/cffload.c (cff_get_var_blend, cff_done_blend): New - functions. - * src/cff/cffload.h: Updated. - - * src/cff/cffpic.h (CFF_SERVICE_MULTI_MASTERS_GET): New macro. - - * src/sfnt/sfobjs.c: Include FT_SERVICE_MULTIPLE_MASTERS_H. - (sfnt_init_face): Initialize `face->mm'. - -2016-12-14 Werner Lemberg - - Extend functionality of `ft_module_get_service'. - - It can now differentiate between local and global searches. - - * src/base/ftobjs.c (ft_module_get_service): Add `global' argument. - (FT_Get_TrueType_Engine_Type): Updated. - - * src/cff/cffdrivr.c (cff_get_ps_name, cff_get_cmap_info): Updated. - - * include/freetype/internal/ftobjs.h: Updated. - * include/freetype/internal/ftserv.h (FT_FACE_FIND_GLOBAL_SERVICE): - Updated. - -2016-12-14 Werner Lemberg - - * src/truetype/ttgxvar.c (tt_get_var_blend): Fix compiler warning. - -2016-12-14 Dave Arnold - Werner Lemberg - - [sfnt, cff] Minor preparations. - - * include/freetype/tttags.h (TTAG_CFF2, TTAG_HVAR, TTAG_MVAR, - TTAG_VVAR): New SFNT table tags. - - * src/cff/cf2fixed.h (CF2_FIXED_ONE, CF2_FIXED_EPSILON): Add cast. - -2016-12-10 Werner Lemberg - - [truetype, type1] Add `get_var_blend' to MM service. - - For internal use; we want to share code between the forthcoming CFF2 - support and TrueType. - - * include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func): - New typedef. - (MultiMasters): Add `get_var_blend'. - (FT_Service_MultiMasters): Updated. - - * src/truetype/ttgxvar.c (tt_get_var_blend): New function. - * src/truetype/ttgxvar.h: Updated. - - * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated. - * src/type1/t1driver.c (t1_service_multi_masters): Updated. - -2016-12-10 Werner Lemberg - - [truetype, type1] Add `done_blend' to MM service. - - For internal use; we want to share code between the forthcoming CFF2 - support and TrueType. - - * include/freetype/internal/services/svmm.h (FT_Done_Blend_Func): - New typedef. - (MultiMasters): Add `done_blend'. - (FT_Service_MultiMasters): Updated. - - * src/truetype/ttgxvar.c (tt_done_blend): Use `TT_Face' as argument. - * src/truetype/ttgxvar.h: Updated. - - * src/truetype/ttobjs.c (TT_Face_Done): Updated. - - * src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated. - * src/type1/t1driver.c (t1_service_multi_masters): Updated. - -2016-12-09 Werner Lemberg - - [sfnt] Revert change from 2016-12-08. - - I missed the functionality of `ft_module_get_service', which makes - the change unnecessary. - -2016-12-08 Werner Lemberg - - Add framework to support services with 8 functions. - - We will need this for CFF variation font support. - - * include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC8): - New macro. - -2016-12-08 Werner Lemberg - - [sfnt] Add `get_glyph_name' and `get_name_index' to SFNT interface. - - CFF2 fonts will need access to those two functions. - - * include/freetype/internal/sfnt.h: Include FT_SERVICE_GLYPH_DICT_H. - (SFNT_Interface): Add `get_glyph_name' and `get_name_index' members. - (FT_DEFINE_SFNT_INTERFACE): Updated. - - * src/sfnt/sfdriver.c (sfnt_get_glyph_name, sfnt_get_name_index): - Fix signatures to exactly correspond to the glyph dict service - function typedefs. - (sfnt_interface): Updated. - -2016-12-06 Dave Arnold - - Add `FT_Get_Var_Design_Coordinates' function. - - Note that the low-level functions aren't implemented yet. - - * include/freetype/ftmm.h: Declare. - - * include/freetype/internal/services/svmm.h - (FT_Get_Var_Design_Func): New typedef. - (MultiMasters): New MM service function `get_var_design'. - (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated. - Update all callers. - - * src/base/ftmm.c (FT_Get_Var_Design_Coordinates): Implement. - - * src/truetype/ttdriver.c: Updated. - - * src/truetype/ttgxvar.c (TT_Get_Var_Design): New dummy function to - handle `get_var_design' service. - * src/truetype/ttgxvar.h: Updated. - - * src/type1/t1driver.c: Updated. - - * src/type1/t1load.c (T1_Get_Var_Design): New dump function to - handle `get_var_design' service. - * src/type1/t1load.h: Updated. - -2016-12-06 Werner Lemberg - - * src/type1/t1load.c (parse_subrs): Fix memory leak. - - The `subrs' keyword might erroneously occur multiple times. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=231 - -2016-12-01 Werner Lemberg - - [gzip] Improve building with external zlib (#49673). - - Building FreeType with external zlib 1.2.8 makes msvc 14 stop with - the following error. - - ftgzip.c - zlib-1.2.8\zlib.h(86): error C2061: - syntax error: identifier 'z_const' - zlib-1.2.8\zlib.h(94): error C2054: - expected '(' to follow 'z_const' - zlib-1.2.8\zlib.h(94): error C2085: - 'msg': not in formal parameter list - ... - zlib-1.2.8\zlib.h(877): fatal error C1003: - error count exceeds 100; stopping compilation - - The error happens because FreeType keeps an own copy of zlib-1.1.4 - under `src/gzip'. When building `src/gzip/ftgzip.c' with - FT_CONFIG_OPTION_SYSTEM_ZLIB defined, it uses - - #include - - which correctly finds an external `zlib.h', but `zlib.h' itself has - a line - - #include "zconf.h" - - which makes Visual Studio 2015 find `src/gzip/zconf.h' while - compiling the files in `src/gzip'. - - * src/gzip/zconf.h: Rename to... - * src/gzip/ftzconf.h: ... this. - * src/gzip/zlib.h, src/gzip/rules.mk (GZIP_DRV_SRCS): Updated. - -2016-12-01 Oleksandr Chekhovskyi - - [autofit] Fix Emscripten crash (patch #9180). - - Function calls through pointers must use a matching signature to - work on Emscripten, since such calls are dispatched through lookup - tables grouped by signature. - - * src/autofit/aftypes.h (AF_WritingSystem_ApplyHintsFunc): Fix - typedef. - -2016-11-29 Werner Lemberg - - [smooth] Revert previous commit. Already fixed with 6ca54c64. - -2016-11-29 Werner Lemberg - - [smooth] Avoid conditional jump on uninitialized value (#49711). - - * src/smooth/ftgrays.c (gray_raster_render): Initialize `worker'. - -2016-11-27 Nikolaus Waxweiler - - [autofit] Code shuffling. - - Also improve some comments and remove unused code. - - No functional change. - - * src/autofit/afloader.c (af_loader_load_g): Merged with... - (af_loader_load_glyph): ...this function. - Split off emboldening code into... - (af_loader_embolden_glyph_in_slot): ... this function. - -2016-11-17 Werner Lemberg - - Better support of LLP64 systems with gcc (and clang). - - * builds/unix/configure.raw: Call `AC_TYPE_LONG_LONG_INT'. - - * builds/unix/ftconfig.in (FT_LONG64): Enable for LLP64 systems (and - suppress warnings) even without `FT_CONFIG_OPTION_FORCE_INT64'. - -2016-11-10 Werner Lemberg - - Fix `lcd_weights' array size. - - * include/freetype/internal/ftobjs.h (FT_LibraryRec): Do it. - - Reported by Nikolaus. - -2016-11-06 Werner Lemberg - - * src/base/ftobjs.c (FT_Render_Glyph_Internal): Fix tracing. - -2016-11-06 Werner Lemberg - - [sfnt] Improve FT_LOAD_BITMAP_METRICS_ONLY for `sbix' format. - - It's unavoidable to call the PNG engine, but to get the metrics it - is sufficient to read the PNG image's header only. - - * src/sfnt/pngshim.c (Load_SBit_Png): Add argument to control the - allocation of the glyph slot. - * src/sfnt/pngshim.h: Updated. - * src/sfnt/ttsbit.c (tt_sbit_decoder_load_png, - tt_face_load_sbix_image, tt_face_load_sbit_image): Updated. - -2016-11-06 Werner Lemberg - - [sfnt] Speed up `sbix' lookup. - - This also fixes a bug introduced in 2016-10-01 which prevents - display of embedded bitmap fonts that use the `sbix' format. - - * src/sfnt/ttsbit.c (tt_face_load_sbit): Store `sbix' size and - offset also in `ebdt_size' and `ebdt_start', respectively. This - makes the test for an embedded bitmap data table succeed for this - format. - - (tt_face_load_strike_metrics) : Use - `ebdt_size' and `ebdt_start' - (tt_face_load_sbix_image): Ditto. - -2016-11-06 Seigo Nonaka - Werner Lemberg - - Introduce a way of quickly retrieving (embedded) bitmap metrics. - - `FT_Load_Glyph' doesn't generate a bitmap for a non-bitmap glyph - until the user calls `FT_Render_Glyph'. However, it always - allocates memory for bitmaps and copies or decodes the contents of a - bitmap glyph, which can be quite slow for PNG data. - - * include/freetype/freetype.h (FT_LOAD_BITMAP_METRICS_ONLY): New - macro. - - * src/base/ftobjs.c (FT_Load_Glyph): Unset FT_LOAD_RENDER if - FT_LOAD_BITMAP_METRICS_ONLY is used. - - * src/sfnt/ttsbit.c (tt_sbit_decoder_alloc_bitmap, - tt_sbit_decoder_load_bitmap): Add argument to control allocation of - the glyph slot. - (tt_sbit_decoder_load_image, tt_sbit_decoder_load_compound, - tt_face_load_sbit_image): Updated. - - * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Quickly exit if - `FT_LOAD_BITMAP_METRICS_ONLY' is set. - - * src/pfr/pfrsbit.c, src/pfr/pfrsbit.h (pfr_slot_load_bitmap): Add - argument to control allocation of the glyph slot. - * src/pfr/pfrobjs (pfr_slot_load): Updated. - - * src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto. - - * docs/CHANGES: Updated. - -2016-11-06 Werner Lemberg - - Synchronize with gnulib (#49448). - - * include/freetype/config/ftconfig.h, builds/unix/ftconfig.in, - builds/vms/ftconfig.h (FT_TYPEOF): Update code to use definition in - current version of `intprops.h'. - Other minor synchronization to reduce code differences between the - three files. - -2016-11-03 Behdad Esfahbod - - [truetype] Clamp variation requests to valid range. - - This is required by OpenType 1.8; it also avoids rounding surprises. - - * src/truetype/ttgxvar.c (TT_Set_Var_Design): Clamp design coordinates - outside of the allowed range to always stay within the range instead - of producing an error. - -2016-10-29 Werner Lemberg - - [truetype] Remove clang warnings. - - * src/truetype/ttinterp.h (TT_ExecContextRec): Using `FT_ULong' for - loop counter handling. - - * src/truetype/ttinterp.c: Updated. - (Ins_SCANTYPE): Use signed constant. - (TT_RunIns): Ensure `num_twilight_points' is 16bit. - -2016-10-27 Werner Lemberg - - [truetype] Fix commit from 2014-11-24. - - Problem reported by Hin-Tak Leung . - - * src/truetype/ttpload.c (tt_face_load_hdmx): Fix file checking - logic. - -2016-10-26 Werner Lemberg - - Add `FT_Get_{MM,Var}_Blend_Coordinates' functions. - - * include/freetype/ftmm.h: Declare. - - * include/freetype/internal/services/svmm.h (FT_Get_MM_Blend_Func): - New typedef. - (MultiMasters): New MM service function `get_mm_blend'. - (FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated. - Update all callers. - - * src/base/ftmm.c (FT_Get_MM_Blend_Coordinates, - FT_Get_Var_Blend_Coordinates): Implement. - - * src/truetype/ttdriver.c: Updated. - - * src/truetype/ttgxvar.c (TT_Get_MM_Blend): New function to handle - `get_mm_blend' service. - * src/truetype/ttgxvar.h: Updated. - - * src/type1/t1driver.c: Updated. - - * src/type1/t1load.c (T1_Get_MM_Blend): New function to handle - `get_mm_blend' service. - * src/type1/t1load.h: Updated. - - * docs/CHANGES: Document. - -2016-10-26 Werner Lemberg - - * src/type1/t1load.c (parse_subrs): Fix limit check. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=81 - -2016-10-25 Alexei Podtelezhnikov - - [cff] Correct cmap format reporting (#24819). - - * src/cff/cffdrivr.c (cff_get_cmap_info): Throw an error on synthetic - charmap instead of guessing its format and language. - -2016-10-22 Werner Lemberg - - [truetype] Fix SCANTYPE instruction (#49394). - - * src/truetype/ttinterp.c (Ins_SCANTYPE): Only use lower 16bits. - -2016-10-22 Werner Lemberg - - [sfnt] Improve handling of invalid post 2.5 tables [#49393]. - - * src/sfnt/ttpost.c (load_format_25): We need at least a single - table entry. - -2016-10-14 Werner Lemberg - - [truetype] Fix handling of `cvar' table data. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53 - - * src/truetype/ttgxvar.c (tt_face_vary_cvt): Ignore invalid CVT - indices. - -2016-10-11 Werner Lemberg - - [psaux] Fix handling of invalid flex subrs. - - Problem reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52 - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings) - : Set `flex_state' after error checking. - -2016-10-11 Werner Lemberg - - * src/truetype/ttgxvar.c (tt_done_blend): Fix deallocation. - -2016-10-08 Werner Lemberg - - * src/cid/cidload.c (cid_face_open): Properly propagate `error'. - -2016-10-08 Werner Lemberg - - [cid] Fix parsing of subr offsets. - - Bug introduced 2016-05-16. - - * src/cid/cidparse.c (cid_parser_new): Fix off-by-one error. - -2016-10-01 Werner Lemberg - - [sfnt] Disable bitmap strikes if we don't have a bitmap data table. - - * src/sfnt/ttsbit.c (tt_face_load_sbit): Check whether we have - a bitmap data table. - -2016-10-01 Alexei Podtelezhnikov - - [smooth] Remove impossibility. - - * src/smooth/ftgrays.c (TWorker): Rearrange fields. - (gray_convert_glyph): Remove impossible condition and clean up. - -2016-09-29 Werner Lemberg - - [pcf] Enrich family name with foundry name and glyph width info. - - This is a very old patch from openSuSE (from 2006, submitted to - FreeType in 2011) that I forgot to apply. - - https://build.opensuse.org/package/view_file/openSUSE:Factory/freetype2/freetype2-bitmap-foundry.patch - - Prepend the foundry name plus a space to the family name. There are - many fonts just called `Fixed' which look completely different, and - which have nothing to do with each other. When selecting `Fixed' in - KDE or Gnome one gets results that appear rather random, the style - changes often if one changes the size and one cannot select some - fonts at all. - - We also check whether we have `wide' characters; all put together, - we get family names like `Sony Fixed' or `Misc Fixed Wide'. - - * src/pcf/pcfread.c (pcf_load_font): Implement it. - - * docs/CHANGES: Document it. - -2016-09-29 Werner Lemberg - - [ftfuzzer] Speed up. - - * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Don't - check for embedded bitmaps if we have a non-default instance. - -2016-09-29 Werner Lemberg - - [truetype] Disallow bitmap strikes for non-default instances. - - Also speed up access of default instances if GX variations are - active. - - * include/freetype/internal/tttypes.h (TT_FaceRec): Add - `is_default_instance' member. - - * src/sfnt/sfobjs.c (sfnt_init_face): Initialize - `is_default_instance'. - - * src/truetype/ttgload.c (TT_Process_Simple_Glyph, - load_truetype_glyph): Add test for default instance. - (TT_Load_Glyph): Load embedded bitmaps for default instance only. - - * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Compute - `is_default_instance'. - -2016-09-29 Werner Lemberg - - [truetype] Clean up `TT_Face' structure. - - * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused - fields `horz_metrics' and `vert_metrics'. - Update documentation. - - * src/sfnt/sfobjs.c (sfnt_done_face): Updated. - -2016-09-28 Werner Lemberg - - More FT_ZERO usage. - - * src/gxvalid/gxvcommn.c (gxv_ClassTable_validate): - s/ft_memset/FT_MEM_ZERO/. - - * src/psaux/t1decode.c (t1_decoder_parse_charstrings): - s/ft_memset/FT_ARRAY_ZERO/. - - * src/raster/ftraster.c (FT_ZERO): Define. - (ft_black_new): Use it. - * src/raster/ftrend1.c (ft_raster1_get_cbox): - s/FT_MEM_ZERO/FT_ZERO/. - - * src/smooth/ftgrays.c (FT_ZERO): Define. - (gray_raster_new): Use it. - * src/smooth/ftsmooth.c (ft_smooth_get_cbox): - s/FT_MEM_ZERO/FT_ZERO/. - -2016-09-28 Werner Lemberg - - */*: s/FT_MEM_ZERO/FT_ZERO/ where appropriate. - -2016-09-27 Werner Lemberg - - [truetype] Trace number of executed opcodes. - - * src/truetype/ttinterp.c (TT_RunIns): Implement it. - -2016-09-27 Werner Lemberg - - [truetype] Speed up `TT_Load_Glyph'. - - This avoids additional calls to `tt_face_lookup_table' for the - `glyf' table, which can be expensive. - - * include/freetype/internal/tttypes.h (TT_LoaderRec): Move - `glyf_offset' field to ... - (TT_FaceRec): ... this structure. - * src/truetype/ttgload.c (load_truetype_glyph): Updated. - (tt_loader_init): Move initialization of `glyf_offset' to ... - * src/truetype/ttpload.c (tt_face_load_loca): ... this function. - -2016-09-27 Werner Lemberg - - [truetype] Introduce dynamic limits for some bytecode opcodes. - - This speeds up FreeType's handling of malformed fonts. - - * src/truetype/ttinterp.c (TT_RunIns): Set up limits for the number - of twilight points, the total number of negative jumps, and the - total number of loops in LOOPCALL opcodes. The values are based on - the number of points and entries in the CVT table. - (Ins_JMPR): Test negative jump counter. - (Ins_LOOPCALL): Test loopcall counter. - - * src/truetype/ttinterp.h (TT_ExecContext): Updated. - - * docs/CHANGES: Updated. - -2016-09-25 Werner Lemberg - - [truetype] Sanitize only last entry of `loca' table. - - Without this patch, a loca sequence like `0 100000 0 100000 ...', - where value 100000 is larger than the `glyf' table size, makes - FreeType handle the whole `glyf' table as a single glyph again and - again, which is certainly invalid (and can be very slow, too). - - * src/truetype/ttpload.c (tt_face_get_location): Implement. - Improve tracing messages. - -2016-09-25 Werner Lemberg - - * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Fix typo. - -2016-09-24 Werner Lemberg - - [autofit] Tracing fixes. - - * src/autofit/afmodule.c (af_autofitter_load_glyph): Call dumping - functions only if we actually do tracing. - -2016-09-22 Alexei Podtelezhnikov - - [smooth] Reduce divisions in the line renderer. - - We don't need some divisions if a line segments stays within a single - row or a single column of pixels. - - * src/smooth/ftgrays.c (gray_render_line) [FT_LONG64]: Make divisions - conditional. - -2016-09-15 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_sweep): Remove check for empty table. - -2016-09-14 Alexei Podtelezhnikov - - [smooth] Another tiny speed-up. - - * src/smooth/ftgrays.c (gray_find_cell): Merge into... - (gray_record_cell): ... this function. - -2016-09-11 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_{find,set}_cell): Remove dubious code. - -2016-09-11 Alexei Podtelezhnikov - - [smooth] Fix valgrind warning and reoptimize. - - The algorithm calls `gray_set_cell' at the start of each new contour - or when the contours cross the cell boundaries. Double-checking for - that is wasteful. - - * src/smooth/ftgrays.c (gray_set_cell): Remove check for a new cell. - (gray_convert_glyph): Remove initialization introduced by 44b172e88. - -2016-09-10 Werner Lemberg - - [sfnt] Fix previous commit. - - Problems reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40 - - We now map the strike index right before accessing the physical - data, not earlier. - - * src/sfnt/sfobjs.c (sfnt_load_face): Set `face->sbit_strike_map' - after creating the map so that... - - * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): ... this function - can be used before and after setting up `sbit_strike_map'. - (tt_face_set_sbit_strike): Revert change. - (tt_sbit_decoder_init, tt_face_load_sbix_image): Map strike index. - - * src/truetype/ttdriver.c (tt_size_select): Revert change. - -2016-09-09 Werner Lemberg - - [ftfuzzer] Minor improvements. - - * src/tools/ftfuzzer/ftfuzzer.cc (LLVMFuzzerTestOneInput): Ignore - invalid strikes. - Use better values for call to `FT_Set_Char_Size'. - -2016-09-09 Werner Lemberg - - [sfnt] Don't provide (completely) broken strike data. - - FreeType tries to sanitize strike header data; we now reject - completely broken ones. - - * include/freetype/internal/tttypes.h (TT_FaceRec): New - `sbit_strike_map' array pointer. - - * src/base/ftobjs.c (FT_Match_Size): Reject matches where either - width or height would be zero. - Add tracing message in case of error. - - * src/sfnt/sfobjs.c (sfnt_load_face): Populate `sbit_strike_map', - only using (more or less) valid strike header data for - FT_Face's `available_sizes' array. - (sfnt_done_face): Updated. - - * src/sfnt/ttsbit.c (tt_face_set_sbit_strike): Use - `sbit_strike_map'. - (tt_face_load_strike_metrics): Improve tracing. - - * src/truetype/ttdriver.c (tt_size_select): Use `sbit_strike_map'. - -2016-09-08 Werner Lemberg - - * Version 2.7 released. - ======================= - - - Tag sources with `VER-2-7'. - - * docs/VERSION.TXT: Add entry for version 2.7. - - * 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.5/2.7/, s/265/27/. - - * include/freetype/freetype.h (FREETYPE_MINOR): Set to 7. - (FREETYPE_PATCH): Set to 0. - - * builds/unix/configure.raw (version_info): Set to 18:6:12. - * CMakeLists.txt (VERSION_MINOR): Set to 7. - (VERSION_PATCH): Set to 0. - - * docs/CHANGES: Updated. - -2016-09-08 Werner Lemberg - - * src/truetype/ttinterp.c: Include `ttgxvar.h'. - - This fixes the `multi' build. - -2016-09-08 Werner Lemberg - - [autofit] Another improvement to Armenian support. - - Suggested by Hrant H Papazian . - - * src/autofit/afscript.h: Use better suited characters to derive - default stem widths. - -2016-09-07 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_hline): Micro-optimize. - -2016-09-06 Alexei Podtelezhnikov - - [smooth] Operate in absolute bitmap coordinates. - - Simpler bitmap addressing improves performance by 1.5%. - - * src/smooth/ftgrays.c (gray_TWorker): Remove count fields. - (gray_dump_cells, gray_find_cell, gray_set_cell, gray_hline, - gray_sweep, gray_convert_glyph, gray_raster_render): Updated. - -2016-09-06 Alexei Podtelezhnikov - - [smooth] Improve contour start (take 2). - - * src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly - instead of... - (gray_start_cell): ... this function, which is removed. - (gray_convert_glyph): Make initial y-coordinate invalid. - -2016-09-06 Werner Lemberg - - [type1] MM fonts support exactly zero named instances (#48748). - - * src/type1/t1load.c (T1_Get_MM_Var): Set `num_namedstyles' to zero. - -2016-09-06 Jonathan Kew - - [cff] Fix uninitialized memory. - - Problem reported as - - https://bugzilla.mozilla.org/show_bug.cgi?id=1270288 - - * src/cff/cf2interp.c (cf2_interpT2CharString): Initialize `storage' - array to handle a `get' opcode without a previous `put'. - -2016-09-05 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_move_to, gray_start_cell): Revert. - -2016-09-05 Alexei Podtelezhnikov - - [smooth] Improve contour start. - - * src/smooth/ftgrays.c (gray_move_to): Call `gray_set_cell' directly - instead of... - (gray_start_cell): ... this function, which is removed. - -2016-09-05 Werner Lemberg - - [cff] Fix memory initialization. - - * src/cff/cf2stack.c (cf2_stack_init): Use `FT_NEW'. The `Q' - variants of FreeType's memory allocation macros don't do zeroing. - -2016-09-05 Werner Lemberg - - [ftrandom] Minor improvements. - - * src/tools/ftrandom/ftrandom.c (_XOPEN_SOURCE): New macro, set to - 500. - - * src/tools/ftrandom/Makefile (CFLAGS): Split off include - directories to ... - (INCLUDES): ... this new variable. - (LDFLAGS): New variable. - (ftrandom.o, ftrandom): Updated. - -2016-09-05 Werner Lemberg - - [autofit] Improve Armenian support. - - Thanks to Hrant H Papazian for help. - - * src/autofit/afblue.dat (AF_BLUE_STRING_ARMENIAN_*): Improve - selection of characters. - - * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated. - -2016-09-04 Werner Lemberg - - [ftrandom] Improve Makefile. - - It now supports both a normal build (`./configure && make') and a - development build (`make devel'). - - * src/tools/ftrandom/Makefile (VPATH): Set it so that - `libfreetype.a' gets searched in both `objs' (for the development - build) and `objs/.libs' (for a normal build which uses libtool). - (LIBS): Add missing libraries. - (ftrandom.o): New rule. - (ftrandom): Use automatic variables. - -2016-09-03 Werner Lemberg - - [truetype] More fixes for handling of GX deltas. - - Problems reported by Bob Taylor . - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix rough - sanity test for glyph variation array header size. - Always set stream position before reading packed x and y deltas. - Fix thinko w.r.t. `localpoints' array. - -2016-09-03 Werner Lemberg - - [ftrandom] Various fixes. - - * src/tools/ftrandom/ftrandom.c (GOOD_FONTS_DIR): Provide better - default. - (error_fraction): Make it of type `double' to work as advertized – - this was completely broken. - Update all related code. - (error_count, fcnt): Make it unsigned to fix compiler warnings. - Update all related code. - (fontlist): Change `len' member to `long' to fix compiler warnings. - (FT_MoveTo, FT_LineTo, FT_ConicTo, FT_CubicTo, abort_test): Tag - unused variables. - (TestFace, FindFonts, copyfont, do_test): Fix compiler warnings. - (ExecuteTest): Ditto. - Call `FT_Done_FreeType'. - (getErrorCnt): Replace `ceil' with an ordinary cast to `unsigned - int'. - (usage): Improve output. - (main): Fix compiler warnings. - - * src/tools/ftrandom/README: Updated. - -2016-09-03 Werner Lemberg - - [base] Avoid negative bitmap strike dimensions (#48985). - - * src/base/ftobjs.c (FT_Open_Face): Check whether negation was - actually successful. For example, this can fail for value - -32768 if the type is `signed short'. If there are problems, - disable the strike. - -2016-09-03 Werner Lemberg - - [cff] Avoid null pointer passed to FT_MEM_COPY (#48984). - - * src/cff/cffload.c (cff_index_get_name): Check `byte_len'. - -2016-09-02 Werner Lemberg - - [unix] Enable 64bit support in file system access (#48962). - - * builds/unix/configure.raw: Call `AC_SYS_LARGEFILE'. - -2016-09-02 Werner Lemberg - - [sfnt] Avoid left shift of negative value (#48980). - - * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bit_aligned): Use unsigned - constant. - -2016-09-02 Werner Lemberg - - * src/smooth/ftgrays.c (gray_hline): Fix clang compiler warnings. - -2016-09-02 Werner Lemberg - - Some preparations for the next release. - - * include/freetype/config/ftoption.h - (TT_CONFIG_OPTION_SUBPIXEL_HINTING): Enable. - - * docs/CHANGES: Updated. - -2016-09-01 Alexei Podtelezhnikov - - [smooth] Simplify span rendering more. - - It turns out that there is significant cost associated with `FT_Span' - creation and calls to `gray_render_span' because it happens so - frequently. This removes these steps from our internal use but leaves - it alone for `FT_RASTER_FLAG_DIRECT" to preserve API. The speed gain - is about 5%. - - * src/smooth/ftgrays.c (gray_render_span): Removed. The code is - migrated to... - (gray_hline): ... here. - -2016-08-30 Alexei Podtelezhnikov - - [smooth] Streamline pixmap drawing a bit more. - - Zero coverage is unlikely (1 out of 256) to warrant checking. This - gives 0.5% speed improvement in rendering simple glyphs. - - * src/smooth/ftgrays.c (gray_hline, gray_render_span): Remove checks. - -2016-08-29 Alexei Podtelezhnikov - - [smooth] Streamline pixmap drawing. - - This gives 2% speed improvement in rendering simple glyphs. - - * src/smooth/ftgrays.c (TPixmap): Reduced pixmap descriptor with a - pointer to its bottom-left and pitch to be used in... - (gray_TWorker): ... here. - (gray_render_span): Move pixmap flow check from here... - (gray_raster_render): .. to here. - -2016-08-27 Alexei Podtelezhnikov - - [smooth] Reduce stack of band boundaries. - - * src/smooth/ftgrays.c (gray_TBand): Removed. - (gray_convert_glyph): Updated to stack band boundaries concisely. - -2016-08-26 Werner Lemberg - - * src/cid/cidload.c (cid_face_open): Improve handling of `SDBytes'. - -2016-08-26 Werner Lemberg - - [cid] Fix commit from 2016-05-16. - - * src/cid/cidparse.c (cid_parser_new): Fix off-by-one errors. - -2016-08-26 Werner Lemberg - - [sfnt] Cache offset and size to bitmap data table. - - This commit avoids `EBDT' and friends being looked up again and - again while loading a single embedded bitmap. - - * include/freetype/internal/tttypes.h (TT_FaceRec) - [TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: New fields `ebdt_start' and - `ebdt_size'. - - * src/sfnt/ttsbit.c (tt_sbit_decoder_init): Move table lookup to ... - (tt_face_load_sbit): ... this function; also store the table size - and offset. - -2016-08-26 Alexei Podtelezhnikov - - * src/smooth/ftgrays.c (gray_raster_render): Minor tweaks. - -2016-08-26 Werner Lemberg - - [type1] Fix heap buffer overflow. - - Reported as - - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36 - - * src/type1/t1load.c (parse_charstrings): Reject fonts that don't - contain glyph names. - -2016-08-25 Werner Lemberg - - [sfnt] Fix previous commit (#48901). - - * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Thinkos. - -2016-08-25 Werner Lemberg - - [sfnt] Speed up handling of invalid format 4 cmaps. - - * src/sfnt/ttcmap.c (tt_cmap4_next, tt_cmap4_char_map_binary): Add - tests for `num_glyph' from `tt_cmap4_char_map_linear'. - -2016-08-25 Werner Lemberg - - * include/freetype/internal/ftdriver.h: Remove unused typedefs. - -2016-08-22 Alexei Podtelezhnikov - - [smooth] Simplify span rendering. - - This removes unnecessary complexity of span merging and buffering. - Instead, the spans are rendered as they come, speeding up the - rendering by about 5% as a result. - - * src/smooth/ftgrays.c [FT_MAX_GRAY_SPANS]: Macro removed. - (gray_TWorker): Remove span buffer and related fields. - (gray_sweep, gray_hline): Updated. - - * include/freetype/ftimage.h: Remove documentation note about - `FT_MAX_GRAY_SPANS', which was never in `ftoption.h' and is now gone. - -2016-08-16 Werner Lemberg - - [truetype] Fix `MPS' instruction. - - According to Greg Hitchcock, MPS in DWrite really returns the point - size. - - * src/truetype/ttobjs.h (TT_SizeRec): Add `point_size' member. - - * src/truetype/ttdriver.c (tt_size_request): Set `point_size'. - - * src/truetype/ttinterp.h (TT_ExecContextRec): Add `pointSize' - member. - - * src/truetype/ttinterp.c (TT_Load_Context): Updated. - (Ins_MPS): Fix instruction. - -2016-08-16 Werner Lemberg - - [lzw] Optimize last commit. - - * src/lzw/ftzopen.c (ft_lzwstate_get_code): Move check into - conditional clause. - -2016-08-16 Werner Lemberg - - [lzw] Avoid invalid left shift. - - Reported as - - https://bugzilla.mozilla.org/show_bug.cgi?id=1295366 - - * src/lzw/ftzopen.c (ft_lzwstate_get_code): Limit `num_bits'. - -2016-08-16 Werner Lemberg - - [lzw] Avoid buffer overrun. - - Reported as - - https://bugzilla.mozilla.org/show_bug.cgi?id=1273283 - - * src/lzw/ftzopen.c (ft_lzwstate_refill): Ensure `buf_size' doesn't - underflow. - -2016-08-16 Werner Lemberg - - [truetype] Fix compiler warning. - - * src/truetype/ttgload.c (load_truetype_glyph): Add cast. - -2016-08-13 Werner Lemberg - - [winfonts] Avoid zero bitmap width and height. - - Reported as - - https://bugzilla.mozilla.org/show_bug.cgi?id=1272173 - - * src/winfonts/winfnt.c (FNT_Face_Init): Check zero pixel height. - (FNT_Load_Glyph): Check for zero pitch. - -2016-08-11 Alexei Podtelezhnikov - - * src/truetype/ttinterp.c (Pop_Push_Count): Revert changes. - -2016-08-11 Alexei Podtelezhnikov - - * src/truetype/ttinterp.c (TT_RunIns): Minor and formatting. - -2016-08-11 Alexei Podtelezhnikov - - * src/truetype/ttinterp.c (Pop_Push_Count): Fix some entries. - -2016-08-10 Peter Klotz - - * src/smooth/ftgrays.c (gray_hline): Fix uninitialized access. - -2016-08-10 Werner Lemberg - - [sfnt] Use correct type for `italicAngle' field (#48732). - - * src/sfnt/ttload.c (tt_face_load_post): Fix types. - -2016-08-06 Jon Spencer - - [sfnt] Fix `FT_Get_Advance' for bitmap strikes. - - `FT_Get_Advance' returns 0 for bitmap fonts. It first gets the - advance value from the font table and then scales it by the - `font->size->metrics->x_scale' field. But `FT_Select_Size' doesn't - set that value for bitmap fonts and the advance gets scaled to zero. - - Taken from - - https://github.com/behdad/harfbuzz/issues/252 - - * src/sfnt/ttsbit.c (tt_face_load_strike_metrics) - : Set scale values. - -2016-08-06 Behdad Esfahbod - - [truetype] Fix GX variation handling of composites. - - * src/truetype/ttgload.c (load_truetype_glyph) - [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Check `ARGS_ARE_XY_VALUES' flag. - -2016-08-05 Alexei Podtelezhnikov - - [smooth] Minor refactoring. - - * src/smooth/ftgrays.c (gray_render_scanline, gray_render_line): - Updated. - -2016-07-29 Werner Lemberg - - [sfnt, truetype] Don't abort on invalid `maxComponentDepth'. - - Since 2016-05-16 we detect infinite recursion directly. - - * src/sfnt/ttload.c (tt_face_load_maxp): Don't adjust - `maxComponentDepth'. - * src/truetype/ttgload.c (load_truetype_glyph): Don't abort if - `maxComponentDepth' is not valid. Instead, simply adjust its value - and emit a tracing message. - -2016-07-26 Werner Lemberg - - * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Minor. - - No functional change. - -2016-07-22 Hin-Tak Leung - - [truetype] Record the end of IDEFs. - - To match the logic in FDEF. The value of the end is only used for - bound-checking in `Ins_JMPR', so it may not have been obvious that - it was not recorded. Tested (as part of Font Validator 2.0) all the - fonts on Fedora and did not see any change. - - * src/truetype/ttinterp.c (Ins_IDEF): Updated. - -2016-07-19 Werner Lemberg - - [truetype] Sanitizer fix, second try. - - * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary - tests and use only one slot more. - -2016-07-19 Werner Lemberg - - [truetype] Sanitizer fix. - - * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array - to fix nested loops. - -2016-07-18 Werner Lemberg - - [truetype] Make GETDATA work only for GX fonts. - - * src/truetype/ttinterp.c (opcode_name): Updated. - (Ins_GETDATA): Only define for `TT_CONFIG_OPTION_GX_VAR_SUPPORT'. - (TT_RunIns): Updated. - -2016-07-17 Werner Lemberg - - [truetype] Add support for Apple's - - GETDATA[], opcode 0x92 - - bytecode instruction. It always returns 17, and we have absolutely - no idea what it is good for... - - * src/truetype/ttinterp.c (Pop_Push_Count, opcode_name): Updated. - (Ins_GETDATA): New function. - (TT_RunIns): Add it. - -2016-07-16 Werner Lemberg - - [truetype] Add bytecode support for GX variation fonts. - - This commit implements undocumented (but confirmed) stuff from - Apple's old bytecode engine. - - GETVARIATION[], opcode 0x91 - This opcode pushes normalized variation coordinates for all axes - onto the stack (in 2.14 format). Coordinate of first axis gets - pushed first. - - GETINFO[], selector bit 3 - If GX variation support is enabled, bit 10 of the result is set - to 1. - - * src/truetype/ttinterp.c: Include FT_MULTIPLE_MASTERS_H. - (opcode_name) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Updated. - (Ins_GETINFO) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle selector - bit 3, checking support for variation glyph hinting. - (Ins_GETVARIATION) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New function - to implement opcode 0x91. - (TT_RunIns) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Handle opcode 0x91. - -2016-07-16 Werner Lemberg - - [truetype] Fix GETINFO bytecode instruction. - - * src/truetype/ttinterp.c (Ins_GETINFO): Fix return value for - stretching information. - -2016-07-16 Behdad Esfahbod - - [truetype] Make all glyphs in `Zycon' GX font work. - - * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Fix boundary - tests. - -2016-07-16 Werner Lemberg - - [truetype] Fix GX delta tracing. - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Trace - relative point movements. - -2016-07-16 Behdad Esfahbod - - [truetype] More fixes for GX. - - This finally fixes the rendering of the cyclist and the lizard in - the `Zycon' font. - - * src/truetype/ttgxvar.c (ft_var_readpackedpoints): `first' point - index is always cumulative. - - (tt_handle_deltas): Rename to... - (tt_interpolate_deltas): ... This. - Add new parameter for output point array. - Update caller. - - (TT_Vary_Apply_Glyph_Deltas): Add `points_out' array; it now holds - the intermediate results of `tt_interpolate_deltas' that are to be - added to `outline->points'. - -2016-07-15 Werner Lemberg - - * src/autofit/aflatin.c (af_latin_hints_compute_segments): Thinko. - - `max_pos' is always larger than `min_pos' so `FT_ABS' is not needed. - - Reported by Alexei. - -2016-07-16 Nikolaus Waxweiler - - * src/truetype/ttinterp.c (Ins_MIRP): Fix copy-and-paste error. - - Problem reported by Hin-Tak Leung. - -2016-07-15 Werner Lemberg - - [autofit] Update and improve segment and edge tracing. - - * src/autofit/afhints.c (af_glyph_hints_dump_segments): Trace - `delta' also. - Don't show first point of segment as a replacement for `pos'; this - is (a) misleading, since the difference to `pos' can be almost - arbitrarily large in corner cases, and (b) it is better to have all - segment data in font units instead of a single value given in output - space coordinates. - Improve layout. - (af_glyph_hints_dump_edges): Show px->units and units->px conversion - values for convenience. - Improve layout. - -2016-07-15 Werner Lemberg - - [autofit] For edges, reject segments wider than 1px (#41334). - - * src/autofit/afhints.h (AF_SegmentRec): New member `delta'. - - * src/autofit/aflatin.c (af_latin_hints_compute_segments): Compute - `delta'. - (af_latin_hints_compute_edges): Reject segments with a delta larger - than 0.5px. - -2016-07-14 Werner Lemberg - - * include/freetype/freetype.h (FT_IS_NAMED_INSTANCE): New macro. - -2016-07-14 Werner Lemberg - - [sfnt] Fix `face_index' value in `FT_Face' for named instances. - - * src/sfnt/sfobjs.c (sfnt_init_face): Don't strip off higher 16bits. - -2016-07-14 Werner Lemberg - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Fix tracing. - -2016-07-14 Behdad Esfahbod - - [truetype] Fix gxvar delta interpolation. - - The coordinates of the base font should be used for interpolation - purposes, NOT the current points (i.e., the result of accumulation - of previous deltas). - - * src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Initialize - `points_org' before looping over all tuples. - - ----------------------------------------------------------------------------- - -Copyright 2016-2017 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/ChangeLog.20 b/ChangeLog.20 deleted file mode 100644 index 11376e863..000000000 --- a/ChangeLog.20 +++ /dev/null @@ -1,2613 +0,0 @@ -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/pcf/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/psobjs.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_RoundFix, 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/sfobjs.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/truetype/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/detect.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_Charset 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/detect.mk, builds/win32/detect.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-2017 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/ChangeLog.21 b/ChangeLog.21 deleted file mode 100644 index eff9f799d..000000000 --- a/ChangeLog.21 +++ /dev/null @@ -1,9438 +0,0 @@ -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_CACHE_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/ttcmap.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_Size): 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_metrics_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/psobjs.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/ftchapters.h: 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_extrema, 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_RFORK]: 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 specifying 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/truetype/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 - T1_Read_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_COMPONENT): 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_Glyph_Metrics): 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/ftcbasic.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' and 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_strong_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_fopen.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 synthesized 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_Glyph_StrokeBorder): 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: Include - 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_PIX_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/ftlru.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/cid/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), src/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: Don't 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 structures - 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/pfrload.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_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