WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
143402
[Win] [SVG -> OTF Converter] Support the SVG -> OTF Font Converter
https://bugs.webkit.org/show_bug.cgi?id=143402
Summary
[Win] [SVG -> OTF Converter] Support the SVG -> OTF Font Converter
Myles C. Maxfield
Reported
2015-04-04 09:22:37 PDT
AddFontMemResourceEx is returning failure.
Attachments
Patch
(14.99 KB, patch)
2015-04-05 14:06 PDT
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(14.98 KB, patch)
2015-04-05 14:14 PDT
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(15.20 KB, patch)
2015-04-05 16:14 PDT
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews101 for mac-mavericks
(745.56 KB, application/zip)
2015-04-05 17:00 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews106 for mac-mavericks-wk2
(774.27 KB, application/zip)
2015-04-05 17:08 PDT
,
Build Bot
no flags
Details
Patch
(16.48 KB, patch)
2015-04-05 19:05 PDT
,
Myles C. Maxfield
darin
: review+
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews100 for mac-mavericks
(554.00 KB, application/zip)
2015-04-05 19:54 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews106 for mac-mavericks-wk2
(584.01 KB, application/zip)
2015-04-05 20:00 PDT
,
Build Bot
no flags
Details
Patch for landing
(16.75 KB, patch)
2015-04-05 22:21 PDT
,
Myles C. Maxfield
commit-queue
: commit-queue-
Details
Formatted Diff
Diff
Reduction
(42.79 KB, text/html)
2015-05-20 18:36 PDT
,
Myles C. Maxfield
no flags
Details
Reduction
(42.83 KB, text/html)
2015-05-20 18:43 PDT
,
Myles C. Maxfield
no flags
Details
Prospective patch
(4.61 KB, patch)
2015-11-15 13:13 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Prospective patch
(5.59 KB, patch)
2015-11-15 17:55 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Prospective patch
(5.64 KB, patch)
2015-11-15 18:07 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Prospective patch
(6.94 KB, patch)
2015-11-15 18:34 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Prospective patch
(3.56 KB, patch)
2015-11-15 18:46 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Prospective patch
(4.17 KB, patch)
2015-11-15 19:31 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Enable on Windows
(5.66 KB, patch)
2016-02-06 21:11 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Enable on Windows
(3.68 KB, patch)
2016-02-13 12:25 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(2.59 KB, patch)
2016-02-19 14:35 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(454.62 KB, patch)
2016-02-25 13:44 PST
,
Myles C. Maxfield
mmaxfield
: review-
Details
Formatted Diff
Diff
Patch
(450.88 KB, patch)
2016-02-25 14:10 PST
,
Myles C. Maxfield
no flags
Details
Formatted Diff
Diff
Patch
(452.17 KB, patch)
2016-02-25 14:38 PST
,
Myles C. Maxfield
achristensen
: review+
Details
Formatted Diff
Diff
Show Obsolete
(20)
View All
Add attachment
proposed patch, testcase, etc.
Myles C. Maxfield
Comment 1
2015-04-04 16:03:25 PDT
Looks like the checksums are being generated using the wrong endianness
Myles C. Maxfield
Comment 2
2015-04-04 22:14:03 PDT
The CFF private dict is required.
Myles C. Maxfield
Comment 3
2015-04-05 12:24:44 PDT
Windows also requires a CMAP table in format 4
Myles C. Maxfield
Comment 4
2015-04-05 14:06:19 PDT
Created
attachment 250165
[details]
Patch
WebKit Commit Bot
Comment 5
2015-04-05 14:07:44 PDT
Attachment 250165
[details]
did not pass style-queue: ERROR: Source/WebCore/svg/SVGToOTFFontConversion.cpp:1368: An else should appear on the same line as the preceding } [whitespace/newline] [4] Total errors found: 1 in 5 files If any of these errors are false positives, please file a bug against check-webkit-style.
Myles C. Maxfield
Comment 6
2015-04-05 14:14:28 PDT
Created
attachment 250166
[details]
Patch
Myles C. Maxfield
Comment 7
2015-04-05 16:14:02 PDT
Created
attachment 250173
[details]
Patch
Build Bot
Comment 8
2015-04-05 17:00:14 PDT
Comment on
attachment 250173
[details]
Patch
Attachment 250173
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/6257642922049536
Number of test failures exceeded the failure limit.
Build Bot
Comment 9
2015-04-05 17:00:17 PDT
Created
attachment 250176
[details]
Archive of layout-test-results from ews101 for mac-mavericks The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews101 Port: mac-mavericks Platform: Mac OS X 10.9.5
Build Bot
Comment 10
2015-04-05 17:08:23 PDT
Comment on
attachment 250173
[details]
Patch
Attachment 250173
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/5273942738599936
Number of test failures exceeded the failure limit.
Build Bot
Comment 11
2015-04-05 17:08:26 PDT
Created
attachment 250177
[details]
Archive of layout-test-results from ews106 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Myles C. Maxfield
Comment 12
2015-04-05 18:56:56 PDT
Comment on
attachment 250173
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=250173&action=review
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:339 > + append32(m_result.size() - startingOffset + 22); // Byte offset of subtable
Nope
Myles C. Maxfield
Comment 13
2015-04-05 19:05:03 PDT
Created
attachment 250186
[details]
Patch
Build Bot
Comment 14
2015-04-05 19:54:01 PDT
Comment on
attachment 250186
[details]
Patch
Attachment 250186
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/5394297385910272
New failing tests: platform/mac/svg/fonts/svg-font-general.html
Build Bot
Comment 15
2015-04-05 19:54:05 PDT
Created
attachment 250187
[details]
Archive of layout-test-results from ews100 for mac-mavericks The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-mavericks Platform: Mac OS X 10.9.5
Build Bot
Comment 16
2015-04-05 20:00:21 PDT
Comment on
attachment 250186
[details]
Patch
Attachment 250186
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/6322404586422272
New failing tests: platform/mac/svg/fonts/svg-font-general.html
Build Bot
Comment 17
2015-04-05 20:00:23 PDT
Created
attachment 250188
[details]
Archive of layout-test-results from ews106 for mac-mavericks-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-mavericks-wk2 Platform: Mac OS X 10.9.5
Darin Adler
Comment 18
2015-04-05 20:12:50 PDT
Comment on
attachment 250186
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=250186&action=review
Looks like this code is crashing on the Mac. I suggest making it not crash before landing ;)
> Source/WebCore/ChangeLog:10 > + 1. Checksums were being calculated with the wrong endianness
That’s the big one!
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:196 > + void appendFormat12CMAPTable(const Vector<std::pair<UChar32, Glyph>>& mappings); > + void appendFormat4CMAPTable(const Vector<std::pair<UChar32, Glyph>>& mappings);
Argument name doesn’t make sense here.
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:301 > + uint16_t searchRange = clampTo<uint16_t>(2 * static_cast<uint32_t>(originalSearchRange)); // searchRange: "2 x (2**floor(log2(segCount)))"
The cast to uint32_t is not needed here. The C language guarantees that expression will be done as-if-32-bit since our int is 32-bit, believe it or not.
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:311 > + append16(0x00); // reserved
This should either be append8, or 0x0000, or just 0.
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:328 > + overwrite16(subtableLocation + 2, clampTo<uint16_t>(m_result.size() - subtableLocation)); // FIXME: If we ever overrun here, choose a better encoding for the above table.
Confusing FIXME. It’s not like this comment is going to be here at runtime to help us!
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:335 > + append16(3); // Number subtables
Number of
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:617 > + const char privateDictIndexKey = 0x12;
Strange that this is hex and the rest is not.
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1363 > + m_ascent = m_unitsPerEm;
Why are we using m_unitsPerEm when it’s just the constant 0? Also, don’t we need this to be 1, not 0?
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1365 > + m_xHeight = m_unitsPerEm;
Why are we using m_unitsPerEm when it’s just the constant 0?
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1366 > + m_capHeight = m_fontFaceElement->ascent();
This will crash!
> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1467 > + sum += (static_cast<unsigned char>(m_result[offset + 3]))
Extra unneeded parentheses here. We should remove them.
Myles C. Maxfield
Comment 19
2015-04-05 22:16:13 PDT
Comment on
attachment 250186
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=250186&action=review
>> Source/WebCore/ChangeLog:10 >> + 1. Checksums were being calculated with the wrong endianness > > That’s the big one!
Yeah - turns out that mac doesn't pay attention at all to the checksums, so I didn't even know that it was being done incorrectly. Windows enforces them, though.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:196 >> + void appendFormat4CMAPTable(const Vector<std::pair<UChar32, Glyph>>& mappings); > > Argument name doesn’t make sense here.
Done.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:301 >> + uint16_t searchRange = clampTo<uint16_t>(2 * static_cast<uint32_t>(originalSearchRange)); // searchRange: "2 x (2**floor(log2(segCount)))" > > The cast to uint32_t is not needed here. The C language guarantees that expression will be done as-if-32-bit since our int is 32-bit, believe it or not.
Oh right, because "2" is an int.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:311 >> + append16(0x00); // reserved > > This should either be append8, or 0x0000, or just 0.
Done.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:328 >> + overwrite16(subtableLocation + 2, clampTo<uint16_t>(m_result.size() - subtableLocation)); // FIXME: If we ever overrun here, choose a better encoding for the above table. > > Confusing FIXME. It’s not like this comment is going to be here at runtime to help us!
Done.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:335 >> + append16(3); // Number subtables > > Number of
Done.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:617 >> + const char privateDictIndexKey = 0x12; > > Strange that this is hex and the rest is not.
Done.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1363 >> + m_ascent = m_unitsPerEm; > > Why are we using m_unitsPerEm when it’s just the constant 0? Also, don’t we need this to be 1, not 0?
Yes, though if there is no font face element, we're kind of hosed anyway.
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1365 >> + m_xHeight = m_unitsPerEm; > > Why are we using m_unitsPerEm when it’s just the constant 0?
There isn't really a reason - I don't know what the "right" answer but I've got to initialize it to something. m_unitsPerEm seems about as good as anything else (even if it was just set to 0)
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1366 >> + m_capHeight = m_fontFaceElement->ascent(); > > This will crash!
Whoops :(
>> Source/WebCore/svg/SVGToOTFFontConversion.cpp:1467 >> + sum += (static_cast<unsigned char>(m_result[offset + 3])) > > Extra unneeded parentheses here. We should remove them.
Done.
Myles C. Maxfield
Comment 20
2015-04-05 22:21:20 PDT
Created
attachment 250193
[details]
Patch for landing
WebKit Commit Bot
Comment 21
2015-04-06 08:01:07 PDT
Comment on
attachment 250193
[details]
Patch for landing Rejecting
attachment 250193
[details]
from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.appspot.com', '--bot-id=webkit-cq-01', 'validate-changelog', '--check-oops', '--non-interactive', 250193, '--port=mac']" exit_code: 1 cwd: /Volumes/Data/EWS/WebKit ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!. Full output:
http://webkit-queues.appspot.com/results/6415266074329088
Myles C. Maxfield
Comment 22
2015-04-06 08:31:43 PDT
Committed
r182423
: <
http://trac.webkit.org/changeset/182423
>
Myles C. Maxfield
Comment 23
2015-05-06 16:22:49 PDT
Rolled out in
r182443
Myles C. Maxfield
Comment 24
2015-05-06 16:23:33 PDT
Blocking
https://bugs.webkit.org/show_bug.cgi?id=144693
Myles C. Maxfield
Comment 25
2015-05-15 19:19:02 PDT
A simple test, for a good place to start: fast\text\font-with-no-space-glyph.html Another test that this causes to fail: fast\text\svg-font-face-with-kerning.html
Myles C. Maxfield
Comment 26
2015-05-15 23:04:04 PDT
Looks like these are the svg/ tests which are failing: svg\W3C-SVG-1.1-SE\color-prop-05-t.svg svg\W3C-SVG-1.1-SE\coords-dom-01-f.svg svg\W3C-SVG-1.1-SE\coords-dom-02-f.svg svg\W3C-SVG-1.1-SE\coords-dom-03-f.svg svg\W3C-SVG-1.1-SE\coords-dom-04-f.svg svg\W3C-SVG-1.1-SE\coords-units-03-b.svg svg\W3C-SVG-1.1-SE\filters-felem-01-b.svg svg\W3C-SVG-1.1-SE\filters-image-03-f.svg svg\W3C-SVG-1.1-SE\interact-pointer-03-t.svg svg\W3C-SVG-1.1-SE\painting-marker-07-f.svg svg\W3C-SVG-1.1-SE\paths-dom-02-f.svg svg\W3C-SVG-1.1-SE\pservers-grad-17-b.svg svg\W3C-SVG-1.1-SE\pservers-grad-20-b.svg svg\W3C-SVG-1.1-SE\pservers-pattern-03-f.svg svg\W3C-SVG-1.1-SE\pservers-pattern-04-f.svg svg\W3C-SVG-1.1-SE\struct-use-14-f.svg svg\W3C-SVG-1.1-SE\styling-css-04-f.svg svg\W3C-SVG-1.1-SE\styling-pres-02-f.svg svg\W3C-SVG-1.1-SE\svgdom-over-01-f.svg svg\W3C-SVG-1.1-SE\text-tref-03-b.svg svg\W3C-SVG-1.1-SE\text-tspan-02-b.svg svg\W3C-SVG-1.1-SE\types-dom-02-f.svg svg\W3C-SVG-1.1-SE\types-dom-03-b.svg svg\W3C-SVG-1.1-SE\types-dom-04-b.svg svg\W3C-SVG-1.1-SE\types-dom-05-b.svg svg\W3C-SVG-1.1-SE\types-dom-06-f.svg svg\W3C-SVG-1.1-SE\types-dom-07-f.svg svg\W3C-SVG-1.1\animate-elem-03-t.svg svg\W3C-SVG-1.1\animate-elem-24-t.svg svg\W3C-SVG-1.1\animate-elem-36-t.svg svg\W3C-SVG-1.1\animate-elem-40-t.svg svg\W3C-SVG-1.1\filters-light-04-f.svg svg\W3C-SVG-1.1\filters-turb-02-f.svg svg\W3C-SVG-1.1\fonts-desc-02-t.svg svg\W3C-SVG-1.1\fonts-elem-01-t.svg svg\W3C-SVG-1.1\fonts-elem-02-t.svg svg\W3C-SVG-1.1\fonts-elem-03-b.svg svg\W3C-SVG-1.1\fonts-elem-04-b.svg svg\W3C-SVG-1.1\fonts-elem-07-b.svg svg\W3C-SVG-1.1\fonts-glyph-02-t.svg svg\W3C-SVG-1.1\fonts-glyph-03-t.svg svg\W3C-SVG-1.1\fonts-kern-01-t.svg svg\W3C-SVG-1.1\masking-mask-01-b.svg svg\W3C-SVG-1.1\pservers-grad-08-b.svg svg\W3C-SVG-1.1\render-elems-06-t.svg svg\W3C-SVG-1.1\render-elems-07-t.svg svg\W3C-SVG-1.1\render-elems-08-t.svg svg\W3C-SVG-1.1\render-groups-01-b.svg svg\W3C-SVG-1.1\render-groups-03-t.svg svg\W3C-SVG-1.1\text-align-08-b.svg svg\W3C-SVG-1.1\text-altglyph-01-b.svg svg\W3C-SVG-1.1\text-fonts-03-t.svg svg\W3C-SVG-1.1\text-intro-01-t.svg svg\W3C-SVG-1.1\text-intro-02-b.svg svg\W3C-SVG-1.1\text-intro-03-b.svg svg\W3C-SVG-1.1\text-intro-04-t.svg svg\W3C-SVG-1.1\text-text-04-t.svg svg\W3C-SVG-1.1\text-text-05-t.svg svg\W3C-SVG-1.1\text-text-06-t.svg svg\batik\text\textEffect.svg svg\batik\text\textEffect3.svg svg\batik\text\textPosition2.svg svg\batik\text\xmlSpace.svg svg\custom\altglyph.svg svg\custom\glyph-selection-arabic-forms.svg svg\custom\glyph-selection-lang-attribute.svg svg\custom\glyph-selection-non-bmp.svg svg\custom\glyph-setting-d-attribute.svg svg\custom\glyph-transformation-with-hkern.svg svg\custom\svg-fonts-in-html.html svg\custom\svg-fonts-in-text-controls.html svg\custom\svg-fonts-no-latin-glyph.html svg\custom\svg-fonts-segmented.xhtml svg\custom\svg-fonts-with-no-element-reference.html svg\custom\svg-fonts-without-missing-glyph.xhtml svg\custom\svg-fonts-word-spacing.html svg\foreignObject\text-tref-02-b.svg svg\text\kerning.svg svg\text\multichar-glyph.svg svg\text\svg-font-word-rounding-hacks-spaces.html svg\text\text-altglyph-01-b.svg svg\text\text-hkern-on-vertical-text.svg svg\text\text-hkern.svg svg\text\text-overflow-ellipsis-svgfont-kerning-ligatures.html svg\text\text-overflow-ellipsis-svgfont.html svg\text\text-text-04-t.svg svg\text\text-text-05-t.svg svg\text\text-text-06-t.svg svg\text\text-vkern-on-horizontal-text.svg svg\text\text-vkern.svg svg\transforms\text-with-mask-with-svg-transform.svg svg\wicd\test-rightsizing-b.xhtml
Myles C. Maxfield
Comment 27
2015-05-15 23:35:53 PDT
After looking over the list of failures, these are the tests which aren't simply a rebaseline: svg\W3C-SVG-1.1-SE\types-dom-06-f.svg svg\W3C-SVG-1.1\animate-elem-03-t.svg svg\W3C-SVG-1.1\animate-elem-24-t.svg svg\W3C-SVG-1.1\animate-elem-36-t.svg svg\W3C-SVG-1.1\animate-elem-40-t.svg svg\W3C-SVG-1.1\fonts-desc-02-t.svg +svg\W3C-SVG-1.1\fonts-elem-01-t.svg +svg\W3C-SVG-1.1\fonts-elem-02-t.svg +svg\W3C-SVG-1.1\fonts-elem-03-b.svg +svg\W3C-SVG-1.1\fonts-elem-04-b.svg +svg\W3C-SVG-1.1\fonts-elem-07-b.svg +svg\W3C-SVG-1.1\fonts-glyph-02-t.svg +svg\W3C-SVG-1.1\fonts-glyph-03-t.svg svg\W3C-SVG-1.1\fonts-kern-01-t.svg svg\W3C-SVG-1.1\masking-mask-01-b.svg svg\W3C-SVG-1.1\pservers-grad-08-b.svg svg\W3C-SVG-1.1\render-elems-06-t.svg svg\W3C-SVG-1.1\render-elems-07-t.svg svg\W3C-SVG-1.1\render-elems-08-t.svg svg\W3C-SVG-1.1\render-groups-01-b.svg svg\W3C-SVG-1.1\render-groups-03-t.svg svg\W3C-SVG-1.1\text-align-08-b.svg svg\W3C-SVG-1.1\text-altglyph-01-b.svg svg\W3C-SVG-1.1\text-fonts-03-t.svg svg\W3C-SVG-1.1\text-intro-01-t.svg svg\W3C-SVG-1.1\text-intro-02-b.svg svg\W3C-SVG-1.1\text-intro-03-b.svg svg\W3C-SVG-1.1\text-intro-04-t.svg svg\W3C-SVG-1.1\text-text-04-t.svg svg\W3C-SVG-1.1\text-text-05-t.svg svg\W3C-SVG-1.1\text-text-06-t.svg svg\batik\text\textEffect.svg svg\batik\text\textEffect3.svg svg\batik\text\textPosition2.svg svg\batik\text\xmlSpace.svg svg\custom\altglyph.svg svg\custom\glyph-selection-arabic-forms.svg svg\custom\glyph-selection-lang-attribute.svg svg\custom\glyph-selection-non-bmp.svg svg\custom\glyph-setting-d-attribute.svg svg\custom\glyph-transformation-with-hkern.svg svg\custom\svg-fonts-in-text-controls.html svg\custom\svg-fonts-no-latin-glyph.html svg\custom\svg-fonts-segmented.xhtml svg\text\kerning.svg svg\text\multichar-glyph.svg svg\text\svg-font-word-rounding-hacks-spaces.html svg\text\text-altglyph-01-b.svg svg\text\text-hkern-on-vertical-text.svg svg\text\text-hkern.svg svg\text\text-overflow-ellipsis-svgfont-kerning-ligatures.html svg\text\text-overflow-ellipsis-svgfont.html svg\text\text-text-04-t.svg svg\text\text-text-05-t.svg svg\text\text-text-06-t.svg svg\text\text-vkern-on-horizontal-text.svg svg\text\text-vkern.svg svg\transforms\text-with-mask-with-svg-transform.svg svg\wicd\test-rightsizing-b.xhtml
Myles C. Maxfield
Comment 28
2015-05-20 18:29:24 PDT
Looks like external SVG fonts work, but in-document SVG fonts don't.
Myles C. Maxfield
Comment 29
2015-05-20 18:36:06 PDT
Created
attachment 253487
[details]
Reduction
Myles C. Maxfield
Comment 30
2015-05-20 18:43:02 PDT
Created
attachment 253489
[details]
Reduction
Myles C. Maxfield
Comment 31
2015-05-20 18:46:06 PDT
(In reply to
comment #28
)
> Looks like external SVG fonts work, but in-document SVG fonts don't.
Nevermind. This is incorrect.
Myles C. Maxfield
Comment 32
2015-05-20 19:11:10 PDT
It's a caching problem. If you visit the reduction, change the contents of the font data inside the .html file, then reload the page, the page does not update to include your edits. (And if you change the content in the rest of the .html file, it does update)
Myles C. Maxfield
Comment 33
2015-11-15 13:13:06 PST
Created
attachment 265561
[details]
Prospective patch
Myles C. Maxfield
Comment 34
2015-11-15 16:19:09 PST
(In reply to
comment #32
)
> It's a caching problem. If you visit the reduction, change the contents of > the font data inside the .html file, then reload the page, the page does not > update to include your edits. (And if you change the content in the rest of > the .html file, it does update)
This is true, but it's a red herring. The font is simply cached in our memory cache.
Myles C. Maxfield
Comment 35
2015-11-15 17:55:29 PST
Created
attachment 265563
[details]
Prospective patch
Myles C. Maxfield
Comment 36
2015-11-15 18:07:06 PST
Created
attachment 265564
[details]
Prospective patch
Myles C. Maxfield
Comment 37
2015-11-15 18:34:16 PST
Created
attachment 265565
[details]
Prospective patch
Myles C. Maxfield
Comment 38
2015-11-15 18:46:11 PST
Created
attachment 265566
[details]
Prospective patch
Myles C. Maxfield
Comment 39
2015-11-15 19:31:06 PST
Created
attachment 265569
[details]
Prospective patch
Myles C. Maxfield
Comment 40
2015-11-15 19:57:45 PST
svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows the glyphs being rendered too large.
Myles C. Maxfield
Comment 41
2015-11-21 18:51:47 PST
We have a #if ENABLE(SVG_FONTS) in CSSFontSelector::getFontFace() which could be deleted when SVG fonts go away.
Myles C. Maxfield
Comment 42
2016-02-06 15:39:41 PST
r192930
fixed the glyph sizing issue. svg\W3C-SVG-1.1-SE\types-dom-06-f.svg should just be a rebaseline.
Alex Christensen
Comment 43
2016-02-06 17:23:04 PST
Comment on
attachment 250186
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=250186&action=review
> WebKitLibraries/win/tools/vsprops/FeatureDefines.props:77 > - <ENABLE_SVG_OTF_CONVERTER /> > + <ENABLE_SVG_OTF_CONVERTER>ENABLE_SVG_OTF_CONVERTER</ENABLE_SVG_OTF_CONVERTER>
This is great, but changing Source/cmake/PlatformWin.cmake will change whether the feature is enabled or not.
Myles C. Maxfield
Comment 44
2016-02-06 21:11:20 PST
Created
attachment 270814
[details]
Enable on Windows
Myles C. Maxfield
Comment 45
2016-02-06 21:16:25 PST
Attachment 270814
[details]
fixes the svg\W3C-SVG-1.1\animate* tests.
Myles C. Maxfield
Comment 46
2016-02-06 21:39:50 PST
(In reply to
comment #45
)
>
Attachment 270814
[details]
fixes the svg\W3C-SVG-1.1\animate* tests.
I've made good progress. Here is the list of remaining failures. Note that I'm not including altglyph tests (because we don't support altglyph) and kerning tests (because Windows doesn't respect the 'kern' table, in favor of 'GPOS'). svg\W3C-SVG-1.1\fonts-desc-02-t.svg svg\W3C-SVG-1.1\fonts-glyph-03-t.svg svg\W3C-SVG-1.1\masking-mask-01-b.svg svg\W3C-SVG-1.1\pservers-grad-08-b.svg svg\W3C-SVG-1.1\text-align-08-b.svg svg\W3C-SVG-1.1\text-intro-01-t.svg svg\W3C-SVG-1.1\text-intro-02-b.svg svg\W3C-SVG-1.1\text-intro-03-b.svg svg\W3C-SVG-1.1\text-intro-04-t.svg svg\W3C-SVG-1.1\text-text-06-t.svg svg\batik\text\textEffect.svg svg\batik\text\textEffect3.svg svg\custom\glyph-selection-lang-attribute.svg svg\custom\glyph-selection-non-bmp.svg svg\text\multichar-glyph.svg svg\text\text-overflow-ellipsis-svgfont.html svg\text\text-text-06-t.svg
Myles C. Maxfield
Comment 47
2016-02-06 21:51:26 PST
A better list (this one omits tests which are marked as failing on Mac, because both platforms use the same converter, there's no reason why anything would pass on Windows which fails on Mac) svg\W3C-SVG-1.1\fonts-glyph-03-t.svg svg\W3C-SVG-1.1\masking-mask-01-b.svg svg\W3C-SVG-1.1\pservers-grad-08-b.svg svg\W3C-SVG-1.1\text-align-08-b.svg svg\W3C-SVG-1.1\text-intro-01-t.svg svg\W3C-SVG-1.1\text-intro-02-b.svg svg\W3C-SVG-1.1\text-intro-03-b.svg svg\W3C-SVG-1.1\text-intro-04-t.svg svg\batik\text\textEffect3.svg svg\custom\glyph-selection-lang-attribute.svg svg\custom\glyph-selection-non-bmp.svg svg\text\multichar-glyph.svg svg\text\text-overflow-ellipsis-svgfont.html
Myles C. Maxfield
Comment 48
2016-02-06 22:07:03 PST
We also don't support the lang attribute, so let's omit those tests as well. Here is the new list of failing tests: svg\W3C-SVG-1.1\masking-mask-01-b.svg svg\W3C-SVG-1.1\pservers-grad-08-b.svg svg\W3C-SVG-1.1\text-align-08-b.svg svg\W3C-SVG-1.1\text-intro-01-t.svg svg\W3C-SVG-1.1\text-intro-02-b.svg svg\W3C-SVG-1.1\text-intro-03-b.svg svg\W3C-SVG-1.1\text-intro-04-t.svg svg\batik\text\textEffect3.svg svg\custom\glyph-selection-non-bmp.svg svg\text\multichar-glyph.svg svg\text\text-overflow-ellipsis-svgfont.html
Myles C. Maxfield
Comment 49
2016-02-06 22:16:55 PST
I've sorted these failing tests into buckets: Multichar characters are invisible: svg\W3C-SVG-1.1\text-align-08-b.svg svg\W3C-SVG-1.1\text-intro-01-t.svg svg\W3C-SVG-1.1\text-intro-02-b.svg svg\W3C-SVG-1.1\text-intro-04-t.svg svg\custom\glyph-selection-non-bmp.svg svg\text\multichar-glyph.svg Vertical advances are not being calculated correctly: svg\W3C-SVG-1.1\text-intro-03-b.svg Unknown: svg\W3C-SVG-1.1\masking-mask-01-b.svg svg\W3C-SVG-1.1\pservers-grad-08-b.svg svg\batik\text\textEffect3.svg svg\text\text-overflow-ellipsis-svgfont.html
Myles C. Maxfield
Comment 50
2016-02-13 12:25:30 PST
Created
attachment 271293
[details]
Enable on Windows
Myles C. Maxfield
Comment 51
2016-02-13 15:59:14 PST
(In reply to
comment #50
)
> Created
attachment 271293
[details]
> Enable on Windows
https://bugs.webkit.org/show_bug.cgi?id=154222
fixes all the tests above labelled "Unknown." I think we're at the point where I'm comfortable filing bugs for the known issues and turning this on for Windows.
Myles C. Maxfield
Comment 52
2016-02-19 14:35:15 PST
Created
attachment 271802
[details]
Patch
Myles C. Maxfield
Comment 53
2016-02-22 11:19:56 PST
Ryan: I plan to turn this on for Windows sometime in the next few days. There may (will almost certainly be) some test fallout (on Windows only) so I'm giving you a heads up. I'm trying to do everything I can to minimize the problems but we'll see what happens!! Very exciting time!!
Myles C. Maxfield
Comment 54
2016-02-25 13:44:30 PST
Created
attachment 272232
[details]
Patch
Alex Christensen
Comment 55
2016-02-25 13:57:24 PST
Comment on
attachment 272232
[details]
Patch I don't understand why you only have one change in OptionsWin.cmake, but you have efl expectations changes and mac TestExpectations changes.
Myles C. Maxfield
Comment 56
2016-02-25 14:10:34 PST
Created
attachment 272236
[details]
Patch
Myles C. Maxfield
Comment 57
2016-02-25 14:11:56 PST
Comment on
attachment 272236
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=272236&action=review
> LayoutTests/ChangeLog:18 > + * platform/mac/TestExpectations:
platform/win/TestExpectations
Myles C. Maxfield
Comment 58
2016-02-25 14:38:11 PST
Created
attachment 272242
[details]
Patch
Myles C. Maxfield
Comment 59
2016-02-25 16:33:39 PST
Committed
r197145
: <
http://trac.webkit.org/changeset/197145
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug