View Issue Details

IDProjectCategoryView StatusLast Update
0000027luatexluatex bugpublic2008-09-30 11:49
ReporterTaco Assigned ToTaco  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Target Version0.30.0Fixed in Version0.30.0 
Summary0000027: A possible disappearing glyph in some old PFBs loaded with f.encodingbytes=2
DescriptionWhen PFB fonts are used in a wide format, the backend has to convert the PFB font into CFF format. For older PFB files, there is a potential problem because not all of those have a /.notdef glyph, and many of the ones that do have it at a different place than charstring index 0.

In the CFF subset, the /.notdef glyph has to be present always, and it has to come first, at index 0. But at the point in the code flow that the actual font subsetting takes place, many glyph indices are already written out to the PDF, so it is not possible to simply recompose the CFF.

This is the current state of the code in the repository (#1186):

The only option left that late in the game is to kick out whatever was at the old index 0 and replace it by ./notdef. If lucky, that is a /space, and no harm done, but if unlucky, a character may disappear (like /Adieresis in luximono)

If such a replacement is necessary, a warning is given, and when the actual /.notdef in the CFF is encountered, it is skipped.

Additional InformationA proper solution to this problem requires the font conversion|/.notdef generation to take place before any indices are written to the PDF file. That is be doable, but requires changes in fontforge.open() or fontforge.to_table().
TagsNo tags attached.

Activities

2008-04-22 12:40

 

gara.zip (401,319 bytes)

Taco

2008-09-30 10:19

administrator   ~0000069

Fixed by #1518, by making sure that the fontforge frontend reserves space for a .notdef at index 0, adjusting the other glyph indices when needed.

Issue History

Date Modified Username Field Change
2008-04-22 12:40 Taco New Issue
2008-04-22 12:40 Taco File Added: gara.zip
2008-04-22 13:26 Taco Status new => assigned
2008-04-22 13:26 Taco Assigned To => Taco
2008-09-30 10:19 Taco Status assigned => resolved
2008-09-30 10:19 Taco Fixed in Version => 0.30.0
2008-09-30 10:19 Taco Resolution open => fixed
2008-09-30 10:19 Taco Note Added: 0000069
2008-09-30 11:49 Taco Status resolved => closed