googlefonts / picosvg

Helps simplify SVG files. Intended for use as part of a font build.
Apache License 2.0
141 stars 12 forks source link

BadElement exception on Noto Color Emoji emoji_u1f6cd.svg #232

Open madig opened 3 years ago

madig commented 3 years ago

Is the following expected?

> nanoemoji --output ufo --color_format glyf_colr_1 (find ../noto-emoji/svg -name 'emoji_*.svg')
I0610 15:04:20.651329 140086305654592 nanoemoji.py:312] Wrote /.../nanoemoji/build/config.toml
I0610 15:04:20.652279 140086305654592 nanoemoji.py:338] Generating build.ninja
I0610 15:04:21.758687 140086305654592 nanoemoji.py:366] ninja -C /.../nanoemoji/build
ninja: Entering directory `/.../nanoemoji/build'
[2/2228] picosvg  --clip_to_viewbox --output_file picosvg/regular/emoji_u1f6cd.svg ../../noto-emoji/svg/emoji_u1f6cd.svg
FAILED: picosvg/regular/emoji_u1f6cd.svg
picosvg  --clip_to_viewbox --output_file picosvg/regular/emoji_u1f6cd.svg ../../noto-emoji/svg/emoji_u1f6cd.svg
Traceback (most recent call last):
  File "/.../nanoemoji/venv/bin/picosvg", line 8, in <module>
    sys.exit(main())
  File "/.../nanoemoji/venv/lib/python3.8/site-packages/picosvg/picosvg.py", line 61, in main
    app.run(_run, argv=argv)
  File "/.../nanoemoji/venv/lib/python3.8/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/.../nanoemoji/venv/lib/python3.8/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "/.../nanoemoji/venv/lib/python3.8/site-packages/picosvg/picosvg.py", line 43, in _run
    svg = SVG.parse(input_file).topicosvg()
  File "/.../nanoemoji/venv/lib/python3.8/site-packages/picosvg/svg.py", line 1103, in topicosvg
    svg.topicosvg(inplace=True)
  File "/.../nanoemoji/venv/lib/python3.8/site-packages/picosvg/svg.py", line 1133, in topicosvg
    raise ValueError(
ValueError: Unable to convert to picosvg: BadElement: /svg[0]/mask[11]

Using https://github.com/googlefonts/noto-emoji/commit/948b1a7f1ed4ec7e27930ad8e027a740db3fe25e with nanoemoji v0.8.3 and deps:

> pip list
Package             Version      Location
------------------- ------------ ----------------------------
absl-py             0.12.0
appdirs             1.4.4
attrs               21.2.0
booleanOperations   0.9.0
cffsubr             0.2.8
cu2qu               1.6.7
fonttools           4.24.4
fs                  2.4.13
importlib-resources 5.1.4
lxml                4.6.3
nanoemoji           0.8.3        /.../nanoemoji/src
ninja               1.10.0.post2
picosvg             0.16.0
Pillow              8.2.0
pip                 20.0.2
pkg-resources       0.0.0
pyclipper           1.2.1
pytz                2021.1
regex               2021.4.4
setuptools          44.0.0
six                 1.16.0
skia-pathops        0.6.0.post2
toml                0.10.2
ufo2ft              2.21.0
ufoLib2             0.11.1
zipp                3.4.1
rsheeter commented 3 years ago

Mask is not currently supported. The noto-emoji referenced from https://github.com/googlefonts/color-fonts should include a copy without a mask.