Closed Bug 1359240 Opened 7 years ago Closed 5 years ago

Support gzip-compressed SVG-in-OpenType

Categories

(Core :: Graphics: Text, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox69 --- fixed

People

(Reporter: mozilla, Assigned: jfkthame)

References

Details

Attachments

(5 files, 3 obsolete files)

The spec supports gzip-compressed SVG in SVG table of an OpenType font.  Firefox does not support that.  I don't know if Edge does.
Any chance you could provide a test font that uses this? Even if it's just a proof-of-concept with a few trivial glyphs...
This makes the compressed version of Behdad's font render just the same as the uncompressed. We should also add a small testcase as a reftest for this; I'll see what I can put together.
Attachment #8861364 - Flags: review?(jmuizelaar)
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Simple reftest to check that a font using compressed SVG glyph documents renders the same as the version with uncompressed documents.
Attachment #8861412 - Flags: review?(jmuizelaar)
(Moving this out of the Firefox::General catchall - please feel free to move again if this isn't the right place)
Component: General → Graphics: Text
Product: Firefox → Core
Jonathan: The last four bytes of a gzip-compressed blob includes the input size.  Maybe you can use that.

You can also limit the expansion factor, instead of relying on malloc failure to defeat gzip bombs.
Ah, right - it's much better like this, thanks.
Attachment #8861657 - Flags: review?(jmuizelaar)
Attachment #8861364 - Attachment is obsolete: true
Attachment #8861364 - Flags: review?(jmuizelaar)
Jeff, r? ping .... see bug 1175287 comment 2, where Adobe is specifically asking for this.
Flags: needinfo?(jmuizelaar)
Adobe Type chose not to compress the SVG documents in Trajan Color SVG (https://typekit.com/fonts/trajan-color) because Firefox didn't support it. Edge supports compression in OT-SVG, and Adobe apps (InDesign, Illustrator, Photoshop) all support it. Please do add support for gsiz-compressed SVG docs so that fonts can be shipped smaller. Thanks!
Can we please get this in?  Anyone else who can review this?
Is Chrome going to support OT-SVG?
Flags: needinfo?(mozilla)
Unfortunately not currently planned.  Emil said earlier today [0]: "At this time we have no plans to add support for OT-SVG. We'll keep monitoring the efforts and might reconsider in the future."

[0] https://bugs.chromium.org/p/chromium/issues/detail?id=306078#c22
Flags: needinfo?(mozilla)
I'm also of the opinion that it would be better to extend COLR/CPAL capabilities instead of including SVG in fonts. Adding gzip support adds additional implementation complexity and it's not clear how it interacts with woff compression. i.e. it's better to not have to compress things twice.
> I'm also of the opinion that it would be better to extend COLR/CPAL capabilities instead of including SVG in fonts.

A minimal profile for SVG in OT-SVG is being worked on by Microsoft, Apple, Google, Adobe, & others. This should help address Google's & Apple's concerns about a dedicated OT-SVG rasterizer. See https://bugs.chromium.org/p/chromium/issues/detail?id=306078#c21 and my subsequent comment on the growing success of OT-SVG adoption. We've been asking whether anyone from Mozilla wants to join the minimal profile working group – let me or Peter Constable at Microsoft, who's leading it, know if so.

(The min profile request was brought up years ago when OT-SVG was being initially created, by the way, but the SVG WG at the time said it had moved away from the concept of profiles.
Mozilla's concern about gzip was also brought up back then, and so the initial spec didn't have it. Smaller font files can be very useful for fonts that ship with small devices.)
Jeff, indeed gzip + WOFF/WOFF2 for OpenType-SVG fonts is not the best as WOFF2 only outputs a smaller file.
But I guess it still makes sense for non web distribution to reduce the file size with gzip.
I don't think this bug is the right place to discuss whether SVG+OT was a mistake or not. Mozilla was one of the two main parties developing and pushing for it. All I'm asking here is to finish implementation to match what the OpenType spec says, which is to support gzip-compressed documents. This is useful for system emoji fonts indeed and I like to switch to it eventually for Android.
Attachment #8861657 - Attachment is obsolete: true
Attachment #8861657 - Flags: review?(jmuizelaar)
Attachment #8861412 - Attachment is obsolete: true
Attachment #8861412 - Flags: review?(jmuizelaar)

Rebasing the patches here to current trunk; once the current soft-freeze is past, I think we should go ahead and fix this, as it's a pretty simple issue and represents a gap in our implementation.

Ah. I was hoping that by now this is widely deployed.

Jeff, can you please approve this despite your personal preferences? This is a small change to make Firefox comply with the standard. Thanks.

Yeah, I will.

Flags: needinfo?(jmuizelaar)

OT-SVG font EmojiOneColor, produced by Adobe Type, will not work with shipping Firefox due to its compressed SVG. The font is at https://github.com/adobe-fonts/emojione-color & is also bundled by flagship Adobe apps.

Glad to see that things look promising for a fix in Firefox. Thanks!

Do any other browsers support this font?

Actually, I'm confused about the urgency of this. As I understand it Edge will be dropping support for OT-SVG. What other software supports OT-SVG that we need to interoperate with? Why does Firefox need to be the only browser supporting OT-SVG?

Why does Firefox need to be the only browser supporting OT-SVG?

Because it originally chose to!!!

There's a lot of lobbying and politking going on behind the scenes to see if Chrome can be convinced to support SVG... I thought Safar also supports.

Other browsers which support OT-SVG, Safari & Edge, support compressed SVG. Firefox should as well.

FreeType's in the process of adding OT-SVG support, and the goal is for that to get into Google's ecosystem, including Chrome (& Chromium Edge).

Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a31ec848a1ef
When loading an SVG glyph, check if the SVG document is gz-compressed, and decompress before attempting to parse. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/02eea6ec83db
Reftest for SVG-in-OT font using gzip-compressed SVG glyph documents. r=jrmuizel

Backed out 2 changesets (Bug 1359240) for gfxSVGGlyphs.cpp bustages

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&fromchange=02eea6ec83db036098d8c629f400d2c5992193b3&tochange=103e78a861c4962b699b6bd483bd53cd23172d0d&selectedJob=247334371

Backout link: https://hg.mozilla.org/integration/autoland/rev/103e78a861c4962b699b6bd483bd53cd23172d0d

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=247334371&repo=autoland&lineNumber=29264

[task 2019-05-20T12:12:24.951Z] 12:12:24 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/thebes'
[task 2019-05-20T12:12:24.952Z] 12:12:24 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-darwin11 -o Unified_cpp_gfx_thebes1.o -c -fvisibility=hidden -fvisibility-inlines-hidden -DDEBUG=1 -DOS_POSIX=1 -DOS_MACOSX=1 -DGRAPHITE2_STATIC -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/gfx/thebes -I/builds/worker/workspace/build/src/obj-firefox/gfx/thebes -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/dom/xml -I/builds/worker/workspace/build/src/gfx/skia -I/builds/worker/workspace/build/src/gfx/skia/skia/include/config -I/builds/worker/workspace/build/src/gfx/skia/skia/include/core -I/builds/worker/workspace/build/src/gfx/skia/skia/include/docs -I/builds/worker/workspace/build/src/gfx/skia/skia/include/gpu -I/builds/worker/workspace/build/src/gfx/skia/skia/include/utils -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -stdlib=libc++ -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Werror -I/builds/worker/workspace/build/src/obj-firefox/dist/include/cairo -MD -MP -MF .deps/Unified_cpp_gfx_thebes1.o.pp /builds/worker/workspace/build/src/obj-firefox/gfx/thebes/Unified_cpp_gfx_thebes1.cpp
[task 2019-05-20T12:12:24.953Z] 12:12:24 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/gfx/thebes/Unified_cpp_gfx_thebes1.cpp:74:
[task 2019-05-20T12:12:24.953Z] 12:12:24 ERROR - /builds/worker/workspace/build/src/gfx/thebes/gfxSVGGlyphs.cpp:285:53: error: comparison of integers of different signs: 'long' and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare]
[task 2019-05-20T12:12:24.953Z] 12:12:24 INFO - MOZ_ASSERT(s.next_out - outBuf.Elements() == origLen);
[task 2019-05-20T12:12:24.953Z] 12:12:24 INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~
[task 2019-05-20T12:12:24.953Z] 12:12:24 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/Assertions.h:470:46: note: expanded from macro 'MOZ_ASSERT'
[task 2019-05-20T12:12:24.953Z] 12:12:24 INFO - # define MOZ_ASSERT(...) MOZ_RELEASE_ASSERT(VA_ARGS)
[task 2019-05-20T12:12:24.953Z] 12:12:24 INFO - ^~~~~~~~~~~
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/Assertions.h:467:8: note: expanded from macro 'MOZ_RELEASE_ASSERT'
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - (VA_ARGS))
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - ^~~~~~~~~~~
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/Assertions.h:463:41: note: expanded from macro 'MOZ_RELEASE_ASSERT_GLUE'
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - #define MOZ_RELEASE_ASSERT_GLUE(a, b) a b
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - ^
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/Assertions.h:445:51: note: expanded from macro 'MOZ_ASSERT_HELPER1'
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - if (MOZ_UNLIKELY(!MOZ_CHECK_ASSERT_ASSIGNMENT(expr))) {
[task 2019-05-20T12:12:24.954Z] 12:12:24 INFO - ^~~~
[task 2019-05-20T12:12:24.955Z] 12:12:24 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/StaticAnalysisFunctions.h:61:73: note: expanded from macro 'MOZ_CHECK_ASSERT_ASSIGNMENT'
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - # define MOZ_CHECK_ASSERT_ASSIGNMENT(expr) MOZ_AssertAssignmentTest(!!(expr))
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - ^~~~
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/Likely.h:17:48: note: expanded from macro 'MOZ_UNLIKELY'
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - # define MOZ_UNLIKELY(x) (__builtin_expect(!!(x), 0))
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - ^
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - 1 error generated.
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - /builds/worker/workspace/build/src/config/rules.mk:835: recipe for target 'Unified_cpp_gfx_thebes1.o' failed
[task 2019-05-20T12:12:24.956Z] 12:12:24 ERROR - make[4]: *** [Unified_cpp_gfx_thebes1.o] Error 1
[task 2019-05-20T12:12:24.956Z] 12:12:24 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/thebes'
[task 2019-05-20T12:12:24.957Z] 12:12:24 INFO - /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'gfx/thebes/target' failed
[task 2019-05-20T12:12:24.957Z] 12:12:24 ERROR - make[3]: *** [gfx/thebes/target] Error 2
[task 2019-05-20T12:12:24.957Z] 12:12:24 INFO - make[3]: *** Waiting for unfinished jobs....
[task 2019-05-20T12:12:24.959Z] 12:12:24 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/security/nss/cmd/pk12util/pk12util_pk12util'
[task 2019-05-20T12:12:24.960Z] 12:12:24 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-darwin11 -o ../../../../../dist/bin/pk12util -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -stdlib=libc++ -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Wl,-filelist,/builds/worker/workspace/build/src/obj-firefox/security/nss/cmd/pk12util/pk12util_pk12util/pk12util.list -Wl,-syslibroot,/builds/worker/workspace/build/src/MacOSX10.11.sdk -fstack-protector-strong -framework Cocoa -lobjc -framework AudioToolbox -framework ExceptionHandling -Wl,-executable_path,/builds/worker/workspace/build/src/obj-firefox/dist/bin -Wl,-dead_strip -pie ../../../../libnss3.dylib
[task 2019-05-20T12:12:24.960Z] 12:12:24 INFO - ld: warning: directory not found for option '-L/builds/worker/workspace/src/obj-firefox'

Flags: needinfo?(jfkthame)
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/50ef8f8c6558
When loading an SVG glyph, check if the SVG document is gz-compressed, and decompress before attempting to parse. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/10cac54d1bb9
Reftest for SVG-in-OT font using gzip-compressed SVG glyph documents. r=jrmuizel

Backed out 2 changesets for causing reftest failures.

Backout link: https://hg.mozilla.org/integration/autoland/rev/c4437f124150333c460bd9c261f84dfcf7de6e87

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=6519e35004283dc67e83ce49090480c724fac5bf&selectedJob=247361289

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=247361289&repo=autoland&lineNumber=4892

Log snippet: [task 2019-05-20T15:14:29.940Z] 15:14:29 INFO - REFTEST TEST-START | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed.html == file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html
[task 2019-05-20T15:14:29.941Z] 15:14:29 INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed.html | 23 / 24 (95%)
[task 2019-05-20T15:14:29.958Z] 15:14:29 INFO - ++DOMWINDOW == 42 (0x7f5a444d3800) [pid = 1875] [serial = 73] [outer = 0x7f5a481ccd40]
[task 2019-05-20T15:14:30.028Z] 15:14:30 INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html | 23 / 24 (95%)
[task 2019-05-20T15:14:30.049Z] 15:14:30 INFO - ++DOMWINDOW == 43 (0x7f5a444d5400) [pid = 1875] [serial = 74] [outer = 0x7f5a481ccd40]
[task 2019-05-20T15:14:30.385Z] 15:14:30 INFO - REFTEST TEST-UNEXPECTED-FAIL | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed.html == file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html | image comparison, max difference: 255, number of differing pixels: 207505
[task 2019-05-20T15:14:30.386Z] 15:14:30 INFO - REFTEST IMAGE 1 (TEST): data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAy<...>
[task 2019-05-20T15:14:30.392Z] 15:14:30 INFO - REFTEST IMAGE 2 (REFERENCE): data:image/png;base64,iVBORw0KGgoAAAANSUhEU<...>
[task 2019-05-20T15:14:30.397Z] 15:14:30 INFO - REFTEST INFO | Saved log: START file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed.html
[task 2019-05-20T15:14:30.398Z] 15:14:30 INFO - REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
[task 2019-05-20T15:14:30.399Z] 15:14:30 INFO - REFTEST INFO | Saved log: Initializing canvas snapshot
[task 2019-05-20T15:14:30.400Z] 15:14:30 INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
[task 2019-05-20T15:14:30.401Z] 15:14:30 INFO - REFTEST INFO | Saved log: [CONTENT] RecordResult fired
[task 2019-05-20T15:14:30.402Z] 15:14:30 INFO - REFTEST INFO | Saved log: RecordResult fired
[task 2019-05-20T15:14:30.403Z] 15:14:30 INFO - REFTEST INFO | Saved log: START file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html
[task 2019-05-20T15:14:30.404Z] 15:14:30 INFO - REFTEST INFO | Saved log: [CONTENT] OnDocumentLoad triggering AfterOnLoadScripts
[task 2019-05-20T15:14:30.405Z] 15:14:30 INFO - REFTEST INFO | Saved log: Initializing canvas snapshot
[task 2019-05-20T15:14:30.406Z] 15:14:30 INFO - REFTEST INFO | Saved log: DoDrawWindow 0,0,800,1000
[task 2019-05-20T15:14:30.407Z] 15:14:30 INFO - REFTEST INFO | Saved log: [CONTENT] RecordResult fired
[task 2019-05-20T15:14:30.407Z] 15:14:30 INFO - REFTEST INFO | Saved log: RecordResult fired
[task 2019-05-20T15:14:30.414Z] 15:14:30 INFO - REFTEST TEST-END | file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed.html == file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-compressed-ref.html
[task 2019-05-20T15:14:30.416Z] 15:14:30 INFO - ++DOMWINDOW == 44 (0x7f5a43ba1000) [pid = 1875] [serial = 75] [outer = 0x7f5a481ccd40]
[task 2019-05-20T15:14:30.417Z] 15:14:30 INFO - REFTEST INFO | Slowest test took 3142ms (file:///builds/worker/workspace/build/tests/reftest/tests/layout/reftests/text-svgglyphs/svg-glyph-extents.html)
[task 2019-05-20T15:14:30.418Z] 15:14:30 INFO - REFTEST INFO | Total canvas count = 0
[task 2019-05-20T15:14:30.418Z] 15:14:30 INFO - --DOMWINDOW == 43 (0x7f5a47463000) [pid = 1875] [serial = 54] [outer = (nil)] [url = data:text/html;charset=UTF-8,%3C%21%2D%2DCLEAR%2D%2D%3E]

Huh, that's weird... the reftest passed as expected on tryserver. Guess I'll do another round of testing...

Flags: needinfo?(jfkthame)
Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7fa400239990
When loading an SVG glyph, check if the SVG document is gz-compressed, and decompress before attempting to parse. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/3c7314a697e2
Reftest for SVG-in-OT font using gzip-compressed SVG glyph documents. r=jrmuizel
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69

FYI another test font "TestSVGgzip.otf" (contributed by Miguel Sousa of Adobe Type) is available in the "fonts" dir of https://github.com/unicode-org/text-rendering-tests, which is an area blessed by Sascha Brawer & others for OT test fonts to be shared in the community.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: