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
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
|
--- CHANGES ---
This is the old changes log for the fontinst font installation package.
As of v1.9, changes in the core are recorded using the \changes
mechanism of the doc package, and appear as a section in the typeset form
of the source (fisource.dvi). Changes to supporting files are typically
recorded in each file, at the end.
Feb 4 1993, v0.01: Created the file, wrote an afm and enc parser,
started on a vpl writer.
Feb 10 1993, v0.02: Rewrote the enc parser, generally hacked around,
imported trig.tex to convert Adobe's italic slope (expressed in
angles!) into a font dimension (expressed as a ratio!) grrrrrr...
Feb 12 1993, v0.03: Tidied up the comments a bit, moved the
\fontlist out of \readafm, added \writepl (as well as \writevpl).
Replaced \fake{CHARACTER} by having the .fd file give default
definitions for \char-CHARACTER. Added the \map and
\ligtable entries to \char-CHARACTER. Redefined \ligtable,
\map and \codingscheme as token lists. Moved the \kernpair's
into \ligtable.
Feb 16 1993, v0.04: Added FontName, FullName, UnderlineThickness and
Notice. Added the source font encodings, and MAPFONT.
Discovered a seriousish bug---if a character exists in the afm
file but is not in the source encoding, then the fake character
is still overwritten, since we don't know what the source
encoding is going to be until later. Fixed this by reading in
the source encoding first, and looking to see if there is a
character in the source encoding for the one in the afm file.
Added \topaccent.
17 Feb 1993, v0.05: Added the visual centre parameter to \topaccent,
and added \botaccent and \doublechar. Fixed a bug where the
default \missingchar had a horizontal rather than a vertical
rule. Added \settoken.
19 Feb 1993, v0.06: Fixed a bug whereby a character which was in the
source encoding but not in the afm file overwrote it's faked
version. Changed the default \missingchar to be independent of
the values parsed from the afm file (so it doesn't matter when
you set a \missingchar). Added \parameter and \ligatures. Added
\kernalikes and \copykern, which meant I had to split \ligtable
back into \ligtable and \kerntable, since when you say \copykern
you only want the \kerntable copied, not the \ligtable.
Redefined \map so that it's more portable---the contents of \map
are allowed to assume they start in font \startfont, should move
and should finish having moved right by \charwd and in font
\stopfont. This makes it possible to have composite characters
within composite characters---for example to make <ffi> out of
<f><fi> and <fi> is in turn made out of <f><i>.
23 Feb 1993, v0.07: Introduced the \character token list (previously
all of the variables had been set by \char-FOO). \botaccent,
\topaccent, etc are now commands to be used inside \defchar, so
you can say something like \defchar{FOO}{\ifblah ... \botaccent
... \else ... \topaccent ... \fi}. Added \cramchar. Added
the shift-left argument to \doublechar.
24 Feb 1993, v0.08: Replaced \charic by \leftbearing and
\rightbearing. Made the assingments in a \char-FOO command
global, so we can protect local variables. Fixed a bug with
\getchar{FOO} which used to end up calling \the\character.
However, \the\character may contain other \getchar{BAZ} calls,
which will override the values of \kernalike, \source, \target,
etc. So \getchar can't call \the\character. Added \shrinkfont.
Made all the AFM variables counts rather than dimens. Added
\afmunits, and did all the conversion between AFM units and TeX
units as late as possible (which means we can alter \afmunits
locally and perform scaling). Added \getfont so fonts are now
loaded dynamically, and can be scaled. Added \shrinkchar for
producing c&sc fonts.
3 Mar 1993, v0.09: Added \fractionchar, \inferiorchar and
\superiorchar. No character is produced for characters called
.notdef in the target encoding. Produced a first bash at a
complement encoding to Cork, containing the Adobe standard and
Expert characters missing from Cork.
9 Mar 1993, v0.10: A major spring clean. Introduced ATX and ETX
files, so the parser for AFM files now reads an AFM file and writes
out the same information in a TeX-friendly fashion as an ATX file.
Similarly, an ETX file contains the same information as an ENC file.
Introduced \inputatx, \inputetx and \inputenc to input an ATX, ETX
or ENC file if it already exists and to make it otherwise.
14 Mar 1993, v0.11: A continuation of the spring clean. Redefined
\getchars to define everything locally. Redefined \writechars to
read the encoding from a .etx file. Discovered I'd used the command
\afmchar twice(!) so I redefined one of them to be \rawchar.
Rewrote the LIGTABLE section.
15 Mar 1993, v0.12: Finished the spring clean of the file generation.
Redid \writevpl and \writepl. Read the FUD file in after the ATX
files, so the FUD file can use the parameters read in by the ATX
file. Fixed a bug with \afmchar that wrote incorrect values
to \charactersize in the ATX file. Rewrote \fontdimens to write the
PARAMETERs out immediately (since we are now writing the VPL file
when reading the FUD file). Finished the LIGTABLE section, redid
\copykern.
22 Mar 1993, v0.13: Rewrote the generation of ATX files, so kern table
information is gathered together as in a LIGTABLE. Renamed
\defchars to \readafm. Renamed \writevpl to \makevpl ... \endvpl,
and rewrote it to cope with the new syntax of ATX files.
24 Mar 1993, v0.14: Added \lkern and \rkern entries to ATX files,
replacing \copykern. Added kern copying to LIGTABLEs.
29 Mar 1993, v0.15: Added \boundarychar, \nextlarger and \varchar.
Fixed a bug with \lrkern.
30 Mar 1993, v0.16: Fixed a bug whereby FONTDIMENS was being output
rather than FONTDIMEN. Also \writepl was generating a VPL file.
And I discovered a bug with dvips that means that fonts generated
with designsize and designunits R 9.9945 cause a rounding error
and dvips complains about a design size mismatch. Grr... Fixed
a bug with outputting ligatures for characters without
kernings---previously I output a LABEL without checking that
there were actually going to be any LIG instructions (which there
might not be if, for example, it was a monoweight font).
4 Apr 1993, v0.17: Added the interactive prompt. Generated the .fd
file. \makevpl and \makepl don't overwrite files any
longer---they give a message saying `FILENAME.(v)pl already
exists.'
17 Apr 1993, v0.18: Added \makefamily, \maketexfont and \makerawfont.
27 Apr 1993, v0.19: Fixed a bug with \finishligs, which caused
multiple LABEL instructions to be put down (I had a \labelfalse
where I should have had a \labeltrue).
4 Aug 1993, v1.00: Ripped it up and started again... v1.00 is going
to be a fairly complete rewrite from the ground up. I can keep:
* the AFM parser
* the ENC parser
* much of the VPL and PL writer
but the fud engine is going to be replaced by the notion of a
glyphbase. The idea will be that all of the information kept in
the ATX and FUD files will be put into one file called a
`glyphbase'. Then we'll have two utilities:
* \makerawfont{ENCODING}{AFMFILE}{FONTNAME}
will convert an AFM file into a glyphbase and a property list.
* \maketexfont{ENCODING}{GLYPHBASES}{FONTNAME}
will convert a collection of glyphbases into a virtual font.
For example:
\makerawfont{adobe}{Times-Roman}{ptmr0}
\maketexfont{T1ulc}{ptmr0,cork}{ptmrq}
makes the raw font ptmr0.pl, the glyphbase ptmr0.gly, and then
converts the glyphbases ptmr0 and cork into the font ptmrq. This
notion of glyphbase will also allow users to modify fonts easily,
for example you could write a little ptmhax glyphbase, which
would override the default cork glyphbase by saying:
\maketexfont{T1ulc}{ptmr0,ptmhax,cork}{ptmrq}
This will make it much easier to tweak fonts. I'll also specify
the glyphbase syntax, and do my best to make everything upwardly
compatible.
On the 4th of August I started on the above. I wrote
\makeglyphbase, which converts an AFM file into a glyphbase, and
I wrote the glyphbase commands to store the glyphbase information
in TeX. The main thing that's missing is the PL and VPL writers,
and the ligature, nextlarger and varchar entries.
10 Aug 1993, v1.01: Edited trig.tex to remove uses of \then. Separated
\maketexfont into \inputglyphbase and \makevirtualfont. Added the
ability to write CHARACTER instructions, (OK, but not the MAPFONTs
yet).
11 Aug 1993, v1.02: Only output CHARDP, CHARHT and CHARIC when they
are positive. Added the MAPFONT and \mapfont instructions.
12 Aug 1993, v1.03: Corrected a bug where I was calling \inputetx
*after* an \openout\outfile, which caused the \outfile to be closed,
if the etx file had to be generated.
22 Aug 1993, v1.04: Added the concept of variable and number expression.
Included trig.tex as part of this file. Changed design size to an
integer. Renamed `glyphbase' to `metric file', and changed the
syntax of ETX files. Only write out SELECTFONT instructions when
necessary.
23 Aug 1993, v1.05: Added the font dimensions.
24 Aug 1993, v1.06: Made the slot of each glyph an int variable like
any other. Added dim variables. Made designsize a dim variable,
which should cure a bug that was causing design sizes not to match
up. Added the LIGTABLE. Fixed a bug with \inputetx and \inputmtx
which caused the redefinition of \relax to survive past the
\inputFOO command. Fixed a bug with \vplrule, since I'd got the
arguments to SETRULE the wrong way round (again!).
25 Aug 1993, v1.07: Added the VARCHAR and NEXTLARGER entries. Added
the encoding documentation commands. Renamed the file to
fontinst.sty.
26 Aug 1993, v1.08: Added the documentation of MTX files.
27 Aug 1993, v1.09: Corrected a bug with \comment. Added \tfmtomtx.
Removed the SCALE argument to \setrawglyph. Added \convertafm to
convert integer AFM units to a dimen, trying to minimize rounding
errors whilst avoiding rounding errors. Renamed \leftkerning and
\rightkerning to \setleftkerning and \setrightkerning.
30 Aug 1993, v1.10: Added \resetwidth, \resetheight, \resetdepth and
\resetitalic. Added the ability to use \width{GLYPH} etc. inside
\setglyph{GLYPH}. Added everyglyph and everyendglyph.
10 Sep 1993, v1.11: Discovered a bug with the VPL glyphs which was
causing it never to write out a SELECTFONT instruction.
13 Sep 1993, v1.12: Added the \familyinst...\endfamilyinst commands.
Added commands to zero the fonts between calls of \makefont, so
one document can make a large number of fonts.
14 Sep 1993, v1.13: FIRST ALPHA-RELEASE OF V1.
Changed the syntax of \useafm and \useetx to use
the same parameters as LaTeX NFSS. Removed the prefix f0 from
the beginning of the font names, in a pathetic attempt to fit
MS-DOS 8+3 filenames. Added the \tempfile command.
4 Oct 1993, v1.14: Removed a spurious \let in \docnextslot. Thanks
to Damian Cugley for spotting that one. Added \usetfm to \familyinst.
5 Oct 1993, v1.15: Fixed a bug with \dotfm, which was causing it to
generate a PL file, even though the font was already in TFM
format! Thanks again to Damian. Also changed
\let\Input=\@@input to a catcode hack, just in case fontinst.sty
is read in by LaTeX when @ isn't a letter. That one was spotted
by Paul Thompson.
6 Oct 1993, v1.16: Replaced Phil Taylor's trig macros with David
Carlisle's. Added the PL parser. Fixed a bug with the bug fix
for \dotfm, where I'd removed an \inputmtx command that was
needed... And I fixed a bug which was causing the VPL files to
be generated once for each font that contributed to the VPL file.
Damian got those ones as well.
11 Oct 1993, v1.17: Added the SIZE argument to \useafm and \usepl,
and redid the FD generation to use the size info. This should
allow fonts like Malvern to be generated at different design
sizes and still have a sensible FD file. NOTE: This means old
fontinst files will no longer work! I also made \pltomtx create
a \setdim{designsize} command.
13 Oct 1993, v1.18: Fixed a bug with \calculateitslant which caused
it to bomb if the italic angle didn't have a decimal... this was
caused by allowing extraneous spaces at the end of the angle.
These have now been stripped away. Thanks to Paul Thompson for
spotting that one!
15 Oct 1993, v1.19: Discovered a bug with \familyinst, which caused
only one ETX file to be loaded. This one was introduced when I
added the SIZE arguments, since I reorganized the main
\endfamilyinst loop. Serves me right! This is now fixed, but
I'm left with the problem that the sensible order to generate VPL
files is not the sensible order to generate FD lines in. FD
files need the SIZE parameter inside the SERIES and SHAPE,
whereas if a font is contributing to a number of SERIES and
SHAPEs but only one SIZE, then it's sensible to have it outside
the SERIES and SHAPE parameters. Oh dear...
19 Oct 1993, v1.20: Added the glyph `missingglyph' which is produced
whenever a glyph is missing.
3 Nov 1993, v1.21: Corrected a bug with \kerning, which was causing
\kerning{A}{V} to give the kerning between V and A! And I added
the PL names for the math font parameters NUM1--AXISHEIGHT.
Damian spotted those ones. Rewrote the main loop as I said I
would have to in the note on v1.19, so there's no useless
regeneration of fonts now.
17 Nov 1993, v1.22: Restored the final parameter to
\DeclareFontShape which had disappeared somehow! Rob Hutchings
spotted this one. And I stopped trying to be clever about
checking to see if a glyph has been defined before using it.
This means you get a horrible error message if you try to use an
undeclared glyph, but hey ho. Trying to trap this has caused so
many problems with other things breaking that I think I'll give
up :-) Added the \glyphwarning command, and removed the
`missingglyph' glyph. Docstripped David's trig.doc into
trig.sty, so I don't have to worry about trig.doc generating the
trig.sty file. Saved the catcodes of ` ', `@', `~' `_' and NL so I
so I can use @ and _ for internal macro names, space and NL
for ignored white space, and ~ for `real' white space. Renamed
all the internal commands (apart from the documentation ones) to
have _ in their names.
29 Nov 1993, v1.23: Added a check that a glyph exists before writing
it to a (V)PL file... this was causing fontinst to crash if there
was a glyph missing from an AFM file. Yannis Haralambous and Paul
Thompson spotted this one.
23 Dec 1993, v1.24: Removed the \familyinst...\endfamilyinst interface,
and replaced it by \installfonts ... \endinstallfonts, which makes
it easier to generate FD files that look like standard LaTeX2e FD
files. Removed (I'm not sure if this is a great idea) the ability
to specify an encoding for an AFM file, since I'm not sure every
dvi-to-ps converter can re-encode raw fonts. I added the
\declarefamily command to specify which encoding string corresponds
to which ETX file.
24 Dec 1993, v1.25: Redid the \declare... commands, and replaced
everyglyh and everyendglyph by sidebearings.
25 Dec 1993, v1.26: Drank a lot.
26 Dec 1993, v1.27: Added \setcommand, \resetcommand and \ifiscommand.
27 Dec 1993, v1.28: Bug-fixes in \setcommand and \resetcommand. Redid
\pltomtx so that it can read the encoding from the CODINGSCHEME line
in the file. Moved the documentation and tables into fontdoc and
fonttab.tex.
28 Dec 1993, v1.29: Removed the fd-commands argument from \makefont,
since the FD syntax is to allow FD-commands dependent on
encoding/family/series/shape but not on size. This means we can't
generate font-specific FD-commands, but I've never seen those used,
so I'm not too worried... Fixed a bug with the CC commands, which
was producing a glyph with a different width than its horizontal
escapement, and I'm not sure what every DVI driver would do with
that. Replaced \etxtopl with \mtxtopl. Replaced the GLYPH COMMAND
\rawglyph with the MTX COMMAND \setrawglyph.
29 Dec 1993, v1.30: Fixed a bug with \setrawglyph, which wasn't
checking to see if the glyph was already defined. Added
\unsetglyph. Corrected the spelling of `\immedaite' (sic) in
\vpl_nextlarger.
3 Jan 1994, v1.301: The glyph warning message is now only produced when
the glyph is used, rather than when it is defined. And I've moved
over to three-digit version numbers, since I was going through the
two-digit ones quite rapidly. Added \bye, so fontinst documents can
run under LaTeX as well as plain TeX. Added \unsetint, \unsetstr,
\unsetdim and \unsetcommand. Renamed \makefont and \makefamily to
\installfont and \installfamily.
4 Jan 1994, v1.302: Fixed a bug with the definition of \bye.
6 Jan 1994, v1.303: Added the FONTNAME argument to \installfont.
Actually got rid of everyglyph.
8 Jan 1994, v1.304: Added minimumkern and \resetglyph. Fixed a bug
with \vpl_kerning, which was swapping the left- and right-kerns.
Surprising I never spotted this before...
9 Jan 1994, v1.305: Worked on the MTX and ETX files.
10 Jan 1994, v1.306: Worked on the MTX and ETX files.
12 Jan 1994, v1.307: Edited the documentation.
20 Jan 1994, v1.308: Added the rawscale integer variable, and the
\setnotglyph command. Redid the way that CC instructions are
processed, to use the dimensions stored in the glyph-not variables.
Set all of the saved VPL commands to \relax so that they can be
\edef'ed on without having to protect them. Replaced some \def\foo{}
by \let\foo\empty_command's. Replaced a large definition that was
being made by \CHARACTER (when parsing PL files) by a \let. Redid
the datatype used to store kerning so it uses control sequences as a
compact representation of glyph names. All in all, fontinst now runs
in 79% of the time and 77% of the space that it did last week.
21 Jan 1994, v1.309: Saved some more time and space on the kern table.
22 Jan 1994, v1.310: Added the `FONT scaled AMOUNT', made \setkern take
account of \int{rawscale}. Moved the change log into a separate
CHANGES file. Redid \samesize and \resetwidth so that the width is
adjusted by a MOVERIGHT, so the glyph will have the correct horizontal
escapement. Corrected a typo which had renamed \resetint to \setint
(oops!). Corrected a typo of `itslant' rather than `italicslant'.
Added the \transformfont command and \mtxtomtx. Changed the
definition of \unfakable{foo} in latin.mtx to look to see if there's a
glyph <foo-not> to get the dimensions for. Added a fake <space> and a
fake <dotlessj> which is a missing glyph rule with the dimensions
combined from <j> and <dotlessi>. Changed the default interword
stretch to be 1/3 of interword space, rather than zero. Removed the
checks for the existence of <space> and <x> in OT1.etx and T1.etx,
since these are now faked in latin.mtx. Renamed the PS/CM math fonts,
after a discussion with Karl Berry, added the OMS and OMX math fonts.
Added the Greek letters, digits and other humanists to unsetalf.mtx.
Added the DEFAULTRULETHICKNESS and BIGOPSPACING commands to the PL
parser. Fixed a bug I'd introduced by giving \vartop, \varmid,
\varrep and \varbot no parameters. Oops. Created timesmat.sty and
testmath.tex. All in all, a reasonable day's work...
23 Jan 1994, v1.311: Added some more tests to testmath.tex. Added the
new math sizes to timesmat.sty. Fixed a bug with fontstnd.tex which
was causing it to generate the wrong FD entry for italic fonts. Fixed
a bug with CHARACTER parsing in \pltomtx which wasn't resetting the
values of WIDTH, HEIGHT, DEPTH and CHARIC between glyphs.
24 Jan 1994, v1.312: Added the SEVENBITSSAFE command to the PL parser.
25 Jan 1994, v1.313: Restored the catcode of ~, which I'd left as 10.
Made /, < and > in zptmcmrm come from cmmi rather than ptmri. Added
zptmcmr to fontptcm.tex, which is Adobe Times with +, =, (, ), [ and ]
taken from CMR. This means that [...] and (...) in text is different
from in math, but means that the delimiters are the right size for
math setting with CM symbols, and match the growing delimiters in cmex.
Moved the files ptmcmhax.mtx and psycmhax.mtx to zrmhax.mtx and
zrvhax.mtx.
27 Jan 1994, v1.314: Took the textstyle and displaystyle big operators
in zpsycmrv from cmex8 rather than cmex10, since they are more
suitably sized for the <summation> and <product> from Adobe Symbol.
Made all the accents in latin.mtx zero depth (which TeX's math accent
placement requires). Discovered that cmex8 doesn't have a
CODINGSCHEME, so I added one by hand to the PL file.
30 Jan 1994, v1.315: Replaced cmex8 in zpsycmrv by cmex9. Added
<epsilon1>, <pi1> and <rho1> to unsethum.mtx. Added the \skewchar
declaration for zptmcmrm. Fixed a bug which was causing negative
mathchardefs. Finished off the skewchar kerns for zptcmrm.
Renamed timesmat.sty to mathptm.sty, since there's already a
timesmat.sty.
7 Feb 1994, v1.316: Fixed the \ProvidesPackage line in mathptm.sty.
8 Feb 1994, v1.317: Fixed a bug with fontptcm.tex where I'd put the
\skewchar command in the wrong argument! Made the `size' argument
to \installfont an FD size specification. Added fakes for <lslash>
and <Lslash> built from <lslashslash> to latin.mtx. Added a check
that a ligature glyph exists before writing out the LIGTABLE entry.
Edited the documentation a bit---thanks to Karl Berry for comments.
Added the fontcmro example, inspired by Norman Walsh. Fixed a bug
with .fd file generation which caused multiple \DeclareFontShape
entries to be produced. Added \unfakable{endash} and
\unfakable{emdash} to latin.mtx. Sebastian spotted that one.
10 Feb 1994, v1.318: Added \unfakable{dotlessi} to latin.mtx. Karl
Berry pointed that one out.
1 Mar 1994, v1.319: Added the HEADER. Karl Berry pointed that one out
too.
6 Apr 1994, v1.320: Write out a LABEL BOUNDARYCHAR ligable entry where
necessary. Alan Hoenig pointed that one out. Rewrote mathptm.sty
to remove some of the nastier hacks.
7 Apr 1994, v1.321: Added the ability to generate font substitutions
in the FD files.
8 Apr 1994, v1.322: Fixed a bug with font substitution which was
causing the font substitutions to be written out before the real
fonts. Moved the mathptm package to standing on its own.
17 Apr 1994, v1.323: Added the top-level \latinfamily commands, and
updated the example files and documentation to use them. Added
OT1ci.etx. Made the list of files in an \installfont command
expanded before running along the list, so you can have a macro
which expands out to a list of files now. Added substitutions for
semibold and demibold, for upright italic, and for sc to nc. Added
OT19.etx, OT1c9.etx, OT1ci9.etx, OT1i9.etx, T19.etx and T1c9.etx.
Removed OT1o.etx.
19 Apr 1994, v1.324: Removed italic and oblique small caps. Fixed a
bug which was causing the latin.mtx file to be read in inside a
group if a latin family without an expert font was created.
25 Apr 1994, v1.325: Removed a bug which caused sc fonts to have the
same names as u&lc fonts. Fixed a bug which was causing oblique
fonts not to be generated properly. Fixed a bug with FD
generation which was producing too few arguments for
DeclareFontShape for substitutions.
27 May 1994, v1.326: Made fontinst.tex a 2e document. Fixed a bug
with generating slant which was generating slant in design size per
point rather than points per point. Sigh. Ciar\'an \'O Duibh\'in
spotted that one. Declared this to be the first full release.
1 Jun 1994, v1.327: Fixed bug with filename parsing which was losing
variants. Rewrote the encoding files to use the OT1 tt encoding
whenever monoweight is set. Removed the f-liagatures from the T1
encoding for monowidth fonts. Sebastian spotted that one.
2 Jun 1994, v1.328: Fixed a bug with FD generation: I'd added the
extra argument for series substitutions but not shape
substitutions. Ta Sebastian again.
3 Jun 1994, v1.329: Made Upsilon1 unfakable.
15 Jun 1994, v1.330: Fixed a bug with font substitution which was
ignoring chains of substitutions such as bx -> b -> db. Added the
m->l substitution. Renamed the `mn' and `bn' series to `mc' and
'bc'. Added the `k' and `m' series.
16 Jun 1994, v1.331: Sebastian spotted another problem with
substitutions. If a font had both a series and a shape
substitution, the series was sometimes getting lost.
Steve Grathwohl pointed out that I'd forgotten to switch off
kerning before loading the math italic fonts in fontcmro.
27 Jun 1994, v1.332: Added braces to \needsfontinstversion, which was
clobbering \a_dimen and \b_dimen. Fixed a bug with compwordmark
which was causing it to get letterspacing added to it. Added the
GLYPH-spacing variable to cope with this. These were
spotted by Constantin Kahn.
29 Jun 1994, v1.333: Added \ProvidesFile line to the .fd files.
16 Aug 1994, v1.334: Added \frompl, fixed bugs with \resetdim and
<ccedilla>---all reported by Constantin Kahn.
9 Sep 1994, v1.335: Fixed a bug with NEXTLARGER and VARCHAR generation
which was causing the entries to be printed out for nonexistent
glyphs---spotted by Alan Hoenig. Updated the example installation
files for Times, Helvetica and Courier. Updated to a more recent
trig.sty, and added the hacks to allow trig.sty to be used outside
LaTeX2e. Made fontinst.sty initex processable, so you can save
memory by building your own fontinst format without plain. Fixed
the names of `narrow' fonts, which used to clobber the non-narrow
fonts---spotted by Peter Busk Laursen.
12 Sep 1994, v1.336: Fixed a bug with fontcmro, which was listing the
9pt font as being 10pt in the fd file---spotted by Steve Grathwohl.
22 Sep 1994, v1.337: Corrected spelling mistake in \declareencoding in
error message of \CODINGSCHEME---spotted by Alan Hoenig.
8 Oct 1994, v1.338: Corrected definition of \space in
fontinst.ini---spotted by Rob Hutchings.
18 Nov 1994, v1.339: Added 8r.etx and 8r.enc from Sebastian.
Distributed a patched fontinst.rc file containing a reimplementation
of \latinfamily that uses the 8r encoding.
21 Nov 1994, v1.400: Added missing \fi to 8r.etx---spotted by Steve
Grahthwohl. Added \mtxtopl for expert fonts in
\latinfamily---spotted by Rob Hutchings.
29 Nov 1994, v1.401: Added hyphen+hyphenchar = hyphenchar lig to
T1.etx (so that foo-bar words can be hyphenated as foo<hyphenchar>
bar)---spotted by Frank Mittelbach. Made default stretch and
shrink 50% and 16.7% of <space> respectively. Added \everyjob to
fontinst.ini to load the fontinst.rc file---spotted by Rob
Hutchings.
7 Dec 1994, v1.402: Corrected typos with 8r.etx---spotted by
Constantin Kahn.
12 May 1995, v1.403: Mentioned the pl files in fontinst.tex, and added
the encoding TEX TEXT WITHOUT F-LIGATURES. Both spotted by John
Wells.
16 Sep 1995, v1.500: Incorporated changes by SPQR and CK in their
fontinst.rc file. In detail... Added the \NOFILES debugging
option. Used SPQR and CK's complete reimplementation of
\latinfamily. Added the TEXBASE1ENCODING. Added \etxtopl and
\installrawfont. Added the setting of \errorcontextlines. Grabbed
T1i.etx from CTAN. Added the setting of \newlinechar (pointed out
by Constantin). Fixed bug with \resetcommand which stopped braces
around the csname from working (Contantin again). Removed the
contrib/zd directory at Constantin's request. Rewrote the
documentation. Added fontinst.cls.
[16 Sep 1995, v1.500 on CTAN with fonts/psfonts/tools]
21 Sep 1995, v1.501: Corrected some typos in the documentation.
Added kerns for ng, Ng and hyphenchar. Fixed spacing in faked
<FFsmall> and friends. Fixed kerning of <dotlessJ>. Raised the
<macron> in <dbar> to half-way between the xheight and the height of
<d>. Added fake <ng> -> <eng>. Made \cscbotaccent and
\csctopaccent look to see if both of the glyphs exist rather than just
the first. Thanks to Hilmar Schlegel for all these points.
29 Sep 1995, v1.502: Renamed all the distributed afm files from
*0*.afm to *8a*.afm. Updated the file header on 8r.etx.
Renamed Karl's fontinst.rc to karl-fontinst.rc, to avoid it being
picked up by every punter.
All pointed out by Sebastian.
24 Nov 1995, v1.503: Included Alan Hoenig's vfinst in contrib/vfinst.
23 Jan 1996, v1.504: Included some of Sebastian's changes to OT1.etx:
upped stretch and shrink to .6 and .24 of space; reduced extra
space after . to .24 of space; removed <endash> + <hyphen> =
<emdash> ligature from OT1 monowidth; made \setslot{grave}
etc. into \setslot{\lc{Grave}{grave}} etc; fixed a bug with T1c
`monoweight' -> `monowidth' (!); implemented Rob's changes to
small caps and small accented caps; included fake kerning for
Udieresis; added hackery from spqr.rc for faking small caps and
faking widths.
[28 Jan 1996, v1.504 on CTAN with:fonts/psfonts/tools]
24 Jan 1996, v1.505: Updated fontptcm.tex to use ptmr8a rather than ptmr0.
25 Jan 1996, v1.506: Added extra braces to \latinfamily to stop
setting of \digits in one run from affecting it in subsequent
runs. Spotted by Richard Walker.
23 Feb 1996, v1.507: Replaced vpltovf by vptovf. Spotted by Sebastian.
17 Jun 1996, v1.508: Added an \ifdim check to stop lots of MOVERIGHT R 0.0
instructions being generated. Spotted by Sebastian.
18 Jun 1996, v1.509: Allow real numbers in .afm files. Spotted by
Gintautas Grigelionis. Made spaces before ; optional, in order to
parse v2.0 afm files (spaces before ; were made compulsory in v3.0).
20 Jun 1996, v1.510: Added 9d and 9o encodings for fonts with
old-style digits.
21 Jun 1996, v1.511: Removed \endinput from the end of .fd files, so
that additions can be made more easily.
24 Jul 1996, v1.512: Updated version of trig.sty.
7 Aug 1996, v1.513: Moved unfakable glyphs eariler in latin.mtx so
that all-caps fonts will work.
6 Feb 1997, v1.514: Added a zero-width rule to cwm in latin.mtx (to
stop the MAP entry from being empty). Made cwm 1ex high.
--- Copyright 1993, 1994, 1995, 1996 Alan Jeffrey ---
11 Feb 1997, unofficial v1.6 SPQR on CTAN:fonts/psfonts/tools
Derived from v1.504 with minor hacks and fixes (not documented).
29 May 1998, unofficial v1.7 SPQR on CTAN:fonts/psfonts/tools
Derived from v1.6 with fixes by UV. Corrected mapping of weights.
Added code for 8r-encoded AFM files (intended to cope with ttf2afm
limitations, but taken out again after ttf2afm was updated).
22 Jun 1998, unofficial v1.8 UV
Derived from v1.7 and v1.511. Many .etx/.mtx files touched up.
fontinst.sty and fontdoc.sty now generated from fontinst.dtx.
\textcompfamily integrated into \latinfamily. Reintroduced
oldstyle encodings (from v1.511). 8y.etx/8y.mtx added as an
alternative to 8r.etx/8r.mtx. ts1.etx and textcomp.mtx revised.
30 Jun 1998, unofficial v1.800 UV on CTAN:fonts/utilities/fontinst
Several changes to examples/mathptm and examples/mathptmx.
07 Jun 1998, v1.801: Fixed a bug when oldstyle small-caps fonts
are generated from <font>8r + <font>8x instead of <font>c8r.
|