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 ___________________________________________________________________________________
