Title: [127354] trunk
Revision
127354
Author
[email protected]
Date
2012-08-31 21:06:02 -0700 (Fri, 31 Aug 2012)

Log Message

Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=51450

Patch by Koji Ishii <[email protected]> on 2012-08-31
Reviewed by Tony Chang.

When writing-mode is vertical-*, Chromium Win does not render glyphs correctly.
http://dev.w3.org/csswg/css3-writing-modes/#writing-mode
Glyphs are now drawn in the correct orientation, regardless of the leading '@' in the font name,
and vertical alternate glyphs (OpenType 'vert' feature) is not enabled.
CJK characters drawn at wrong baseline position is also fixed.
In addition, fontMetrics().unitsPerEm() and SimpleFontData::platformBoundsForGlyph() were empty
in Chromium Win but they were implemented because they were needed to draw vertical flow correctly.

Note that this patch does not address issues in vertical flow for complex code path.
The issue is under discussion with Google people and it will not be fixed in short term.

Source/WebKit/chromium:

Existing tests in fast/writing-mode/* are enabled in LayoutTests/platform/chromium/TestExpectations.

* features.gypi: ENABLE_OPENTYPE_VERTICAL=1.

LayoutTests:

* fast/text/international/text-spliced-font.html: Added "MS Gothic" to the font list so that Japanese font is chosen on Windows.
* fast/writing-mode/border-vertical-lr.html: Ditto.
* fast/writing-mode/japanese-lr-selection.html: Ditto.
* fast/writing-mode/japanese-lr-text.html: Ditto.
* fast/writing-mode/japanese-rl-selection.html: Ditto.
* fast/writing-mode/japanese-rl-text.html: Ditto.
* platform/chromium/TestExpectations: writing-mode and vertical tests are separated to rebase later.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (127353 => 127354)


--- trunk/LayoutTests/ChangeLog	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/ChangeLog	2012-09-01 04:06:02 UTC (rev 127354)
@@ -1,3 +1,29 @@
+2012-08-31  Koji Ishii  <[email protected]>
+
+        Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows
+        https://bugs.webkit.org/show_bug.cgi?id=51450
+
+        Reviewed by Tony Chang.
+
+        When writing-mode is vertical-*, Chromium Win does not render glyphs correctly.
+        http://dev.w3.org/csswg/css3-writing-modes/#writing-mode
+        Glyphs are now drawn in the correct orientation, regardless of the leading '@' in the font name,
+        and vertical alternate glyphs (OpenType 'vert' feature) is not enabled.
+        CJK characters drawn at wrong baseline position is also fixed.
+        In addition, fontMetrics().unitsPerEm() and SimpleFontData::platformBoundsForGlyph() were empty
+        in Chromium Win but they were implemented because they were needed to draw vertical flow correctly.
+
+        Note that this patch does not address issues in vertical flow for complex code path.
+        The issue is under discussion with Google people and it will not be fixed in short term.
+
+        * fast/text/international/text-spliced-font.html: Added "MS Gothic" to the font list so that Japanese font is chosen on Windows.
+        * fast/writing-mode/border-vertical-lr.html: Ditto.
+        * fast/writing-mode/japanese-lr-selection.html: Ditto.
+        * fast/writing-mode/japanese-lr-text.html: Ditto.
+        * fast/writing-mode/japanese-rl-selection.html: Ditto.
+        * fast/writing-mode/japanese-rl-text.html: Ditto.
+        * platform/chromium/TestExpectations: writing-mode and vertical tests are separated to rebase later.
+
 2012-08-31  Nate Chapin  <[email protected]>
 
         Unskip fast/loader/document-destruction-within-unload.html

Modified: trunk/LayoutTests/fast/text/international/text-spliced-font.html (127353 => 127354)


--- trunk/LayoutTests/fast/text/international/text-spliced-font.html	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/fast/text/international/text-spliced-font.html	2012-09-01 04:06:02 UTC (rev 127354)
@@ -5,7 +5,7 @@
 <title>spliced font test</title>
 <style>
 body {
-font-family: "HiraMaruMono-W4";
+font-family: "HiraMaruMono-W4", "MS Gothic";
 font-size: 12pt;
 }
 #horizontal_TB {

Modified: trunk/LayoutTests/fast/writing-mode/border-vertical-lr.html (127353 => 127354)


--- trunk/LayoutTests/fast/writing-mode/border-vertical-lr.html	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/fast/writing-mode/border-vertical-lr.html	2012-09-01 04:06:02 UTC (rev 127354)
@@ -4,7 +4,7 @@
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <style>
 body {
-    font-family: "HiraMinPro-W3";
+    font-family: "HiraMinPro-W3", "MS Gothic";
     font-size: 16pt;
     line-height:3
 }

Modified: trunk/LayoutTests/fast/writing-mode/japanese-lr-selection.html (127353 => 127354)


--- trunk/LayoutTests/fast/writing-mode/japanese-lr-selection.html	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/fast/writing-mode/japanese-lr-selection.html	2012-09-01 04:06:02 UTC (rev 127354)
@@ -4,7 +4,7 @@
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <style>
 body {
-    font-family: "HiraMinPro-W3";
+    font-family: "HiraMinPro-W3", "MS Gothic";
     font-size: 16pt;
 }
 </style>

Modified: trunk/LayoutTests/fast/writing-mode/japanese-lr-text.html (127353 => 127354)


--- trunk/LayoutTests/fast/writing-mode/japanese-lr-text.html	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/fast/writing-mode/japanese-lr-text.html	2012-09-01 04:06:02 UTC (rev 127354)
@@ -4,7 +4,7 @@
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <style>
 body {
-    font-family: "HiraMinPro-W3";
+    font-family: "HiraMinPro-W3", "MS Gothic";
     font-size: 16pt;
 }
 </style>

Modified: trunk/LayoutTests/fast/writing-mode/japanese-rl-selection.html (127353 => 127354)


--- trunk/LayoutTests/fast/writing-mode/japanese-rl-selection.html	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/fast/writing-mode/japanese-rl-selection.html	2012-09-01 04:06:02 UTC (rev 127354)
@@ -4,7 +4,7 @@
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <style>
 body {
-    font-family: "HiraMinPro-W3";
+    font-family: "HiraMinPro-W3", "MS Gothic";
     font-size: 16pt;
 }
 </style>

Modified: trunk/LayoutTests/fast/writing-mode/japanese-rl-text.html (127353 => 127354)


--- trunk/LayoutTests/fast/writing-mode/japanese-rl-text.html	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/fast/writing-mode/japanese-rl-text.html	2012-09-01 04:06:02 UTC (rev 127354)
@@ -4,7 +4,7 @@
 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 <style>
 body {
-    font-family: "HiraMinPro-W3";
+    font-family: "HiraMinPro-W3", "MS Gothic";
     font-size: 16pt;
 }
 </style>

Modified: trunk/LayoutTests/platform/chromium/TestExpectations (127353 => 127354)


--- trunk/LayoutTests/platform/chromium/TestExpectations	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/LayoutTests/platform/chromium/TestExpectations	2012-09-01 04:06:02 UTC (rev 127354)
@@ -2111,20 +2111,48 @@
 BUGCR143476 : fast/js/date-parse-test.html = TEXT
 
 // Vertical text needs to be implemented in platforms other than OS X.
-BUGCR65877 LINUX ANDROID WIN : fast/writing-mode/border-vertical-lr.html = IMAGE+TEXT
-BUGCR65877 : fast/writing-mode/japanese-lr-selection.html = IMAGE+TEXT IMAGE
-BUGCR65877 : fast/writing-mode/japanese-rl-selection.html = IMAGE+TEXT IMAGE
-BUGCR65877 : fast/writing-mode/japanese-ruby-vertical-lr.html = PASS IMAGE+TEXT
-BUGCR65877 : fast/writing-mode/japanese-ruby-vertical-rl.html = PASS IMAGE+TEXT
-BUGCR65877 : fast/writing-mode/japanese-ruby-horizontal-bt.html = PASS IMAGE+TEXT
+BUGCR65877 LINUX ANDROID : fast/writing-mode/border-vertical-lr.html = IMAGE+TEXT
+BUGCR65877 LINUX ANDROID : fast/writing-mode/japanese-lr-selection.html = IMAGE+TEXT IMAGE
+BUGCR65877 LINUX ANDROID : fast/writing-mode/japanese-rl-selection.html = IMAGE+TEXT IMAGE
+BUGCR65877 LINUX ANDROID : fast/writing-mode/japanese-ruby-vertical-lr.html = PASS IMAGE+TEXT
+BUGCR65877 LINUX ANDROID : fast/writing-mode/japanese-ruby-vertical-rl.html = PASS IMAGE+TEXT
+BUGCR65877 LINUX ANDROID : fast/writing-mode/japanese-ruby-horizontal-bt.html = PASS IMAGE+TEXT
 BUGCR65877 LINUX : fast/writing-mode/broken-ideographic-font.html = IMAGE+TEXT
-BUGWK95052 WIN : fast/writing-mode/broken-ideographic-font.html = TEXT
-BUGCR65877 LINUX ANDROID WIN : fast/writing-mode/vertical-font-fallback.html = IMAGE+TEXT
+BUGCR65877 LINUX ANDROID : fast/writing-mode/vertical-font-fallback.html = IMAGE+TEXT
 //BUGCR65877 LINUX ANDROID WIN : fast/writing-mode/broken-ideograph-small-caps.html = IMAGE
-BUGCR65877 LINUX ANDROID WIN : fast/writing-mode/Kusa-Makura-background-canvas.html = IMAGE+TEXT
+BUGCR65877 LINUX ANDROID : fast/writing-mode/Kusa-Makura-background-canvas.html = IMAGE+TEXT
 BUGCR65877 WIN : fast/text/international/text-combine-image-test.html = IMAGE+TEXT
 BUGWK53451 LINUX ANDROID : fast/text/international/text-combine-image-test.html = IMAGE+TEXT
+BUGWK94410 LINUX ANDROID WIN : fast/writing-mode/vertical-baseline-alignment.html = IMAGE
 
+// Need rebaseline
+BUGWK51450 WIN : editing/selection/vertical-lr-ltr-extend-line-backward-br.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-lr-ltr-extend-line-forward-br.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-rl-ltr-extend-line-backward-br.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-rl-ltr-extend-line-backward-p.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-rl-ltr-extend-line-forward-br.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-rl-ltr-extend-line-forward-p.html = IMAGE+TEXT
+BUGWK51450 WIN : editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/dynamic/text-combine.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/repaint/repaint-across-writing-mode-boundary.html = IMAGE
+BUGWK51450 WIN : fast/ruby/base-shorter-than-text.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/text/international/text-spliced-font.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/Kusa-Makura-background-canvas.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/border-vertical-lr.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/broken-ideographic-font.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/fallback-orientation.html = IMAGE
+BUGWK51450 WIN : fast/writing-mode/japanese-lr-selection.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/japanese-lr-text.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/japanese-rl-selection.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/japanese-rl-text.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/japanese-rl-text-with-broken-font.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/japanese-ruby-vertical-lr.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/japanese-ruby-vertical-rl.html = IMAGE+TEXT
+BUGWK51450 WIN : fast/writing-mode/vertical-align-table-baseline.html = IMAGE
+BUGWK51450 WIN : fast/writing-mode/vertical-font-fallback.html = TEXT
+BUGWK51450 WIN : media/track/track-cue-rendering-vertical.html = IMAGE+TEXT
+
 // New test, introduced by http://trac.webkit.org/changeset/70813 with only platform/mac baselines.
 BUGWK61161 LINUX ANDROID WIN : fast/writing-mode/border-image-horizontal-bt.html = IMAGE+TEXT
 BUGWK61161 LINUX ANDROID WIN : fast/writing-mode/border-image-vertical-rl.html = IMAGE+TEXT
@@ -2590,9 +2618,6 @@
 BUGWK65124 WIN : fast/repaint/japanese-rl-selection-repaint.html = IMAGE+TEXT
 BUGWK65124 WIN LINUX ANDROID : fast/repaint/japanese-rl-selection-repaint-in-regions.html = IMAGE+TEXT
 BUGWK65124 WIN LINUX ANDROID : fast/repaint/line-flow-with-floats-in-regions.html = IMAGE+TEXT
-BUGWK65124 WIN : fast/writing-mode/japanese-lr-text.html = IMAGE+TEXT
-BUGWK65124 WIN : fast/writing-mode/japanese-rl-text-with-broken-font.html = IMAGE+TEXT
-BUGWK65124 WIN : fast/writing-mode/japanese-rl-text.html = IMAGE+TEXT
 
 BUGWK65199 LINUX ANDROID WIN SNOWLEOPARD : fast/writing-mode/broken-ideograph-small-caps.html = IMAGE+TEXT
 

Modified: trunk/Source/WebKit/chromium/ChangeLog (127353 => 127354)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-09-01 04:06:02 UTC (rev 127354)
@@ -1,3 +1,25 @@
+2012-08-31  Koji Ishii  <[email protected]>
+
+        Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows
+        https://bugs.webkit.org/show_bug.cgi?id=51450
+
+        Reviewed by Tony Chang.
+
+        When writing-mode is vertical-*, Chromium Win does not render glyphs correctly.
+        http://dev.w3.org/csswg/css3-writing-modes/#writing-mode
+        Glyphs are now drawn in the correct orientation, regardless of the leading '@' in the font name,
+        and vertical alternate glyphs (OpenType 'vert' feature) is not enabled.
+        CJK characters drawn at wrong baseline position is also fixed.
+        In addition, fontMetrics().unitsPerEm() and SimpleFontData::platformBoundsForGlyph() were empty
+        in Chromium Win but they were implemented because they were needed to draw vertical flow correctly.
+
+        Note that this patch does not address issues in vertical flow for complex code path.
+        The issue is under discussion with Google people and it will not be fixed in short term.
+
+        Existing tests in fast/writing-mode/* are enabled in LayoutTests/platform/chromium/TestExpectations.
+
+        * features.gypi: ENABLE_OPENTYPE_VERTICAL=1.
+
 2012-08-31  W. James MacLean  <[email protected]>
 
         [chromium] Make link highlighter use same node selection criteria as Chromium for Android.

Modified: trunk/Source/WebKit/chromium/features.gypi (127353 => 127354)


--- trunk/Source/WebKit/chromium/features.gypi	2012-09-01 03:46:00 UTC (rev 127353)
+++ trunk/Source/WebKit/chromium/features.gypi	2012-09-01 04:06:02 UTC (rev 127354)
@@ -200,6 +200,11 @@
           'WTF_USE_WEBAUDIO_FFMPEG=1',
         ],
       }],
+      ['OS=="win"', {
+        'feature_defines': [
+          'ENABLE_OPENTYPE_VERTICAL=1',
+        ],
+      }],
       ['enable_web_intents==1', {
         'feature_defines': [
           'ENABLE_WEB_INTENTS=1',
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to