Menu

#321 Error in GPOS table

version 5.0.0
open
nobody
None
5
2016-03-14
2016-03-14
No

The OpenType files for the italic Libertine fonts (RI and RBI files) in version 5.3.0 seem to have errors in their GPOS tables. Decompiling them with 'ttx' (from fonttools) results in the error:

An exception occurred during the decompilation of the 'GPOS' table

And attempting to subset them with pyftsubset yields:

Traceback (most recent call last):
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\Scripts\pyftsubset-script.py", line 9, in <module>
    load_entry_point('fonttools==3.0', 'console_scripts', 'pyftsubset')()
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 2805, in main
    subsetter.subset(font)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 2588, in subset
    self._subset_glyphs(font)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 2552, in _subset_glyphs
    retain = table.subset_glyphs(self)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 1336, in subset_glyphs
    lookup_indices = self.table.LookupList.subset_glyphs(s)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 1157, in subset_glyphs
    return [i for i,l in enumerate(self.Lookup) if l and l.subset_glyphs(s)]
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 1128, in subset_glyphs
    self.SubTable = [st for st in self.SubTable if st and st.subset_glyphs(s)]
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 558, in subset_glyphs
    mark_indices = self.MarkCoverage.subset(s.glyphs)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 351, in subset
    indices = self.intersect(glyphs)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\subset\__init__.py", line 341, in intersect
    return [i for i,g in enumerate(self.glyphs) if g in glyphs]
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\ttLib\tables\otBase.py", line 569, in __getattr__
    self.decompile(reader, font)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\ttLib\tables\otBase.py", line 632, in decompile
    self.postRead(table, font)
  File "C:\Users\MichaelEkstrand\Miniconda3\envs\py27\lib\site-packages\FontTools\fontTools\ttLib\tables\otTables.py", line 54, in postRead
    (r.StartCoverageIndex, len(glyphs))
AssertionError: (28, 25)
failed to subset LinLibertine_RBI.otf

Other fonts, including RZI and the Biolinum fonts, are just fine. Regenerating the OpenType file myself from the SFD source also yields the same problem.

Discussion


Log in to post a comment.

MongoDB Logo MongoDB