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
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
|
2018-10-18 Norbert Preining <preining@logic.at>
* ligkern_routines.c (retrieve_ligkern_table): need
lig_kern_size+1 for `activity' array, else glibc 2.28
on 32-bit architectures finds malloc error.
Original report from Tom Callaway,
https://tug.org/pipermail/tex-live/2018-September/042411.html
2018-09-09 Karl Berry <karl@tug.org>
* overbmp.test: LC_ALL=LANGUAGE=C.
2018-01-18 Karl Berry <karl@tug.org>
* error_routines.c (yyerror, warning_0, fatal_error_0,
internal_error_0),
* out_routines.c (out): printf %s instead of direct string.
From Debian.
2016-02-27 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* omfonts.c, help.test: Add an option -charcode-format for
compatibility.
2015-07-07 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Better dependencies for 'make check'.
2015-01-11 Peter Breitenlohner <peb@mppmu.mpg.de>
* error_routines.[ch], omfonts.c: Non-zero error return code.
* check.test: Also test writung OPL file to stdout.
* selectfont.test: Also test writung OVP file to stdout.
* bad.test, version.test: Shell scripts for new tests.
* tests/badofm.ofm, tests/badopl.opl, tests/badovf.{ofm,ovf},
tests/badovp.ovp: New test input files.
* Makefile.am: Add new test shell scripts and input files.
2014-11-08 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c: Help texts for C and Web2C versions differ.
* help.test: New shell script to test help messages and options.
2014-09-22 Peter Breitenlohner <peb@mppmu.mpg.de>
* font_routines.c: Fixed packet_table realloc bug.
Clean up font_table and move_table memory management.
Reduce BLOCK 256 => 16 to reduce wasted packet_table space.
2014-08-20 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* char_routines.c: Move '#define check_range' to the top-level.
2014-08-19 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c, ligkern_routines.c: More OFM checking.
* check.test, check.{ofm,opl}, checked.opl:
Shell script and data for a new test.
* Makefile.am: Add the new test.
2014-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
* ofonts.test: Fix parallel tests.
2014-08-17 Peter Breitenlohner <peb@mppmu.mpg.de>
* ligkern_routines.c, out_routines.h, ligkern.test: Detect
unused parts of OFM ligkern program.
* tests/arabic.ovp: Use more than 64k ligkern steps.
* tests/liguse{,1,2}.opl (new): Additional test data.
* Makefile.am: Add the new test data.
2014-08-15 Peter Breitenlohner <peb@mppmu.mpg.de>
* print_routines.c (print_ofm_level), tests/*.opl, tests/*.ovp:
Output OFMLEVEL in hex (as in Web2C version).
* char_routines.c, ligkern_routines.[ch], manifests.h,
print_routines.[ch]: Handle BOUNDARYCHAR.
* ligkern.test, tests/lig{all,bch,bdy,blb}.opl,
tests/ligblv.{opl,ovp}, tests/ligloop1.{ofm,opl},
tests/ligloop2.opl: Shell script and data for a new test.
* Makefile.am: Add the new test.
2014-08-10 Peter Breitenlohner <peb@mppmu.mpg.de>
* ligkern_routines.c (l_hash_input): Fixed another bug.
2014-08-09 Peter Breitenlohner <peb@mppmu.mpg.de>
* ligkern_routines.c (l_hash_lookup): Fixed a bug in checking
for infinite ligature loops.
2014-08-08 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c: Compute checksum as in Web2C version.
* ligkern_routines.[ch], list_routines.[ch]: Handle very long
ligature programs.
* yannis.test, tests/arabicr.pl, tests/arabic.ovp (new):
Shell script and data for a new test.
* Makefile.am: Add the new test.
2014-08-05 Peter Breitenlohner <peb@mppmu.mpg.de>
General cleanup.
* char_routines.[ch], dimen_routines.[ch], error_routines.[ch],
font_routines.[ch], header_routines.[ch], ligkern_routines.[ch],
list_routines.[ch], omfonts.[ch], out_ofm.[ch],
out_routines.[ch], param_routines.[ch], parse_ofm.[ch],
print_routines.[ch]: Drop unused code.
Declare functions with file scope as static.
2014-08-04 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c: Compute checksum.
* header_routines.[ch]: Drop more unused code.
* shorten.test, tests/realnum.out, tests/repeat.opl,
tests/repeated.opl, tests/sample.{out,ovp}, tests/shorten.opl:
Always use computed checksum.
2014-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
* dimen_routines.c (set_indices): Fixed a dimen rounding bug.
* header_routines.[ch]: Drop unused code.
Always output SEVENBITSAFEFLAG for TFM files.
* shorten.test, tests/shorten.opl, (new): Shell script and data
for a new test.
* Makefile.am: Add the new test.
2014-08-02 Peter Breitenlohner <peb@mppmu.mpg.de>
* dimen_routines.c: Fixed a bug in the computation of nw, nh,
nd, and ni.
2014-07-10 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c, ligkern_routines.c, omfonts.c,
param_routines.c, parse_ofm.c: Allow char codes 10000..10FFFF
from Supplementary Unicode Planes.
2014-07-09 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Drop Automake conditional OMFONTS.
* ofonts.test, overbmp.test, tests/ofont*, tests/inbmp.opl,
tests/overbmp.* (new): Shell scripts and data for new tests.
2013-12-06 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c (main): Use make_suffix() for implied ofm_name.
* selectfont.test: Add test for 'ovp2ovf foo.ovp bar.ovf'.
* Makefile.am (DISTCLEANFILES): Additional files.
Mail from TANAKA Takuji <KXD02663@nifty.ne.jp>, 27 Nov 2013.
2013-07-05 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c (main): Use kpse_program_basename().
2013-06-28 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-lexer.l: Add '#include <kpathsea/c-memstr.h>' for strlen().
2013-01-29 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Allow subdir-objects.
2012-12-07 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c, ligkern_routines.c:
Drop unused variables (gcc-4.6 warning).
2012-08-25 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c (PROG_IS): Compare program name case insensistively.
(from W32TeX).
2012-07-09 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-parser.[ch]: Regenerate with bison 2.5.1.
2012-06-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-lexer.l: Added the never-interactive option to prevent
flex from creating a problematic prototype for isatty().
#include <kpathsea/lib.h> and drop prototype for xstrdup().
2012-01-24 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-lexer.l: 'Correctly' scan real numbers for scan_fix().
Reported by Tanaka Takuji <KXD02663@nifty.ne.jp>.
* realnum.test, tests/realnum.opl, tests/realnum.out (new):
Shell script and data for a new test.
* Makefile.am: Add the new test.
2012-01-03 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
* omfonts.c: fix a typo (omfomts ---> omfonts).
2011-12-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* font_routines.c (set_select_font): Select the correct MAPFONT.
Reported by Saito Shuzaburo via Akira Kakuto, 20 Dec 2011 08:49:10.
* selectfont.test, tests/sample.out, tests/sample.ovp,
tests/sample0-h.opl (new): Shell script and data for a new test.
* Makefile.am: Add the new test.
2011-05-30 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Use ../../am/bin_links.am for $(bindir) links.
2011-05-04 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c (main): Call kpse_set_program_name() with args
argv[0] and name_program, not name_program and NULL to avoid
lstat warnings.
* charwd.test, level1.test, omfonts.test, repeat.test,
specialhex.test: Always set TEXMFCNF to avoid warnings.
2011-02-15 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am [WIN32]: Add o??2o??.exe wrappers.
2010-12-30 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c: Check for argv[0] with .exe via strcasecmp().
2010-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c (ensure_existence): Avoid OpenBSD Bus error
caused by faulty logic.
Reported by Edd Barrett, 10 Jun 2010 13:33:03.
2010-03-01 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c (check_existence_all_character_fields):
Avoid segfault (unspecified CHARWD defaults to 0.0).
Reported by Akira Kakuto, 28 Feb 2010 10:34:40.
* charwd.test, tests/charwd-r.pl, tests/charwd-v.vpl (new):
Shell script and data for a new test.
* Makefile.am: Add the new test.
2010-02-26 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-lexer.l: #include <kpathsea/config.h> and drop some others.
2010-02-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-lexer.l: #include <kpathsea/c-proto.h> for KPSEDLL used
by <kpathsea/mingw32.h>.
2010-01-22 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.[ch] (read_in_whole, name_ofm, name_opl, name_ovp,
name_ovf, files): Declare file names as const_string.
2010-01-12 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c (compute_ofm_character_info): Fix CHARREPEAT.
* tests/repeated.opl: Ajusted.
2010-01-06 Peter Breitenlohner <peb@mppmu.mpg.de>
* char_routines.c (check_existence_and_safety,
doublecheck_existence): Avoid segfault.
(check_and_correct): Call build_dimen_tables() after
check_existence_all_character_fields(), which may add a width.
(check_existence_all_character_fields): Print "" instead of NULL.
* extra_routines.c: Fix various bugs and glitches in handling of
extra font parameters (ivalues etc). Add warnings in case they
are used with OFMLEVEL<1.
2010-01-05 Peter Breitenlohner <peb@mppmu.mpg.de>
Implement basic functionality for OFMLEVEL=1 (CHARREPEAT only).
Part 1: ofm => opl:
* char_routines.c (print_characters), parse_ofm.c (ofm_organize):
Handle repeated characters..
Part 2: opl => ofm:
* char_routines.h (num_char_info, words_per_entry): New globals.
* char_routines.c (compute_ofm_character_info): Count char_infos.
(output_ofm_character_info): Output char_infos.
* out_ofm.c (compute_ofm_subsizes): Compute char_info size.
(output_ofm_file): Call compute_ofm_extra_stuff() much earlier.
(compute_ofm_subsizes): Move final check of bc, ec and related
error messages to char_routines.c (compute_ofm_character_info).
* extra_routines.c (output_ofm_extra_stuff): Allow OFMLEVEL=1
unless nki+nkp+nkm+nkf+nkr+nkg>0.
* omfonts.c: Version 2.1.
* level1.test, repeat.test, tests/level1.opl, tests/repeat.opl,
tests/repeated.opl (new): Shell scripts and data for new tests.
* Makefile.am: Add the new tests.
2010-01-04 Peter Breitenlohner <peb@mppmu.mpg.de>
Cleanup extern declarations:
char_routines.c (character_measures): Remove unused extern.
(bchar): Remove extern and #include "parse_ofm.h".
* parse_ofm.h: Extern decl of bchar (defined in parse_ofm.c).
* omfonts.h (file_ofm): Extern decl (defined in omfonts.c).
(output_ofm_header): Remove duplicate (in out_ofm.h).
* omfonts.c (yyin): Remove extern (declared in parser.h).
(output_ofm_header): #include "parse_ofm.h".
* out_ofm.c (header_ptr,mw,mh,md,mi): Remove unused externs.
(file_ofm): Remove extern and #include "omfonts.h".
* font_routines.h (cur_packet): Remove duplicate extern.
* header_routines.h (output_ofm_header): Remove duplicate extern.
* parser.h (yylval): Remove extern, declared in the generated
header pl-parser.h.
* pl-parser.y: #include "pl-parser.h" (for yylval).
* out_ofm.h (output_ofm_header): Remove (in header_routines.h).
(output_ofm_extra_stuff): Remove (in extra_routines.h).
(compute_ofm_character_info, output_ofm_character_info):
Remove (in char_routines.h).
2010-01-03 Peter Breitenlohner <peb@mppmu.mpg.de>
Minor bug fixes:
* char_routines.c (init_character): Fix a typo (bug?).
(init_planes): Drop initialization of char_max[plane_max].
(copy_characters, ensure_existence): Add check for non-existent
plane (plane>plane_max).
* dimen_routines.c (build_dimen_tables, retrieve_dimen_tables):
Replace malloc() by xmalloc().
* list_routines.c (in_cons, in_list1): Initialize index field.
(in_list2): Fix a typo (bug) and initialize index fields.
* parse_ofm.c (ofm_organize): Give correct OFMLEVEL in error
messages.
* header_routines.c (store_seven_bit_safe_flag,
output_ofm_header): Store as 0x80 (as does PLtoTF) and not 0x01.
2009-09-18 Peter Breitenlohner <peb@mppmu.mpg.de>
* header_routines.c (init_header): Call init_ofm_level() to
allow reading PL/VPL (ofm_level=-1) files.
2009-09-11 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-parser.l: Accept NFONTDIR as alias for NATURALFONTDIR for
compatibility with omegaware (Web2C) versions.
2009-08-27 Peter Breitenlohner <peb@mppmu.mpg.de>
Avoid maximal compiler warnings.
* char_routines.[ch] (check_existence_and_safety,
doublecheck_existence): Constify string params.
* error_routines.[ch]: Constify string params of all functions.
* header_routines.c (init_design_size): ANSI C definition.
({init,set}_{coding_scheme,family}): Use xstrdup'ed string
literal to initialize non-const string (and later free it).
* omfonts.c (names_msg, suffixes, full_suffixes): Constify strings.
* out_routines.[ch] (character_measures, extensible_pieces,
ligature_commands, xerox_faces, named_parameters,
named_mathsy_parameters, named_mathex_parameters, type_directions,
actual_directions, accent_kinds, move_directions, rule_measures,
glue_shrink_stretch, glue_orders, glue_kinds): Constify strings.
(out): Constify string param.
* pl-lexer.l: (scan_string): Constify string param.
* Makefile.am (INCLUDES): Add -DNOT_WEB2C, not to import from
../lib/lib.h globals defined in ../lib/main.c.
* dimen_routines.c (delta): Remove unused global var.
2009-08-19 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: omfonts must depend explicitly on KPATHSEA_DEPEND,
the implicit dependency via proglib is not enough.
2009-07-15 Peter Breitenlohner <peb@mppmu.mpg.de>
Implement DVI specials in ovp/ovf character packets.
* font_routines.c (get_hex): fix hex digit conversion.
* lexer.l (scan_hex_string): allow white space in hex strings.
* char_routines.c (print_packet): handle DVI specials.
(string_balance): new function to decide SPECIAL or SPECIALHEX.
* print_routines.[ch] (print_special_hex): output DVI specials.
* out_routines.[ch] (out_hex): new function.
* specialhex.test (new): Shell script to test specials.
* tests/specialhex.ovp (new): test data.
* Makefile.am: add the new test.
2009-06-17 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am (AM_CFLAGS): enable compiler warnings.
* char_routines.c (get_char_remainder): declare as static.
* dimen_routines.c (min_cover, shorten, set_indices):
declare as static.
* error_routines.c: #include "error_routines.h".
* extra_routines.c (init_all_tables): declare as static, unused.
* font_routines.c (font_no_incr, packet_ptr_incr, append_to_packet,
move_ptr_decr, move_ptr_incr, output_ovf_fonts, in_ovf_4,
in_ovf_unsigned_4, in_ovf_3, in_ovf): declare as static.
* font_routines.h (in_ovf_4, in_ovf_unsigned_4):
remove declaration as external.
* header_routines.c (init_header_word, store_header_word,
retrieve_header_word, init_face, init_seven_bit_safe_flag):
declare as static.
(init_ofm_level, init_font_dir): declare as static, unused.
* header_routines.h (init_face, init_seven_bit_safe_flag):
remove declaration as external.
* pl-lexer.l (scan_int, scan_char, scan_fix, scan_string,
scan_hex_string): declare as static.
2009-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: pl-lexer.l provides yywrap, no need for $(LEXLIB).
2009-06-02 Peter Breitenlohner <peb@mppmu.mpg.de>
* dimen_routines.c, manifests.h: rename INFINITY -> WEB_INFINITY,
to avoid name conflict with INFINITY from cygwin <math.h>.
2009-05-31 Peter Breitenlohner <peb@mppmu.mpg.de>
* omfonts.c: allow 'omfonts -ofm2opl' to be ofm2opl etc., used
to test uninstalled program.
* omfonts.test (new): Shell script to test ofm2opl etc.
* tests/* (new): test data.
* Makefile.am: add the new test.
2009-04-01 Peter Breitenlohner <peb@mppmu.mpg.de>
* pl-lexer.l: Add #ifdef __MINGW32__ to source file.
* pl-lexer.c: Regenerated.
2009-04-01 Taco Hoekwater <taco@luatex.org>
* pl-lexer.c: Add #ifdef __MINGW32__ to support compilation
using the mingw32 cross-compiler.
2008-03-13 Karl Berry <karl@tug.org>
* font_routines.c (font_no_incr): change test to avoid reported
segfault on http://norgz.info/download/gregorio.ovp. Report
from Elie Roux, 11 Mar 2008 17:19:46, fix from Arthur Reutenauer.
2008-03-02 Karl Berry <karl@tug.org>
* Makefile.in (omfonts.o): depend on y_tab.h.
From Alexis Ballier, 29 Feb 2008 19:27:23, via
https://bugs.gentoo.org/show_bug.cgi?id=209362.
2008-01-29 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.in: Add @configure_input@ line.
2006-05-25 Roozbeh Pournader <roozbeh@farsiweb.info>
* font_routines.c (clear_map_font): fixed default value of font_at.
* parse_ofm.c (ofm_organize): replaced magic number with constant.
(ofm_read_simple): fixed a 1-off offset.
|