[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1101435: /usr/bin/pyftsubset: ModuleNotFoundError: No module named 'zopfli' with --flavor=woff



Hi,

在 2025-03-27四的 15:46 +0100,наб写道:
> Package: fonttools
> Version: 4.38.0-1
> Severity: normal
> File: /usr/bin/pyftsubset
> 
> Dear Maintainer,
> 
> $ pyftsubset RobotoSlab-Regular+tabdig.ttf     --flavor="woff"     --output-file="RobotoSlab-Regular+tabdigS.woff"       --unicodes="0123456789" --with-zopfli     --verbose
> 2>&1
> Text: ''
> Unicodes: [4886718345]
> Glyphs: []
> Gids: []
> maxp pruned
> cmap pruned
> post pruned
> GPOS pruned
> GSUB pruned
> name pruned
> glyf pruned
> Missing glyphs for requested Unicodes: ['U+123456789']
> Added gid0 to subset
> Closing glyph list over 'GSUB': 1 glyphs before
> Glyph names: ['.notdef']
> Glyph IDs:   [0]
> Closed glyph list over 'GSUB': 1 glyphs after
> Glyph names: ['.notdef']
> Glyph IDs:   [0]
> Closing glyph list over 'glyf': 1 glyphs before
> Glyph names: ['.notdef']
> Glyph IDs:   [0]
> Closed glyph list over 'glyf': 1 glyphs after
> Glyph names: ['.notdef']
> Glyph IDs:   [0]
> Retaining 1 glyphs
> head subsetting not needed
> hhea subsetting not needed
> maxp subsetting not needed
> OS/2 subsetting not needed
> hmtx subsetted
> cmap subsetted
> fpgm subsetting not needed
> prep subsetting not needed
> cvt  subsetting not needed
> loca subsetting not needed
> post subsetted
> gasp subsetting not needed
> WARNING: FFTM NOT subset; don't know how to subset; dropped
> GDEF subsetted
> GPOS subsetted
> GSUB subsetted
> name subsetting not needed
> glyf subsetted
> head pruned
> OS/2 Unicode ranges pruned: []
> glyf pruned
> GDEF pruned to empty; dropped
> GPOS pruned
> GSUB pruned
> Traceback (most recent call last):
>   File "/bin/pyftsubset", line 33, in <module>
>     sys.exit(load_entry_point('fonttools==4.38.0', 'console_scripts', 'pyftsubset')())
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/misc/loggingTools.py", line 372, in wrapper
>     return func(*args, **kwds)
>            ^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/subset/__init__.py", line 3243, in main
>     save_font(font, outfile, options)
>   File "/usr/lib/python3/dist-packages/fontTools/misc/loggingTools.py", line 372, in wrapper
>     return func(*args, **kwds)
>            ^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/subset/__init__.py", line 3093, in save_font
>     font.save(outfile, reorderTables=options.canonical_order)
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/ttFont.py", line 185, in save
>     writer_reordersTables = self._save(tmp)
>                             ^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/ttFont.py", line 225, in _save
>     self._writeTable(tag, writer, done, tableCache)
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/ttFont.py", line 654, in _writeTable
>     self._writeTable(masterTable, writer, done, tableCache)
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/ttFont.py", line 654, in _writeTable
>     self._writeTable(masterTable, writer, done, tableCache)
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/ttFont.py", line 666, in _writeTable
>     writer[tag] = tabledata
>     ~~~~~~^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/sfnt.py", line 265, in __setitem__
>     entry.saveData(self.file, data)
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/sfnt.py", line 487, in saveData
>     data = self.encodeData(data)
>            ^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/sfnt.py", line 532, in encodeData
>     compressedData = compress(data, self.zlibCompressionLevel)
>                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/fontTools/ttLib/sfnt.py", line 188, in compress
>     from zopfli.zlib import compress
> ModuleNotFoundError: No module named 'zopfli'
> 
> WOFF2 works.
> 
> apt install pulled in fonttools libboost-dev liblbfgsb0 libopenblas-dev libopenblas-pthread-dev libopenblas0 libopenblas0-pthread libpython3-all-dev libpython3-dev
> libpython3.11-dev libxsimd-dev python3-all-dev python3-appdirs python3-attr python3-beniget python3-brotli python3-decorator python3-dev python3-fonttools python3-fs
> python3-gast python3-lz4 python3-mpmath python3-numpy python3-ply python3-pythran python3-scipy python3-sympy python3-ufolib2 python3.11-dev unicode-data

Package python3-zopfli is needed, however it only presents in Debian 13/Testing/Sid now.

I am not sure what would be the best way forward. A stable-backports is possible, yet
it won't fundamentally solve the issue in the Stable suite alone.

Thanks,
Boyuan Yang

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: