2019-02-26 Hironobu Yamashita * src/ttfdump.c: Forbid too long file name. 2017-06-24 Akira Kakuto * src/ttfdump.c: allow a suffix .TTC for ttc fonts. 2017-06-23 Hironobu Yamashita * src/ttfdump.c: avoid segmentation fault when the requested ttc font is not found. 2016-07-15 Adrian Johnson * libttf/cmap.c, * libttf/name.c, * libttf/post.c: check for null before dereferencing in case of missing cmap/name/post tables. tex-live mail of 9 Jul 2016 18:17:16. 2015-07-07 Peter Breitenlohner * Makefile.am: Better dependencies for 'make check'. 2015-03-17 Peter Breitenlohner * include/ttc.h, libttf/ttc.c: Avoid segfault (NULL filename). * tests/ttfdump.gasp, tests/ttfdump.maxp: Adapt. 2015-02-27 Peter Breitenlohner * ac/withenable.ac: Require kpathsea. 2015-02-24 Peter Breitenlohner * tests/ttfdump.test: Add a TrueType Collection test. * tests/test.ttc (new): Additional test input. * tests/ttfdump.gasp, tests/ttfdump.maxp (new): Expected output. * Makefile.am: Adapted. 2014-12-10 Peter Breitenlohner * libttf/pclt.c: Repalce "%02hx" => "%02x" for unsigned char. 2014-06-16 Peter Breitenlohner * Makefile.am: Drop the obsolete ACLOCAL_AMFLAGS. 2013-06-30 Peter Breitenlohner * Include first in all C files and never in headers. 2013-04-03 Akira Kakuto * src/ttfdump.c [KPATHSEA]: Recover #include for WIN32 to avoid compiling error. 2013-04-03 Karl Berry * src/ttfdump.c [KPATHSEA]: #include rather than . Otherwise optarg is NULL on 32-bit MacOSX and thus all options-with-arguments fail. Report and patch from Dick Koch. 2013-02-01 Peter Breitenlohner * libttf/os2.c: Index checking for string array elements. * tests/ttfdump.test: Add a test case for invalid array indices. * tests/bad.otf (new): Additional test input. * tests/ttfdump.bad (new): Expected output. * Makefile.am: Adapted. 2013-01-31 Akihiro Sagawa * include/os2_P.h: Added missing commas to fix an ancient bug. 2012-11-19 Peter Breitenlohner * Makefile.am: Avoid use of deprecated INCLUDES. 2012-09-09 Peter Breitenlohner * include/tables.h, libttf/os2.c: Handle fields present only in versions 1 and 2 of OS/2 table. * tests/ttfdump.test: Add a test case for OS/2 table. * tests/texmfhome.otf (new): Test input. * tests/ttfdump.os_2 (new): Expected output. * Makefile.am: Adapted. 2012-09-07 Peter Breitenlohner * include/protos.h: Move prototypes for functions in libttf/stack.c from here ... * include/stack.h: ... to this new (and unused) file. * Makefile.am (EXTRA_DIST): Add the new file. 2012-07-14 Peter Breitenlohner * Makefile.am, configure.ac, include/ttf.h, include/ttfutil.h, libttf/font.c, libttf/ttc.c, libttf/ttfutil.c, src/ttfdump.c: Use libkpathsea instead of copying xmalloc() & Co (from W32TeX). * tests/ttfdump.test [WIN32]: Also test binary mode for stdout. 2012-03-13 Peter Breitenlohner * include/ttfutil.h: Declare ttfError() with attribute noreturn. 2011-12-01 Peter Breitenlohner * libttf/otfcommon.c: Improved output strings. * include/gpos.h, libttf/gpos.c: Support ValueRecords with device parts (ppem dependent fine tuning). 2011-12-01 Peter Breitenlohner * include/gpos.h (new): GPOS table format. * include/gsub.h (new): GSUB table format. * include/otftables.h (new): OpenType common table formats. * libttf/gpos.c (new): Load, print, and free GPOS table. * libttf/gsub.c (new): Load, print, and free GSUB table. * libttf/otfcommon.c (new): Handle common table formats. * include/loadtable.h, include/tables.h, include/ttf.h, libttf/font.c, src/ttfdump.c: Add GPOS and GSUB tables. * Makefile.am (libttf_a_SOURCES): Add the new files. * docs/ttfdump.1: Mention GPOS and GSUB tables. * tests/ttfdump.test: Add tests for GPOS and GSUB tables. * tests/ttfdump.{gpos,gsub} (new): Expected output. * Makefile.am: Adapted. 2011-11-21 Peter Breitenlohner Additional 'cmap' SubTable Formats. * include/tables.h: Declare data structures for 'cmap' SubTable Formats 8, 10, 12, 13, and 14. * libttf/cmap.c: Separate Encoding Records from SubTables; several Encodings may refer to the same SubTable. Add support for SubTable Formats 8, 10, 12, 13, and 14. FIXME: Format 14 is not yet implemented. * include/loadtable.h, include/ttf.h, libttf/glyf.c: Adapted. 2011-11-10 Peter Breitenlohner * include/tables.h, libttf/head.c: Print created and modified. * libttf/font.c: Index to location ('loca') table is optional. * libttf/loca.c: Avoid segfault for missing 'loca' table. * src/ttfdump.c: Avoid segfault for missing 'loca' table (do not try to print glyphs). Print sfnt version. * tests/ttfdump.test: Perform all sub-tests and report failed ones. 2011-11-08 Peter Breitenlohner Major update. * include/*, libttf/*, src/ttfdump.c: Drop and vcid. Copy or adapt xfseek(), xmalloc(), xcalloc(), and xstrdup() from kpathsea. Add functions to allocate and/or read arrays. Add FT_MAKE_TAG macro as used in freetype2. Drop unused funcs(). Require sizeof(int)==4. Fix various typos. * configure.ac: Drop AC_C_BIGENDIAN, AC_CHECK_SIZEOF([long]), and AC_CHECK_SIZEOF([long long]). * Makefile.am: Adapt. * docs/ttfdump.1: Fix typos. 2011-05-12 Peter Breitenlohner * tests/ttfdump.test: Use 'diff -b' for Dos line endings. 2011-05-04 Peter Breitenlohner docs/ttfdump.1, tests/ttfdump.test: Assume a posixly correct getopt() without non-options followed by options. 2011-04-25 Peter Breitenlohner * tests/ttfdump.test (new): Shell script for a test case. * tests/FonetikaDaniaIwonaeRegular.ttf (new): Test input. * tests/ttfdump.{glyf,head} (new): Expected output. * Makefile.am: Adapted. 2011-04-25 Peter Breitenlohner * libttf/tabledir.c: Fix typo "chechsum" -> "checksum". 2010-12-08 Peter Breitenlohner * configure.ac: Remove duplicate checks (done by KPSE_COMMON). 2010-02-20 Peter Breitenlohner * libttf/tabledir.c (ttfPrintTableDir): Use memcpy, not bcopy. * src/ttfdump.c [WIN32]: Replace #include by #include . 2009-10-30 Peter Breitenlohner * Makefile.am, configure.ac, ac/withenable.ac: Remove dependency on kpathsea. 2009-08-23 Peter Breitenlohner Avoid maximal compiler warnings. * include/os2_P.h: Constify all global string arrays. * include/ttfutil.h, src/ttfutil.c: Constify param of ttfError(). 2009-07-17 Peter Breitenlohner * cmap.c (ttfPrintCMAP4) cast USHORT/sizeof() to int for printing. * cvt.c (ttfPrintCVT): cast USHORT*sizeof() to int for printing. 2009-06-18 Peter Breitenlohner * Makefile.am (AM_CFLAGS): enable compiler warnings. * libttf/font.c (ttfCloneFont): not used. * libttf/gcache.c (ttfInitCacheData): avoid ambiguous "cur = cur++". (merge): only used #ifdef MERGEDELETE. * libttf/stack.c (GetLONG): unused. * libttf/tabledir.c (ttfCalcTableCheckSum): unused. * src/ttfdump.c (dialog, add_suffix): unused. (Strdup): declare as static. (main): silence 'used uninitialized' warning. avoid unused variables. 2009-06-03 Karl Berry * libttf/ttfread.c (ttfGetBYTE): do not make inline, just in case. * include/ttf.h (ttfGetBYTE): replace [non-inline] definition here with declaration, referring to the definition in libttf/ttfread.c. Report from vvv, tlbuild 02 Jun 2009 23:48:52. 2009-05-27 Peter Breitenlohner Adapt to TL2009 build system. 2008-01-31 Peter Breitenlohner Convert from autoconf-2.13 to autoconf-2.59+: * Makefile.in, libttf/Makefile.in, src/Makefile.in: Add @configure_input@ lines. * configure.in: Autoupdated. * configure: Regenerated (autoconf). Mon Jul 6 06:07:01 1998 Werner Lemberg * include/gcache.h, include/gstate.h, include/loadtable.h, include/os2_P.h, include/tables.h, include/ttc.h, include/ttf.h, include/ttfutil.h, libttf/os2.c, src/Attic/action.c, src/Attic/mkttfdir.c, src/Attic/rasben.c: action.c, mkttfdir.c, rasben.c are empty. Correcting spelling errors, formatting. Sat Jul 4 13:17:52 1998 Werner Lemberg * src/ttfdump.c, Makefile.in, include/ttc.h, include/ttf.h, libttf/Makefile.in, libttf/tabledir.c, libttf/ttfread.c, src/Makefile.in: Diffs from Nelson Beebe: new target `check' for Makefile, `install' improved #include in ttf.h ttfread.c: workaround for egcs bug ttfdump.c: `int main' instead of `void main' use of EXIT_SUCCESS and EXIT_FAILURE added Strdup() since strdup() doesn't exist everywhere formatting of ttfdump.c Sat Jun 6 12:55:53 1998 Werner Lemberg * libttf/post.c: Oops! Not 26.6 but 16.16 format. Added comment. * libttf/post.c: fixed overflow bugs and a wrong 26.6 number. Sat Jan 4 19:23:56 1997 * libttf/cmap.c (ttfLoadCMAP6): Fixed a fatal bug cause segment fault * src/ttfdump.c (main): add TrueType collection support Fri Nov 29 15:34:29 1996 * ttfdump : Unrecoverable disaster had happened. The old developing version was destroyed during Red Hat Linux upgrading (it is my fault :~~(. ). Resume to the public releease version. Tue Sep 24 21:47:05 1996 Li-Da Lho * font.c (ttfInitFont): The final layer of abstraction is complete. Application programs only need to do the fellowing things to use True Type Font: 1. Load the font by calling ttfInitFont(char *font_filename) 2. choose a encoding scheme. 3. load the glyf by ttfLoadGlyphIndex or ttfLoadglyphCode 4. do anythings the application wants about the outline data (i.e. rendering ,showing). 4. after all this, release the font by ttfFreeFont(TTFontPtr font). * gcache.c: The implementation of glyph cache is completed. Start to add the final layer of TTFont abstraction. * glyf.c: It has been proved that av*.ttf is created by brain damaged programmers. Lots of LOCA entries point to End Of File. Benchmark: All Glyf data are loaded but not printed. time ttfdump times.ttf >/dev/null 0.080u 0.000s 0:00.19 42.1% 0+0k 0+0io 91pf+0w time ttfdump /mnt/dos/windows/fonts/dftt-fs.ttf > /dev/null 2.410u 0.560s 0:03.53 84.1% 0+0k 0+0io 70pf+0w time ttfdump /mnt/dos/windows/fonts/dftt-sk5.ttf > /dev/null 2.850u 0.550s 0:03.95 86.0% 0+0k 0+0io 70pf+0w time ttfdump /mnt/dos/windows/fonts/kai.ttf > /dev/null 1.920u 0.530s 0:02.85 85.9% 0+0k 0+0io 70pf+0w time ttfdump /mnt/dos/windows/fonts/Dflihm.ttf > /dev/null 2.850u 0.460s 0:03.87 85.5% 0+0k 0+0io 70pf+0w Thu Aug 1 21:11:36 1996 Li-Da Lho * glyf.c: composite glyph added but not completed yet,does not works on av*.ttf any more but fine for others (is it a bug in av*.ttf or my fault ??) * glyf.c (ttfLoadGlyphIndex): removed the offset parameter and add the glyphOffset entry in TTFont structure,which contain the address of the start of glyf table, almost the same speed. Tue Jul 30 08:37:59 1996 Li-Da Lho * post.c : created add postscript information,format 2.0 ,2.5 not implemented yet * Release Version 0.4: Almost all required tables in True Type Font Specitication are implemented, except "post", "OS/2" and format 2,4,6 of "cmap". Composite glyph and instruction disassembler are not supported yet. Works fine on times.ttf,dftt-fs.ttf, unexpected EOF on avbbv.ttf, avov.ttf. (possible wrong ttf file) There are still some possible memory leak, clean then up when freezing stage. Benchmark: time ttfdump times.ttf > /dev/null 0.680u 0.020s 0:00.80 87.5% 0+0k 0+0io 94pf+0w time ttfdump /mnt/dos/ttf/avov.ttf > /dev/null 276.210u 1.710s 4:50.43 95.6% 0+0k 0+0io 73pf+0w time ttfdump /mnt/dos/windows/fonts/dftt-fs.ttf > /dev/null 27.440u 0.700s 0:29.49 95.4% 0+0k 0+0io 73pf+0w time ttfdump /mnt/dos/windows/fonts/dflihm.ttf > /dev/null 105.400u 0.830s 1:49.17 97.3% 0+0k 0+0io 73pf+0w