On Wed, 25 Mar 2026 at 12:28, Hans Hagen <[email protected]> wrote:

> On 3/25/2026 11:34 AM, luigi scarso wrote:
> >
> >
> > On Wed, 25 Mar 2026 at 10:53, Hans Hagen via ntg-context <ntg-
> > [email protected] <mailto:[email protected]>> wrote:
> >
> >     On 3/25/2026 5:40 AM, Max Chernoff via ntg-context wrote:
> >
> >      >      $ wget 'https://mirrors.ctan.org/fonts/lxgw-fonts/
> >     LXGWNeoXiHei.ttf <https://mirrors.ctan.org/fonts/lxgw-fonts/
> >     LXGWNeoXiHei.ttf>'
> >
> >     are these fonts actually tested at all before being uploaded
> >
> >
> > Using ttx should be doable, I think
> >
> > $ ttx LXGWNeoXiHei.ttf
> >
> > Dumping "LXGWNeoXiHei.ttf" to "LXGWNeoXiHei#2.ttx"...
> > Dumping 'GlyphOrder' table...
> > ERROR: An exception occurred during the decompilation of the 'post' table
> > Traceback (most recent call last):
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/ttFont.py",
> > line 482, in _readTable
> >      table.decompile(data, self)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/tables/
> > _p_o_s_t.py", line 52, in decompile
> >      raise ttLib.TTLibError(
> > fontTools.ttLib.TTLibError: 'post' table format 7865.120026 not supported
> > ERROR: Unhandled exception has occurred
> > Traceback (most recent call last):
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttx.py", line 452,
> > in main
> >      process(jobs, options)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttx.py", line 434,
> > in process
> >      action(input, output, options)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/misc/
> > loggingTools.py", line 375, in wrapper
> >      return func(*args, **kwds)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttx.py", line 295,
> > in ttDump
> >      ttf.saveXML(
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/ttFont.py",
> > line 289, in saveXML
> >      self._saveXML(writer, **kwargs)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/ttFont.py",
> > line 354, in _saveXML
> >      self._tableToXML(tableWriter, tag, splitGlyphs=splitGlyphs)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/ttFont.py",
> > line 386, in _tableToXML
> >      table.toXML(writer, self)
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/ttFont.py",
> > line 866, in toXML
> >      glyphOrder = ttFont.getGlyphOrder()
> >    File "/<..>/lib/python3.10/site-packages/fontTools/ttLib/ttFont.py",
> > line 543, in getGlyphOrder
> >      glyphOrder = self["post"].getGlyphOrder()
> > AttributeError: 'DefaultTable' object has no attribute 'getGlyphOrder'
> >
> > at least as long as it's supported...
>
> ah, it already crashes out on the post table ... lucky it doesn't
> continue till it has to read features (billions of reads to get these
> basic script/language tables loaded, apart from lookups etc) .. no
> surprise that applicatiosn that allocate mem beforehand crap out (lua
> allocates as it goes along so indeed we use gigabytes of mem here) ..
> imagine the xml files ttx would produce
>
>
also
https://github.com/khaledhosny/ots
fails quickly
(latest precompiled https://github.com/khaledhosny/ots/releases/tag/v9.2.0
, 2024,  but it's not a dead project).


If at least two independent tools fails  the file should be rejected, there
is a risk of a dos (not necessarily intentional).

--
luigi
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to