1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
2021-02-06 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* src/ttfdump.c, configure.ac:
Show TeX Live version number and bug report address in usage.
2019-02-26 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
* src/ttfdump.c: Forbid too long file name.
2017-06-24 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* src/ttfdump.c: allow a suffix .TTC for ttc fonts.
2017-06-23 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
* src/ttfdump.c: avoid segmentation fault when the requested
ttc font is not found.
2016-07-15 Adrian Johnson <ajohnson@redneon.com>
* 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 <peb@mppmu.mpg.de>
* Makefile.am: Better dependencies for 'make check'.
2015-03-17 Peter Breitenlohner <peb@mppmu.mpg.de>
* include/ttc.h, libttf/ttc.c: Avoid segfault (NULL filename).
* tests/ttfdump.gasp, tests/ttfdump.maxp: Adapt.
2015-02-27 Peter Breitenlohner <peb@mppmu.mpg.de>
* ac/withenable.ac: Require kpathsea.
2015-02-24 Peter Breitenlohner <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* libttf/pclt.c: Repalce "%02hx" => "%02x" for unsigned char.
2014-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Drop the obsolete ACLOCAL_AMFLAGS.
2013-06-30 Peter Breitenlohner <peb@mppmu.mpg.de>
* Include <config.h> first in all C files and never in headers.
2013-04-03 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* src/ttfdump.c [KPATHSEA]: Recover #include <kpathsea/getopt.h>
for WIN32 to avoid compiling error.
2013-04-03 Karl Berry <karl@tug.org>
* src/ttfdump.c [KPATHSEA]: #include <unistd.h> rather than
<kpathsea/getopt.h>. 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 <peb@mppmu.mpg.de>
* 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 <sagawa.aki@gmail.com>
* include/os2_P.h: Added missing commas to fix an ancient bug.
2012-11-19 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Avoid use of deprecated INCLUDES.
2012-09-09 Peter Breitenlohner <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* include/ttfutil.h: Declare ttfError() with attribute noreturn.
2011-12-01 Peter Breitenlohner <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
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 <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
Major update.
* include/*, libttf/*, src/ttfdump.c: Drop <dmalloc.h> 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 <peb@mppmu.mpg.de>
* tests/ttfdump.test: Use 'diff -b' for Dos line endings.
2011-05-04 Peter Breitenlohner <peb@mppmu.mpg.de>
docs/ttfdump.1, tests/ttfdump.test: Assume a posixly correct
getopt() without non-options followed by options.
2011-04-25 Peter Breitenlohner <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* libttf/tabledir.c: Fix typo "chechsum" -> "checksum".
2010-12-08 Peter Breitenlohner <peb@mppmu.mpg.de>
* configure.ac: Remove duplicate checks (done by KPSE_COMMON).
2010-02-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* libttf/tabledir.c (ttfPrintTableDir): Use memcpy, not bcopy.
* src/ttfdump.c [WIN32]: Replace #include <kpathsea/getopt.h>
by #include <getopt.h>.
2009-10-30 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am, configure.ac, ac/withenable.ac: Remove dependency
on kpathsea.
2009-08-23 Peter Breitenlohner <peb@mppmu.mpg.de>
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 <peb@mppmu.mpg.de>
* 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 <peb@mppmu.mpg.de>
* 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 <karl@tug.org>
* 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 <peb@mppmu.mpg.de>
Adapt to TL2009 build system.
2008-01-31 Peter Breitenlohner <peb@mppmu.mpg.de>
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 <wl@gnu.org>
* 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 <wl@gnu.org>
* 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 <unistd.h> 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 <wl@gnu.org>
* 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 <ollie@ms1.hinet.net>
* 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 <ollie@ms1.hinet.net>
* 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 <ollie@ms1.hinet.net>
* 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 <ollie@ms1.hinet.net>
* 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 <ollie@ms1.hinet.net>
* 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
|