Intolerable difference in glyph width: font=vnbx12

Werner LEMBERG wl at gnu.org
Wed Oct 20 00:01:46 CEST 2021

> > * Fix the widths by using t1disasm + manual editing + t1asm.
> >   A skilled user might even write a script to automate the manual
> >   editing part, i.e., taking the width of the 'u' glyph from the
> >   disassembled output and replacing the widths of all other
> >   occurrences of 'u + accent(s)'.
>
> this is what I had in mind too but it takes some time.  There are some
> other things which should be fixed too.
>
>   \font\v=vnr12 at 1000pt \v
>   \setbox0\hbox{0}
>   \showthe\wd0
>
>   > 489.4638pt.
>   l.8 \showthe\wd0
>
> The tfm file contains (CHARWD R 0.489464).  This looks fine so far
>
>   489.464pt * 72.27/72 = 491.29949bp
>
> but the pfb file contains
>
>   /zero {
>       41 490 hsbw
>
> There are many of such rounding errors in the font.  I assume that
> it's best to replace all widths in the pfb files by values derived
> from the tfm files.

Yes.  Ideally, the values are rational approximations, similar to what
is done in the cmsuper fonts, for example

41 4913 10 div hsbw

Werner