bugThe FreeType Project - Bugs: bug #54081, Possible byte code interpreter...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #54081: Possible byte code interpreter problem with subset font

Submitter:  John Tytgat <joty>
Submitted:  Thu 07 Jun 2018 03:28:06 PM UTC
   
 
Severity:  3 - Normal Item Group:  None
Status:  Invalid Privacy:  Public
Assigned to:  wl Open/Closed:  Closed
Planned Release:  None

Thu 21 Jun 2018 06:26:22 AM UTC, comment #1: 

The bytecode in the full font is generated by ttfautohint.  The subsetted bytecode in `prep' is completely different; it causes an endless loop.  So yes, the bytecode of the subsetted font is buggy.

Looking into the `name' table it seems that the subsetted font is based on an older version of FiraSans-Regular (the copyright years are different) – I guess that this older version wasn't hinted by ttfautohint.

There was a bug in the `glyphs' font editor: It sometimes dumped arbitrary bytecode into the `prep' table (and possibly `fpgm' also) if no glyph in the font uses bytecode.  Apparently, on Windows the `prep' table gets only loaded on demand if the interpreter has to execute the bytecode of a glyph, which means that such a broken `prep' table doesn't matter if no glyph contains bytecode.  With FreeType, however, the `prep' table gets always executed if it is present.  Maybe this is the reason of the problem.

My conclusion: Not a FreeType problem, thus closing as invalid.

Werner LEMBERG <wl>
Group administrator
Thu 07 Jun 2018 03:28:06 PM UTC, original submission:  

Attached:
- FiraSans-Regular.ttf 4.106 + license (https://github.com/mozilla/Fira/releases)
- FiraSans-Regular_subset.ttf : subset font extracted from a PDF file written by Adobe InDesign CC 2017 (Mac).

When using FT2.8.1 and its byte interpreter, this results in Execution_Too_Long error.  I've difficulty assessing whether this error is reasonable (i.e. the subset font is buggy) or something else is wrong in the byte code interpreter.  Disabling the Execution_Too_Long error seems to result in an infinite loop.  The full non-subset font does not have any issues.  So subsetting gone wrong ?

John Tytgat <joty>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #44322:  FiraSans-Regular.ttf added by joty (394KiB - application/octet-stream)
file #44323:  LICENSE added by joty (4KiB - application/octet-stream)
file #44324:  FiraSans-Regular_subset.ttf added by joty (15KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by wl (Posted a comment)
  • -email is unavailable- added by joty (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-06-21 wl StatusNone Invalid
        Assigned toNone wl
        Open/ClosedOpen Closed
    2018-06-07 joty Attached File- Added FiraSans-Regular.ttf, #44322
        Attached File- Added LICENSE, #44323
        Attached File- Added FiraSans-Regular_subset.ttf, #44324

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code