freefont-bugs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freefont-bugs] Off-by-one error in glyph positioning?


From: Primoz Peterlin
Subject: Re: [Freefont-bugs] Off-by-one error in glyph positioning?
Date: Fri, 26 Apr 2002 11:02:18 +0200 (METDST)

On Thu, 25 Apr 2002, Josef W. Segur wrote:

> The 'post' table in FreeSans.ttf causes names to be off-by-one when making
> an AFM file with Richard Kinch's ttf_edit:
> CH <0020> ; WX 278 ; N .notdef ; B 124 0 208 729 ;
> CH <0021> ; WX 278 ; N space ; B 124 0 208 729 ;
> CH <0022> ; WX 355 ; N exclam ; B 52 464 305 709 ;
> There's an extra index entry near the beginning of the table, so in
> addition to those MACglyph names being off by one, the attempt to read
> the string names starts with the last index and gets badly confused:
> CH <0101> ; WX 556 ; N thyphenXAmacronXamacronXAbreveXabreveXAogonekXaogon...

I realise I know less about TrueType indices that I thought I do.

I can see now what you are talking about if I dump the font tables with
showttf <http://bibliofile.mc.duke.edu/gww/FreeWare/MyToys.html>.

Here is an excerpt from the showttf output for FreeSans:

post table (at 263308)
         format=00020000
         italicAngle=0
         underlinePos=-151
         underlineWidth=50
         fixedpitch=0
         mem1=0
         mem2=0
         mem3=0
         mem4=0
Glyph 0 (name index=0) -> ".notdef"       U+FFFF
Glyph 1 (name index=1) -> ".null"         U+0000
Glyph 2 (name index=2) -> "nonmarkingreturn"      U+0000
Glyph 3 (name index=0) -> ".notdef"       U+0020
Glyph 4 (name index=3) -> "space"         U+0021
...

I can also see the name confusion later on you are talking about. I don't
know yet where the indices of postscript names table are read from,
though.

The same table for FreeMonoBold looks OK, though:

post table (at 275960)
         format=00020000
         italicAngle=0
         underlinePos=-100
         underlineWidth=50
         fixedpitch=0
         mem1=0
         mem2=0
         mem3=0
         mem4=0
Glyph 0 (name index=0) -> ".notdef"       U+FFFF
Glyph 1 (name index=1) -> ".null"         U+0000
Glyph 2 (name index=2) -> "nonmarkingreturn"      U+0000
Glyph 3 (name index=3) -> "space"         U+0020
...

I'll have a look and see if I can understand anything. I am also sending
CC to George Williams, tha author of PfaEdit.

With kind regards, Primoz

--
Primož Peterlin,   Inštitut za biofiziko, Med. fakulteta, Univerza v Ljubljani
Lipičeva 2, SI-1000 Ljubljana, Slovenija.  address@hidden
Tel: +386-1-5437632, fax: +386-1-4315127, http://sizif.mf.uni-lj.si/~peterlin/
F8021D69 OpenPGP fingerprint: CB 6F F1 EE D9 67 E0 2F  0B 59 AF 0D 79 56 19 0F




reply via email to

[Prev in Thread] Current Thread [Next in Thread]