Error in GPOS table
We provide pleasant OS font-families for documents and screen.
Brought to you by:
philthelion
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.