Diff
Modified: trunk/ChangeLog (183583 => 183584)
--- trunk/ChangeLog 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/ChangeLog 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1,3 +1,14 @@
+2015-04-29 Martin Robinson <[email protected]>
+
+ [GTK] Add support for automatic hyphenation
+ https://bugs.webkit.org/show_bug.cgi?id=44478
+
+ Reviewed by Carlos Garcia Campos.
+
+ * Source/cmake/FindHyphen.cmake: Added. A CMake module for finding libhyphen.
+ * Source/cmake/OptionsGTK.cmake: Look for libhyphen and enable hyphenation if found.
+ * Source/cmakeconfig.h.cmake: Pass through the whether libhyphen is enabled.
+
2015-04-29 Jake Nielsen <[email protected]>
Failure when building WebKit for appletvsimulator.
Modified: trunk/LayoutTests/ChangeLog (183583 => 183584)
--- trunk/LayoutTests/ChangeLog 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/ChangeLog 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1,3 +1,25 @@
+2015-04-29 Martin Robinson <[email protected]>
+
+ [GTK] Add support for automatic hyphenation
+ https://bugs.webkit.org/show_bug.cgi?id=44478
+
+ Reviewed by Carlos Garcia Campos.
+
+ * platform/gtk/TestExpectations: Unskip most hyphenation tests.
+ * platform/gtk/fast/text/hyphenate-character-expected.png: Added.
+ * platform/gtk/fast/text/hyphenate-character-expected.txt:
+ * platform/gtk/fast/text/hyphenate-first-word-expected.png: Added.
+ * platform/gtk/fast/text/hyphenate-first-word-expected.txt:
+ * platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
+ * platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
+ * platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
+ * platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
+ * platform/gtk/fast/text/hyphenate-locale-expected.png: Added.
+ * platform/gtk/fast/text/hyphenate-locale-expected.txt:
+ * platform/gtk/fast/text/hyphens-expected.png: Added.
+ * platform/gtk/fast/text/hyphens-expected.txt:
+ * platform/gtk/fast/text/word-break-soft-hyphen-expected.png:
+
2015-04-29 Zalan Bujtas <[email protected]>
Simple line layout: Web process spins endlessly below layoutSimpleLines.
Modified: trunk/LayoutTests/platform/gtk/TestExpectations (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/TestExpectations 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/TestExpectations 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1676,13 +1676,6 @@
# keygen element rendering is broken
webkit.org/b/54136 http/tests/misc/submit-post-keygen.html [ Failure ]
-# [GTK] GTK+ does not support hyphenation
-webkit.org/b/44478 fast/text/hyphenate-character.html [ Skip ]
-webkit.org/b/44478 fast/text/hyphens.html [ Skip ]
-webkit.org/b/44478 fast/text/hyphenate-first-word.html [ Skip ]
-webkit.org/b/44478 fast/text/hyphenate-locale.html [ Skip ]
-webkit.org/b/44478 fast/text/hyphen-min-preferred-width.html [ Skip ]
-
webkit.org/b/122021 media/video-controls-captions-trackmenu.html [ Failure ]
webkit.org/b/123097 media/track/track-user-preferences.html [ Skip ]
webkit.org/b/121995 media/video-controls-captions-trackmenu-includes-enabled-track.html [ Failure ]
@@ -2418,6 +2411,8 @@
webkit.org/b/143471 canvas/philip/tests/2d.drawImage.animated.poster.html [ Failure ]
webkit.org/b/143871 svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg [ Failure ]
+webkit.org/b/143924 fast/text/hyphen-min-preferred-width.html [ Skip ]
+
#////////////////////////////////////////////////////////////////////////////////////////
# End of Tests failing
#////////////////////////////////////////////////////////////////////////////////////////
Added: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt 2015-04-29 22:46:15 UTC (rev 183584)
@@ -3,103 +3,107 @@
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
- RenderBlock (floating) {DIV} at (4,0) size 344x274
+ RenderBlock (floating) {DIV} at (4,0) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderText {#text} at (0,0) size 208x17
- text run at (0,0) width 208: "The initial value (should be like "
- RenderInline {TT} at (0,0) size 33x15
- RenderText {#text} at (207,3) size 33x15
- text run at (207,3) width 33: "auto"
- RenderText {#text} at (239,0) size 6x17
- text run at (239,0) width 6: ")"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderText {#text} at (0,0) size 203x17
+ text run at (0,0) width 203: "The initial value (should be like "
+ RenderInline {TT} at (0,0) size 32x15
+ RenderText {#text} at (203,3) size 32x15
+ text run at (203,3) width 32: "auto"
+ RenderText {#text} at (235,0) size 5x17
+ text run at (235,0) width 5: ")"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "getting its body tucked away,"
- text run at (7,91) width 245: "comfortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straightened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedgehog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
- RenderBlock (floating) {DIV} at (356,0) size 344x274
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2010}"
+ text run at (7,67) width 222: "tting its body tucked away, "
+ text run at (229,67) width 23: "co" + hyphen string "\x{2010}"
+ text run at (7,87) width 245: "mfortably enough, under her"
+ text run at (7,107) width 248: "arm, with its legs hanging down, "
+ text run at (254,107) width 83: "but genera" + hyphen string "\x{2010}"
+ text run at (7,127) width 330: "lly, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straightened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedgehog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
+ RenderBlock (floating) {DIV} at (356,0) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderText {#text} at (0,0) size 83x17
- text run at (0,0) width 83: "The default ("
- RenderInline {TT} at (0,0) size 196x15
- RenderText {#text} at (82,3) size 196x15
- text run at (82,3) width 196: "hyphenate-character: auto"
- RenderText {#text} at (277,0) size 6x17
- text run at (277,0) width 6: ")"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderText {#text} at (0,0) size 81x17
+ text run at (0,0) width 81: "The default ("
+ RenderInline {TT} at (0,0) size 200x15
+ RenderText {#text} at (81,3) size 200x15
+ text run at (81,3) width 200: "hyphenate-character: auto"
+ RenderText {#text} at (281,0) size 5x17
+ text run at (281,0) width 5: ")"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "getting its body tucked away,"
- text run at (7,91) width 245: "comfortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straightened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedgehog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
- RenderBlock (floating) {DIV} at (4,274) size 344x274
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2010}"
+ text run at (7,67) width 222: "tting its body tucked away, "
+ text run at (229,67) width 23: "co" + hyphen string "\x{2010}"
+ text run at (7,87) width 245: "mfortably enough, under her"
+ text run at (7,107) width 248: "arm, with its legs hanging down, "
+ text run at (254,107) width 83: "but genera" + hyphen string "\x{2010}"
+ text run at (7,127) width 330: "lly, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straightened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedgehog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
+ RenderBlock (floating) {DIV} at (4,264) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderText {#text} at (0,0) size 49x17
- text run at (0,0) width 49: "Bullet ("
- RenderInline {TT} at (0,0) size 219x15
- RenderText {#text} at (48,3) size 219x15
- text run at (48,3) width 219: "hyphenate-character: \"\\2022\""
- RenderText {#text} at (266,0) size 7x17
- text run at (266,0) width 7: ")"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderText {#text} at (0,0) size 47x17
+ text run at (0,0) width 47: "Bullet ("
+ RenderInline {TT} at (0,0) size 224x15
+ RenderText {#text} at (47,3) size 224x15
+ text run at (47,3) width 224: "hyphenate-character: \"\\2022\""
+ RenderText {#text} at (271,0) size 5x17
+ text run at (271,0) width 5: ")"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "getting its body tucked away,"
- text run at (7,91) width 245: "comfortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straightened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedgehog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
- RenderBlock (floating) {DIV} at (356,274) size 356x274
- RenderBlock {P} at (0,16) size 356x18
- RenderText {#text} at (0,0) size 140x17
- text run at (0,0) width 140: "Middle dot and tilde ("
- RenderInline {TT} at (0,0) size 212x15
- RenderText {#text} at (139,3) size 212x15
- text run at (139,3) width 212: "hyphenate-character: \"\\B7~\""
- RenderText {#text} at (350,0) size 6x17
- text run at (350,0) width 6: ")"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2022}"
+ text run at (7,67) width 222: "tting its body tucked away, "
+ text run at (229,67) width 23: "co" + hyphen string "\x{2022}"
+ text run at (7,87) width 245: "mfortably enough, under her"
+ text run at (7,107) width 248: "arm, with its legs hanging down, "
+ text run at (254,107) width 83: "but genera" + hyphen string "\x{2022}"
+ text run at (7,127) width 330: "lly, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straightened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedgehog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
+ RenderBlock (floating) {DIV} at (356,264) size 357x264
+ RenderBlock {P} at (0,16) size 357x18
+ RenderText {#text} at (0,0) size 136x17
+ text run at (0,0) width 136: "Middle dot and tilde ("
+ RenderInline {TT} at (0,0) size 216x15
+ RenderText {#text} at (136,3) size 216x15
+ text run at (136,3) width 216: "hyphenate-character: \"\\B7~\""
+ RenderText {#text} at (352,0) size 5x17
+ text run at (352,0) width 5: ")"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "getting its body tucked away,"
- text run at (7,91) width 245: "comfortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straightened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedgehog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{B7}~"
+ text run at (7,67) width 213: "tting its body tucked away, "
+ text run at (220,67) width 32: "co" + hyphen string "\x{B7}~"
+ text run at (7,87) width 245: "mfortably enough, under her"
+ text run at (7,107) width 252: "arm, with its legs hanging down, "
+ text run at (258,107) width 79: "but gene" + hyphen string "\x{B7}~"
+ text run at (7,127) width 330: "rally, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straightened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedgehog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
Added: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt 2015-04-29 22:46:15 UTC (rev 183584)
@@ -3,6 +3,8 @@
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {DIV} at (0,0) size 226x117 [border: (3px solid #000000)]
- RenderText {#text} at (3,5) size 427x107
- text run at (3,5) width 427: "declination"
+ RenderBlock {DIV} at (0,0) size 226x327 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 193x321
+ text run at (3,3) width 193: "decl" + hyphen string "\x{2010}"
+ text run at (3,110) width 107: "in" + hyphen string "\x{2010}"
+ text run at (3,217) width 193: "ation"
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.png
(Binary files differ)
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt 2015-04-29 22:46:15 UTC (rev 183584)
@@ -3,25 +3,22 @@
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {DIV} at (8,8) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
+ RenderBlock {DIV} at (8,25) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
RenderText {#text} at (142,45) size 4x17
text run at (142,45) width 4: " "
- RenderBlock {DIV} at (154,8) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
+ RenderBlock {DIV} at (154,25) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
RenderText {#text} at (288,45) size 4x17
text run at (288,45) width 4: " "
- RenderBlock {DIV} at (300,8) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
+ RenderBlock {DIV} at (300,25) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
RenderText {#text} at (434,45) size 4x17
text run at (434,45) width 4: " "
RenderBlock {DIV} at (446,8) size 126x57 [border: (3px solid #000000)]
@@ -38,37 +35,32 @@
text run at (3,37) width 60: "evidence."
RenderText {#text} at (726,45) size 4x17
text run at (726,45) width 4: " "
- RenderBlock {DIV} at (8,81) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
- RenderText {#text} at (142,118) size 4x17
- text run at (142,118) width 4: " "
- RenderBlock {DIV} at (154,81) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
- RenderText {#text} at (288,118) size 4x17
- text run at (288,118) width 4: " "
- RenderBlock {DIV} at (300,81) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
- RenderText {#text} at (434,118) size 4x17
- text run at (434,118) width 4: " "
- RenderBlock {DIV} at (446,81) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
- RenderText {#text} at (580,118) size 4x17
- text run at (580,118) width 4: " "
- RenderBlock {DIV} at (592,81) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
+ RenderBlock {DIV} at (8,81) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
+ RenderText {#text} at (142,101) size 4x17
+ text run at (142,101) width 4: " "
+ RenderBlock {DIV} at (154,81) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
+ RenderText {#text} at (288,101) size 4x17
+ text run at (288,101) width 4: " "
+ RenderBlock {DIV} at (300,81) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
+ RenderText {#text} at (434,101) size 4x17
+ text run at (434,101) width 4: " "
+ RenderBlock {DIV} at (446,81) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
+ RenderText {#text} at (580,101) size 4x17
+ text run at (580,101) width 4: " "
+ RenderBlock {DIV} at (592,81) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x34
+ text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
+ text run at (3,20) width 98: "kable evidence."
RenderText {#text} at (0,0) size 0x0
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.png
(Binary files differ)
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1,74 +1,80 @@
-layer at (0,0) size 785x998
+layer at (0,0) size 785x969
RenderView at (0,0) size 785x600
-layer at (0,0) size 785x998
- RenderBlock {HTML} at (0,0) size 785x998
+layer at (0,0) size 785x969
+ RenderBlock {HTML} at (0,0) size 785x969
RenderBody {BODY} at (8,8) size 769x584
- RenderBlock (floating) {DIV} at (4,0) size 202x495 [border: (1px solid #ADD8E6)]
- RenderText {#text} at (1,1) size 200x493
+ RenderBlock (floating) {DIV} at (4,0) size 202x466 [border: (1px solid #ADD8E6)]
+ RenderText {#text} at (1,1) size 200x464
text run at (1,1) width 200: "also the division of"
text run at (1,30) width 200: "the mind into the"
- text run at (1,59) width 87: "rational,"
- text run at (1,88) width 200: "concupiscent, and"
- text run at (1,117) width 200: "irascible elements,"
- text run at (1,146) width 200: "or of pleasures"
- text run at (1,175) width 200: "and desires into"
- text run at (1,204) width 200: "necessary and"
- text run at (1,233) width 155: "unnecessary\x{2014}"
- text run at (1,262) width 200: "these and other"
- text run at (1,291) width 200: "great forms of"
- text run at (1,320) width 200: "thought are all of"
- text run at (1,349) width 66: "them "
- text run at (67,349) width 134: "to be found"
- text run at (1,378) width 200: "in the Republic,"
- text run at (1,407) width 200: "and were probably"
- text run at (1,436) width 200: "first invented by"
- text run at (1,465) width 60: "Plato."
- RenderBlock (floating) {DIV} at (214,0) size 202x495 [border: (1px solid #ADD8E6)]
- RenderText {#text} at (1,1) size 200x493
+ text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
+ text run at (1,88) width 141: "scent, and "
+ text run at (142,88) width 59: "irasc" + hyphen string "\x{2010}"
+ text run at (1,117) width 200: "ible elements, or"
+ text run at (1,146) width 200: "of pleasures and"
+ text run at (1,175) width 200: "desires into nece" + hyphen string "\x{2010}"
+ text run at (1,204) width 116: "ssary and "
+ text run at (117,204) width 84: "unnece" + hyphen string "\x{2010}"
+ text run at (1,233) width 200: "ssary\x{2014}these and"
+ text run at (1,262) width 200: "other great forms"
+ text run at (1,291) width 200: "of thought are all"
+ text run at (1,320) width 128: "of them "
+ text run at (129,320) width 72: "to be"
+ text run at (1,349) width 200: "found in the Repu" + hyphen string "\x{2010}"
+ text run at (1,378) width 200: "blic, and were"
+ text run at (1,407) width 200: "probably first"
+ text run at (1,436) width 130: "invented by "
+ text run at (131,436) width 60: "Plato."
+ RenderBlock (floating) {DIV} at (214,0) size 202x466 [border: (1px solid #ADD8E6)]
+ RenderText {#text} at (1,1) size 200x464
text run at (1,1) width 200: "also the division of"
text run at (1,30) width 200: "the mind into the"
- text run at (1,59) width 87: "rational,"
- text run at (1,88) width 200: "concupiscent, and"
- text run at (1,117) width 200: "irascible elements,"
- text run at (1,146) width 200: "or of pleasures"
- text run at (1,175) width 200: "and desires into"
- text run at (1,204) width 200: "necessary and"
- text run at (1,233) width 155: "unnecessary\x{2014}"
- text run at (1,262) width 200: "these and other"
- text run at (1,291) width 200: "great forms of"
- text run at (1,320) width 200: "thought are all of"
- text run at (1,349) width 66: "them "
- text run at (67,349) width 134: "to be found"
- text run at (1,378) width 200: "in the Republic,"
- text run at (1,407) width 200: "and were probably"
- text run at (1,436) width 200: "first invented by"
- text run at (1,465) width 60: "Plato."
- RenderBlock (floating) {DIV} at (424,0) size 202x495 [border: (1px solid #ADD8E6)]
- RenderText {#text} at (1,1) size 200x493
+ text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
+ text run at (1,88) width 141: "scent, and "
+ text run at (142,88) width 59: "irasc" + hyphen string "\x{2010}"
+ text run at (1,117) width 200: "ible elements, or"
+ text run at (1,146) width 200: "of pleasures and"
+ text run at (1,175) width 200: "desires into nece" + hyphen string "\x{2010}"
+ text run at (1,204) width 116: "ssary and "
+ text run at (117,204) width 84: "unnece" + hyphen string "\x{2010}"
+ text run at (1,233) width 200: "ssary\x{2014}these and"
+ text run at (1,262) width 200: "other great forms"
+ text run at (1,291) width 200: "of thought are all"
+ text run at (1,320) width 128: "of them "
+ text run at (129,320) width 72: "to be"
+ text run at (1,349) width 200: "found in the Repu" + hyphen string "\x{2010}"
+ text run at (1,378) width 200: "blic, and were"
+ text run at (1,407) width 200: "probably first"
+ text run at (1,436) width 130: "invented by "
+ text run at (131,436) width 60: "Plato."
+ RenderBlock (floating) {DIV} at (424,0) size 202x466 [border: (1px solid #ADD8E6)]
+ RenderText {#text} at (1,1) size 200x464
text run at (1,1) width 200: "also the division of"
text run at (1,30) width 200: "the mind into the"
- text run at (1,59) width 87: "rational,"
- text run at (1,88) width 200: "concupiscent, and"
- text run at (1,117) width 200: "irascible elements,"
- text run at (1,146) width 200: "or of pleasures"
- text run at (1,175) width 200: "and desires into"
- text run at (1,204) width 200: "necessary and"
- text run at (1,233) width 155: "unnecessary\x{2014}"
- text run at (1,262) width 200: "these and other"
- text run at (1,291) width 200: "great forms of"
- text run at (1,320) width 200: "thought are all of"
- text run at (1,349) width 66: "them "
- text run at (67,349) width 134: "to be found"
- text run at (1,378) width 200: "in the Republic,"
- text run at (1,407) width 200: "and were probably"
- text run at (1,436) width 200: "first invented by"
- text run at (1,465) width 60: "Plato."
- RenderBlock (floating) {DIV} at (4,495) size 202x495 [border: (1px solid #ADD8E6)]
+ text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
+ text run at (1,88) width 141: "scent, and "
+ text run at (142,88) width 59: "irasc" + hyphen string "\x{2010}"
+ text run at (1,117) width 200: "ible elements, or"
+ text run at (1,146) width 200: "of pleasures and"
+ text run at (1,175) width 200: "desires into nece" + hyphen string "\x{2010}"
+ text run at (1,204) width 116: "ssary and "
+ text run at (117,204) width 84: "unnece" + hyphen string "\x{2010}"
+ text run at (1,233) width 200: "ssary\x{2014}these and"
+ text run at (1,262) width 200: "other great forms"
+ text run at (1,291) width 200: "of thought are all"
+ text run at (1,320) width 128: "of them "
+ text run at (129,320) width 72: "to be"
+ text run at (1,349) width 200: "found in the Repu" + hyphen string "\x{2010}"
+ text run at (1,378) width 200: "blic, and were"
+ text run at (1,407) width 200: "probably first"
+ text run at (1,436) width 130: "invented by "
+ text run at (131,436) width 60: "Plato."
+ RenderBlock (floating) {DIV} at (4,466) size 202x495 [border: (1px solid #ADD8E6)]
RenderText {#text} at (1,1) size 200x493
text run at (1,1) width 200: "also the division of"
text run at (1,30) width 200: "the mind into the"
- text run at (1,59) width 87: "rational,"
- text run at (1,88) width 200: "concupiscent, and"
+ text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
+ text run at (1,88) width 200: "scent, and"
text run at (1,117) width 200: "irascible elements,"
text run at (1,146) width 200: "or of pleasures"
text run at (1,175) width 200: "and desires into"
@@ -83,7 +89,7 @@
text run at (1,407) width 200: "and were probably"
text run at (1,436) width 200: "first invented by"
text run at (1,465) width 60: "Plato."
- RenderBlock (floating) {DIV} at (214,495) size 202x495 [border: (1px solid #ADD8E6)]
+ RenderBlock (floating) {DIV} at (214,466) size 202x495 [border: (1px solid #ADD8E6)]
RenderText {#text} at (1,1) size 200x493
text run at (1,1) width 200: "also the division of"
text run at (1,30) width 200: "the mind into the"
Added: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt 2015-04-29 22:46:15 UTC (rev 183584)
@@ -3,35 +3,38 @@
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
- RenderBlock {DIV} at (0,0) size 130x210
- RenderBlock {DIV} at (0,0) size 130x42
- RenderText {#text} at (0,1) size 158x40
- text run at (0,1) width 158: "throughout"
- RenderBlock {DIV} at (0,42) size 130x42
- RenderText {#text} at (0,1) size 158x40
- text run at (0,1) width 158: "throughout"
- RenderBlock {DIV} at (0,84) size 130x42
- RenderText {#text} at (0,1) size 158x40
- text run at (0,1) width 158: "throughout"
- RenderBlock {DIV} at (0,126) size 130x42
- RenderText {#text} at (0,1) size 158x40
- text run at (0,1) width 158: "throughout"
- RenderBlock {DIV} at (0,168) size 130x42
- RenderText {#text} at (0,1) size 158x40
- text run at (0,1) width 158: "throughout"
- RenderBlock {DIV} at (0,210) size 135x210
- RenderBlock {DIV} at (0,0) size 135x42
- RenderText {#text} at (0,1) size 156x40
- text run at (0,1) width 156: "reciprocity"
- RenderBlock {DIV} at (0,42) size 135x42
- RenderText {#text} at (0,1) size 156x40
- text run at (0,1) width 156: "reciprocity"
- RenderBlock {DIV} at (0,84) size 135x42
- RenderText {#text} at (0,1) size 156x40
- text run at (0,1) width 156: "reciprocity"
- RenderBlock {DIV} at (0,126) size 135x42
- RenderText {#text} at (0,1) size 156x40
- text run at (0,1) width 156: "reciprocity"
- RenderBlock {DIV} at (0,168) size 135x42
- RenderText {#text} at (0,1) size 156x40
- text run at (0,1) width 156: "reciprocity"
+ RenderBlock {DIV} at (0,0) size 130x240
+ RenderBlock {DIV} at (0,0) size 130x40
+ RenderText {#text} at (0,0) size 158x40
+ text run at (0,0) width 158: "throughout"
+ RenderBlock {DIV} at (0,40) size 130x40
+ RenderText {#text} at (0,0) size 158x40
+ text run at (0,0) width 158: "throughout"
+ RenderBlock {DIV} at (0,80) size 130x80
+ RenderText {#text} at (0,0) size 106x80
+ text run at (0,0) width 106: "throug" + hyphen string "\x{2010}"
+ text run at (0,40) width 64: "hout"
+ RenderBlock {DIV} at (0,160) size 130x40
+ RenderText {#text} at (0,0) size 158x40
+ text run at (0,0) width 158: "throughout"
+ RenderBlock {DIV} at (0,200) size 130x40
+ RenderText {#text} at (0,0) size 158x40
+ text run at (0,0) width 158: "throughout"
+ RenderBlock {DIV} at (0,240) size 135x280
+ RenderBlock {DIV} at (0,0) size 135x40
+ RenderText {#text} at (0,0) size 156x40
+ text run at (0,0) width 156: "reciprocity"
+ RenderBlock {DIV} at (0,40) size 135x40
+ RenderText {#text} at (0,0) size 156x40
+ text run at (0,0) width 156: "reciprocity"
+ RenderBlock {DIV} at (0,80) size 135x80
+ RenderText {#text} at (0,0) size 114x80
+ text run at (0,0) width 114: "recipro" + hyphen string "\x{2010}"
+ text run at (0,40) width 54: "city"
+ RenderBlock {DIV} at (0,160) size 135x80
+ RenderText {#text} at (0,0) size 96x80
+ text run at (0,0) width 96: "recipr" + hyphen string "\x{2010}"
+ text run at (0,40) width 72: "ocity"
+ RenderBlock {DIV} at (0,240) size 135x40
+ RenderText {#text} at (0,0) size 156x40
+ text run at (0,0) width 156: "reciprocity"
Added: trunk/LayoutTests/platform/gtk/fast/text/hyphens-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/gtk/fast/text/hyphens-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphens-expected.txt (183583 => 183584)
--- trunk/LayoutTests/platform/gtk/fast/text/hyphens-expected.txt 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphens-expected.txt 2015-04-29 22:46:15 UTC (rev 183584)
@@ -3,96 +3,97 @@
layer at (0,0) size 800x600
RenderBlock {HTML} at (0,0) size 800x600
RenderBody {BODY} at (8,8) size 784x584
- RenderBlock (floating) {DIV} at (4,0) size 344x274
+ RenderBlock (floating) {DIV} at (4,0) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderInline {TT} at (0,0) size 118x15
- RenderText {#text} at (0,3) size 118x15
- text run at (0,3) width 118: "hyphens: manual"
- RenderText {#text} at (117,0) size 139x17
- text run at (117,0) width 139: " without soft hyphens"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderInline {TT} at (0,0) size 120x15
+ RenderText {#text} at (0,3) size 120x15
+ text run at (0,3) width 120: "hyphens: manual"
+ RenderText {#text} at (120,0) size 136x17
+ text run at (120,0) width 136: " without soft hyphens"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "getting its body tucked away,"
- text run at (7,91) width 245: "comfortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straightened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedgehog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
- RenderBlock (floating) {DIV} at (356,0) size 344x274
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in"
+ text run at (7,67) width 245: "getting its body tucked away,"
+ text run at (7,87) width 245: "comfortably enough, under her"
+ text run at (7,107) width 307: "arm, with its legs hanging down, "
+ text run at (314,107) width 23: "but"
+ text run at (7,127) width 330: "generally, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straightened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedgehog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
+ RenderBlock (floating) {DIV} at (356,0) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderInline {TT} at (0,0) size 102x15
- RenderText {#text} at (0,3) size 102x15
- text run at (0,3) width 102: "hyphens: none"
- RenderText {#text} at (101,0) size 119x17
- text run at (101,0) width 119: " with soft hyphens"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderInline {TT} at (0,0) size 104x15
+ RenderText {#text} at (0,3) size 104x15
+ text run at (0,3) width 104: "hyphens: none"
+ RenderText {#text} at (104,0) size 116x17
+ text run at (104,0) width 116: " with soft hyphens"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "get\x{AD}ting its body tucked away,"
- text run at (7,91) width 245: "com\x{AD}fortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straight\x{AD}ened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedge\x{AD}hog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
- RenderBlock (floating) {DIV} at (4,274) size 344x274
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in"
+ text run at (7,67) width 245: "get\x{AD}ting its body tucked away,"
+ text run at (7,87) width 245: "com\x{AD}fortably enough, under her"
+ text run at (7,107) width 307: "arm, with its legs hanging down, "
+ text run at (314,107) width 23: "but"
+ text run at (7,127) width 330: "generally, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straight\x{AD}ened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedge\x{AD}hog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
+ RenderBlock (floating) {DIV} at (4,264) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderInline {TT} at (0,0) size 118x15
- RenderText {#text} at (0,3) size 118x15
- text run at (0,3) width 118: "hyphens: manual"
- RenderText {#text} at (117,0) size 118x17
- text run at (117,0) width 118: " with soft hyphens"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderInline {TT} at (0,0) size 120x15
+ RenderText {#text} at (0,3) size 120x15
+ text run at (0,3) width 120: "hyphens: manual"
+ RenderText {#text} at (120,0) size 116x17
+ text run at (120,0) width 116: " with soft hyphens"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in get\x{AD}" + hyphen string "\x{2010}"
- text run at (7,70) width 209: "ting its body tucked away, "
- text run at (215,70) width 37: "com\x{AD}" + hyphen string "\x{2010}"
- text run at (7,91) width 245: "fortably enough, under her arm,"
- text run at (7,112) width 226: "with its legs hanging down, "
- text run at (232,112) width 105: "but generally,"
- text run at (7,133) width 330: "just as she had got its neck nicely straight\x{AD}" + hyphen string "\x{2010}"
- text run at (7,154) width 39: "ened "
- text run at (45,154) width 292: "out, and was going to give the hedge\x{AD}hog"
- text run at (7,175) width 196: "a blow with its head, it "
- text run at (202,175) width 135: "would twist itself"
- text run at (7,196) width 230: "round and look up in her face\x{2026}"
- RenderBlock (floating) {DIV} at (356,274) size 344x274
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in get\x{AD}" + hyphen string "\x{2010}"
+ text run at (7,67) width 208: "ting its body tucked away, "
+ text run at (215,67) width 37: "com\x{AD}" + hyphen string "\x{2010}"
+ text run at (7,87) width 245: "fortably enough, under her arm,"
+ text run at (7,107) width 226: "with its legs hanging down, "
+ text run at (233,107) width 104: "but generally,"
+ text run at (7,127) width 330: "just as she had got its neck nicely straight\x{AD}" + hyphen string "\x{2010}"
+ text run at (7,147) width 42: "ened "
+ text run at (48,147) width 289: "out, and was going to give the hedge\x{AD}" + hyphen string "\x{2010}"
+ text run at (7,167) width 204: "hog a blow with its head, it "
+ text run at (211,167) width 126: "would twist itself"
+ text run at (7,187) width 233: "round and look up in her face\x{2026}"
+ RenderBlock (floating) {DIV} at (356,264) size 344x264
RenderBlock {P} at (0,16) size 344x18
- RenderInline {TT} at (0,0) size 102x15
- RenderText {#text} at (0,3) size 102x15
- text run at (0,3) width 102: "hyphens: auto"
- RenderText {#text} at (101,0) size 139x17
- text run at (101,0) width 139: " without soft hyphens"
- RenderBlock {DIV} at (0,50) size 344x224 [border: (3px solid #000000)]
+ RenderInline {TT} at (0,0) size 104x15
+ RenderText {#text} at (0,3) size 104x15
+ text run at (0,3) width 104: "hyphens: auto"
+ RenderText {#text} at (104,0) size 136x17
+ text run at (104,0) width 136: " without soft hyphens"
+ RenderBlock {DIV} at (0,50) size 344x214 [border: (3px solid #000000)]
RenderBlock (floating) {DIV} at (262,7) size 75x90 [bgcolor=#F0F8FF]
- RenderText {#text} at (7,7) size 330x209
+ RenderText {#text} at (7,7) size 330x200
text run at (7,7) width 245: "The chief difficulty Alice found"
- text run at (7,28) width 245: "at first was in managing her"
- text run at (7,49) width 245: "flamingo: she succeeded in"
- text run at (7,70) width 245: "getting its body tucked away,"
- text run at (7,91) width 245: "comfortably enough, under her"
- text run at (7,112) width 307: "arm, with its legs hanging down, "
- text run at (313,112) width 24: "but"
- text run at (7,133) width 330: "generally, just as she had got its neck nicely"
- text run at (7,154) width 96: "straightened "
- text run at (102,154) width 235: "out, and was going to give the"
- text run at (7,175) width 245: "hedgehog a blow with its head, it "
- text run at (251,175) width 86: "would twist"
- text run at (7,196) width 271: "itself round and look up in her face\x{2026}"
+ text run at (7,27) width 245: "at first was in managing her"
+ text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2010}"
+ text run at (7,67) width 222: "tting its body tucked away, "
+ text run at (229,67) width 23: "co" + hyphen string "\x{2010}"
+ text run at (7,87) width 245: "mfortably enough, under her"
+ text run at (7,107) width 248: "arm, with its legs hanging down, "
+ text run at (254,107) width 83: "but genera" + hyphen string "\x{2010}"
+ text run at (7,127) width 330: "lly, just as she had got its neck nicely"
+ text run at (7,147) width 96: "straightened "
+ text run at (102,147) width 235: "out, and was going to give the"
+ text run at (7,167) width 285: "hedgehog a blow with its head, it "
+ text run at (292,167) width 45: "would"
+ text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
Modified: trunk/LayoutTests/platform/gtk/fast/text/word-break-soft-hyphen-expected.png
(Binary files differ)
Modified: trunk/Source/WebCore/ChangeLog (183583 => 183584)
--- trunk/Source/WebCore/ChangeLog 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Source/WebCore/ChangeLog 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1,3 +1,38 @@
+2015-04-29 Martin Robinson <[email protected]>
+
+ [GTK] Add support for automatic hyphenation
+ https://bugs.webkit.org/show_bug.cgi?id=44478
+
+ Reviewed by Carlos Garcia Campos.
+
+ No new tests. This patch unskips and updates results for existing hyphenation tests.
+
+ * PlatformGTK.cmake: Add the libhypen implementation to the source list.
+ * platform/gtk/GtkUtilities.cpp:
+ (WebCore::topLevelPath): Add this helper function taken from the test harness.
+ (WebCore::getWebKitBuildDirectory): Ditto.
+ * platform/gtk/GtkUtilities.h: Add function declarations for the helper functions.
+ * platform/text/Hyphenation.cpp: Surround this implementation with !USE(LIBHYPHEN),
+ so that it can still be shared.
+ * platform/text/gtk/HyphenationLibHyphen.cpp: Added.
+ (WebCore::extractLocaleFromDictionaryFilePath): Take in a dictionary filename and
+ determine the locale that it covers.
+ (WebCore::scanDirectoryForDicionaries): Look for all installed dictionaries as well
+ as ones in the JHBuild root for testing.
+ (WebCore::scanTestDictionariesDirectoryIfNecessary): Try to scan the dictionaries installed
+ in the JHBuild root.
+ (WebCore::availableLocales): Getter for global hash of installed dictionaries.
+ (WebCore::canHyphenate): Added libhyphen implementation.
+ (WebCore::HyphenationDictionary): Helper class that properly manages the memory of
+ an open libhyphen dictionary. This is useful so that they can be stored in an MRU
+ cache. This is a similar approach to the CoreFoundation implementation.
+ (WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForNullKey): MRU cache
+ helper.
+ (WebCore::AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForKey): Ditto.
+ (WebCore::hyphenDictionaryCache): A cache for opened hyphenation dictionaries.
+ (WebCore::countLeadingSpaces): Count leading spaces, since WebCore often passes words with them.
+ (WebCore::lastHyphenLocation): Added libhyphen implementation.
+
2015-04-29 Myles C. Maxfield <[email protected]>
Unreviewed build fix.
Modified: trunk/Source/WebCore/PlatformGTK.cmake (183583 => 183584)
--- trunk/Source/WebCore/PlatformGTK.cmake 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Source/WebCore/PlatformGTK.cmake 2015-04-29 22:46:15 UTC (rev 183584)
@@ -179,6 +179,7 @@
platform/text/enchant/TextCheckerEnchant.cpp
+ platform/text/gtk/HyphenationLibHyphen.cpp
platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp
platform/network/gtk/CredentialBackingStore.cpp
@@ -269,6 +270,7 @@
${LIBSOUP_LIBRARIES}
${LIBXML2_LIBRARIES}
${LIBXSLT_LIBRARIES}
+ ${HYPHEN_LIBRARIES}
${PNG_LIBRARIES}
${SQLITE_LIBRARIES}
${WEBP_LIBRARIES}
Modified: trunk/Source/WebCore/platform/gtk/GtkUtilities.cpp (183583 => 183584)
--- trunk/Source/WebCore/platform/gtk/GtkUtilities.cpp 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Source/WebCore/platform/gtk/GtkUtilities.cpp 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011, Igalia S.L.
+ * Copyright (C) 2011, 2013 Igalia S.L.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -21,6 +21,8 @@
#include "IntPoint.h"
#include <gtk/gtk.h>
+#include <wtf/gobject/GUniquePtr.h>
+#include <wtf/gobject/GlibUtilities.h>
#if PLATFORM(X11)
#include <gdk/gdkx.h>
@@ -81,4 +83,30 @@
#endif
}
+#if defined(DEVELOPMENT_BUILD)
+static CString topLevelPath()
+{
+ if (const char* topLevelDirectory = g_getenv("WEBKIT_TOP_LEVEL"))
+ return topLevelDirectory;
+
+ // If the environment variable wasn't provided then assume we were built into
+ // WebKitBuild/Debug or WebKitBuild/Release. Obviously this will fail if the build
+ // directory is non-standard, but we can't do much more about this.
+ GUniquePtr<char> parentPath(g_path_get_dirname(getCurrentExecutablePath().data()));
+ GUniquePtr<char> layoutTestsPath(g_build_filename(parentPath.get(), "..", "..", "..", nullptr));
+ GUniquePtr<char> absoluteTopLevelPath(realpath(layoutTestsPath.get(), 0));
+ return absoluteTopLevelPath.get();
+}
+
+CString webkitBuildDirectory()
+{
+ const char* webkitOutputDir = g_getenv("WEBKIT_OUTPUTDIR");
+ if (webkitOutputDir)
+ return webkitOutputDir;
+
+ GUniquePtr<char> outputDir(g_build_filename(topLevelPath().data(), "WebKitBuild", nullptr));
+ return outputDir.get();
+}
+#endif
+
} // namespace WebCore
Modified: trunk/Source/WebCore/platform/gtk/GtkUtilities.h (183583 => 183584)
--- trunk/Source/WebCore/platform/gtk/GtkUtilities.h 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Source/WebCore/platform/gtk/GtkUtilities.h 2015-04-29 22:46:15 UTC (rev 183584)
@@ -19,6 +19,8 @@
#ifndef GtkUtilities_h
#define GtkUtilities_h
+#include <wtf/text/CString.h>
+
namespace WebCore {
class IntPoint;
@@ -33,6 +35,10 @@
DisplaySystemType getDisplaySystemType();
+#if defined(DEVELOPMENT_BUILD)
+CString webkitBuildDirectory();
+#endif
+
} // namespace WebCore
#endif // GtkUtilities_h
Modified: trunk/Source/WebCore/platform/text/Hyphenation.cpp (183583 => 183584)
--- trunk/Source/WebCore/platform/text/Hyphenation.cpp 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Source/WebCore/platform/text/Hyphenation.cpp 2015-04-29 22:46:15 UTC (rev 183584)
@@ -26,6 +26,8 @@
#include "config.h"
#include "Hyphenation.h"
+#if !USE(LIBHYPHEN)
+
#include "NotImplemented.h"
#include <wtf/text/StringView.h>
@@ -43,3 +45,5 @@
}
} // namespace WebCore
+
+#endif // !USE(LIBHYPHEN)
Added: trunk/Source/WebCore/platform/text/gtk/HyphenationLibHyphen.cpp (0 => 183584)
--- trunk/Source/WebCore/platform/text/gtk/HyphenationLibHyphen.cpp (rev 0)
+++ trunk/Source/WebCore/platform/text/gtk/HyphenationLibHyphen.cpp 2015-04-29 22:46:15 UTC (rev 183584)
@@ -0,0 +1,240 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "Hyphenation.h"
+
+#if USE(LIBHYPHEN)
+
+#include "AtomicStringKeyedMRUCache.h"
+#include "FileSystem.h"
+#include "GtkUtilities.h"
+#include <hyphen.h>
+#include <wtf/HashMap.h>
+#include <wtf/NeverDestroyed.h>
+#include <wtf/gobject/GUniquePtr.h>
+#include <wtf/text/AtomicStringHash.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/StringView.h>
+
+namespace WebCore {
+
+static const char* const gDictionaryDirectories[] = {
+ "/usr/share/hyphen",
+ "/usr/local/share/hyphen",
+};
+
+static String extractLocaleFromDictionaryFilePath(const String& filePath)
+{
+ // Dictionary files always have the form "hyph_<locale name>.dic"
+ // so we strip everything except the locale.
+ String fileName = pathGetFileName(filePath);
+ static const int prefixLength = 5;
+ static const int suffixLength = 4;
+ return fileName.substring(prefixLength, fileName.length() - prefixLength - suffixLength);
+}
+
+static void scanDirectoryForDicionaries(const char* directoryPath, HashMap<AtomicString, String>& availableLocales)
+{
+ for (const auto& filePath : listDirectory(directoryPath, "hyph_*.dic"))
+ availableLocales.set(AtomicString(extractLocaleFromDictionaryFilePath(filePath)), filePath);
+}
+
+#if defined(DEVELOPMENT_BUILD)
+static void scanTestDictionariesDirectoryIfNecessary(HashMap<AtomicString, String>& availableLocales)
+{
+ // It's unfortunate that we need to look for the dictionaries this way, but
+ // libhyphen doesn't have the concept of installed dictionaries. Instead,
+ // we have this special case for WebKit tests.
+ CString buildDirectory = webkitBuildDirectory();
+ GUniquePtr<char> dictionariesPath(g_build_filename(buildDirectory.data(), "DependenciesGTK", "Root", "webkitgtk-test-dicts", nullptr));
+ if (g_file_test(dictionariesPath.get(), static_cast<GFileTest>(G_FILE_TEST_IS_DIR))) {
+ scanDirectoryForDicionaries(dictionariesPath.get(), availableLocales);
+ return;
+ }
+
+ // Try alternative dictionaries path for people not using JHBuild.
+ dictionariesPath.reset(g_build_filename(buildDirectory.data(), "webkitgtk-test-dicts", nullptr));
+ scanDirectoryForDicionaries(dictionariesPath.get(), availableLocales);
+}
+#endif
+
+static HashMap<AtomicString, String>& availableLocales()
+{
+ static bool scannedLocales = false;
+ static HashMap<AtomicString, String> availableLocales;
+
+ if (!scannedLocales) {
+ for (size_t i = 0; i < WTF_ARRAY_LENGTH(gDictionaryDirectories); i++)
+ scanDirectoryForDicionaries(gDictionaryDirectories[i], availableLocales);
+
+#if defined(DEVELOPMENT_BUILD)
+ scanTestDictionariesDirectoryIfNecessary(availableLocales);
+#endif
+
+ scannedLocales = true;
+ }
+
+ return availableLocales;
+}
+
+bool canHyphenate(const AtomicString& localeIdentifier)
+{
+ if (localeIdentifier.isNull())
+ return false;
+ return availableLocales().contains(localeIdentifier);
+}
+
+class HyphenationDictionary : public RefCounted<HyphenationDictionary> {
+ WTF_MAKE_NONCOPYABLE(HyphenationDictionary);
+ WTF_MAKE_FAST_ALLOCATED;
+public:
+ typedef std::unique_ptr<HyphenDict, void(*)(HyphenDict*)> HyphenDictUniquePtr;
+
+ virtual ~HyphenationDictionary() { }
+ static RefPtr<HyphenationDictionary> createNull()
+ {
+ return adoptRef(new HyphenationDictionary());
+ }
+
+ static RefPtr<HyphenationDictionary> create(const CString& dictPath)
+ {
+ return adoptRef(new HyphenationDictionary(dictPath));
+ }
+
+ HyphenDict* libhyphenDictionary() const
+ {
+ return m_libhyphenDictionary.get();
+ }
+
+private:
+ HyphenationDictionary(const CString& dictPath)
+ : m_libhyphenDictionary(HyphenDictUniquePtr(hnj_hyphen_load(dictPath.data()), hnj_hyphen_free))
+ {
+ }
+
+ HyphenationDictionary()
+ : m_libhyphenDictionary(HyphenDictUniquePtr(nullptr, hnj_hyphen_free))
+ {
+ }
+
+ HyphenDictUniquePtr m_libhyphenDictionary;
+};
+
+template<>
+RefPtr<HyphenationDictionary> AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForNullKey()
+{
+ return HyphenationDictionary::createNull();
+}
+
+template<>
+RefPtr<HyphenationDictionary> AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>::createValueForKey(const AtomicString& localeIdentifier)
+{
+ ASSERT(availableLocales().get(localeIdentifier));
+ return HyphenationDictionary::create(fileSystemRepresentation(availableLocales().get(localeIdentifier)));
+}
+
+static AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>& hyphenDictionaryCache()
+{
+ static NeverDestroyed<AtomicStringKeyedMRUCache<RefPtr<HyphenationDictionary>>> cache;
+ return cache;
+}
+
+static void countLeadingSpaces(const CString& utf8String, int32_t& pointerOffset, int32_t& characterOffset)
+{
+ pointerOffset = 0;
+ characterOffset = 0;
+ const char* stringData = utf8String.data();
+ UChar32 character = 0;
+ while (static_cast<unsigned>(pointerOffset) < utf8String.length()) {
+ int32_t nextPointerOffset = pointerOffset;
+ U8_NEXT(stringData, nextPointerOffset, static_cast<int32_t>(utf8String.length()), character);
+
+ if (character < 0 || !u_isUWhiteSpace(character))
+ return;
+
+ pointerOffset = nextPointerOffset;
+ characterOffset++;
+ }
+}
+
+size_t lastHyphenLocation(StringView string, size_t beforeIndex, const AtomicString& localeIdentifier)
+{
+ ASSERT(availableLocales().contains(localeIdentifier));
+ RefPtr<HyphenationDictionary> dictionary = hyphenDictionaryCache().get(localeIdentifier);
+
+ // libhyphen accepts strings in UTF-8 format, but WebCore can only provide StringView
+ // which stores either UTF-16 or Latin1 data. This is unfortunate for performance
+ // reasons and we should consider switching to a more flexible hyphenation library
+ // if it is available.
+ CString utf8StringCopy = string.toStringWithoutCopying().utf8();
+
+ // WebCore often passes strings like " wordtohyphenate" to the platform layer. Since
+ // libhyphen isn't advanced enough to deal with leading spaces (presumably CoreFoundation
+ // can), we should find the appropriate indexes into the string to skip them.
+ int32_t leadingSpaceBytes;
+ int32_t leadingSpaceCharacters;
+ countLeadingSpaces(utf8StringCopy, leadingSpaceBytes, leadingSpaceCharacters);
+
+ // The libhyphen documentation specifies that this array should be 5 bytes longer than
+ // the byte length of the input string.
+ Vector<char> hyphenArray(utf8StringCopy.length() - leadingSpaceBytes + 5);
+ char* hyphenArrayData = hyphenArray.data();
+
+ char** replacements = nullptr;
+ int* positions = nullptr;
+ int* removedCharacterCounts = nullptr;
+ hnj_hyphen_hyphenate2(dictionary->libhyphenDictionary(),
+ utf8StringCopy.data() + leadingSpaceBytes,
+ utf8StringCopy.length() - leadingSpaceBytes,
+ hyphenArrayData,
+ nullptr, /* output parameter for hyphenated word */
+ &replacements,
+ &positions,
+ &removedCharacterCounts);
+
+ if (replacements) {
+ for (unsigned i = 0; i < utf8StringCopy.length() - leadingSpaceBytes - 1; i++)
+ free(replacements[i]);
+ free(replacements);
+ }
+
+ free(positions);
+ free(removedCharacterCounts);
+
+ for (int i = beforeIndex - leadingSpaceCharacters - 1; i >= 0; i--) {
+ // libhyphen will put an odd number in hyphenArrayData at all
+ // hyphenation points. A number & 1 will be true for odd numbers.
+ if (hyphenArrayData[i] & 1)
+ return i + leadingSpaceCharacters;
+ }
+
+ return 0;
+}
+
+} // namespace WebCore
+
+#endif // USE(LIBHYPHEN)
Property changes on: trunk/Source/WebCore/platform/text/gtk/HyphenationLibHyphen.cpp
___________________________________________________________________
Added: svn:eol-style
Added: trunk/Source/cmake/FindHyphen.cmake (0 => 183584)
--- trunk/Source/cmake/FindHyphen.cmake (rev 0)
+++ trunk/Source/cmake/FindHyphen.cmake 2015-04-29 22:46:15 UTC (rev 183584)
@@ -0,0 +1,45 @@
+# - Try to find libhyphen
+# Once done, this will define
+#
+# HYPHEN_FOUND - system has libhyphen installed.
+# HYPHEN_INCLUDE_DIR - directories which contain the libhyphen headers.
+# HYPHEN_LIBRARY - libraries required to link against libhyphen.
+#
+# Copyright (C) 2012 Intel Corporation. All rights reserved.
+# Copyright (C) 2015 Igalia S.L.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
+# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+find_path(HYPHEN_INCLUDE_DIR NAMES hyphen.h)
+find_library(HYPHEN_LIBRARIES NAMES hyphen hnj)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(HYPHEN DEFAULT_MSG HYPHEN_INCLUDE_DIR HYPHEN_LIBRARIES)
+
+if (HYPHEN_INCLUDE_DIR AND HYPHEN_LIBRARIES)
+ set(HYPHEN_FOUND 1)
+else ()
+ set(HYPHEN_FOUND 0)
+endif ()
+
+mark_as_advanced(HYPHEN_INCLUDE_DIR HYPHEN_LIBRARIES HYPHEN_FOUND)
Modified: trunk/Source/cmake/OptionsGTK.cmake (183583 => 183584)
--- trunk/Source/cmake/OptionsGTK.cmake 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Source/cmake/OptionsGTK.cmake 2015-04-29 22:46:15 UTC (rev 183584)
@@ -53,6 +53,7 @@
WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wayland windowing target." PUBLIC OFF)
WEBKIT_OPTION_DEFINE(USE_LIBNOTIFY "Whether to enable the default web notification implementation." PUBLIC ON)
+WEBKIT_OPTION_DEFINE(USE_LIBHYPHEN "Whether to enable the default automatic hyphenation implementation." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL "Whether to enable support for GStreamer GL" PRIVATE OFF)
WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS "Whether to enable support for MPEG-TS" PRIVATE OFF)
@@ -378,6 +379,14 @@
SET_AND_EXPOSE_TO_BUILD(WTF_USE_LIBNOTIFY TRUE)
endif ()
+if (HYPHEN_FOUND)
+ find_package(Hyphen)
+ if (NOT LIBHYPHEN_FOUND)
+ message(FATAL_ERROR "libhyphen is needed for USE_LIBHYPHEN.")
+ endif ()
+ SET_AND_EXPOSE_TO_BUILD(WTF_USE_LIBHYPHEN 1)
+endif ()
+
set(DERIVED_SOURCES_GOBJECT_DOM_BINDINGS_DIR ${DERIVED_SOURCES_DIR}/webkitdom)
set(DERIVED_SOURCES_WEBKITGTK_DIR ${DERIVED_SOURCES_DIR}/webkitgtk)
set(DERIVED_SOURCES_WEBKITGTK_API_DIR ${DERIVED_SOURCES_WEBKITGTK_DIR}/webkit)
Modified: trunk/Tools/ChangeLog (183583 => 183584)
--- trunk/Tools/ChangeLog 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Tools/ChangeLog 2015-04-29 22:46:15 UTC (rev 183584)
@@ -1,3 +1,13 @@
+2015-04-29 Martin Robinson <[email protected]>
+
+ [GTK] Add support for automatic hyphenation
+ https://bugs.webkit.org/show_bug.cgi?id=44478
+
+ Reviewed by Carlos Garcia Campos.
+
+ * gtk/jhbuild.modules: Add a module for testing dictionaries, so that
+ all systems will use the same dictionaries for testing purposes.
+
2015-04-29 Jake Nielsen <[email protected]>
Failure when building WebKit for appletvsimulator.
Modified: trunk/Tools/gtk/jhbuild.modules (183583 => 183584)
--- trunk/Tools/gtk/jhbuild.modules 2015-04-29 22:41:18 UTC (rev 183583)
+++ trunk/Tools/gtk/jhbuild.modules 2015-04-29 22:46:15 UTC (rev 183584)
@@ -91,6 +91,11 @@
<branch repo="github.com" module="mrobinson/webkitgtk-test-fonts.git" checkoutdir="webkitgtk-test-fonts" tag="0.0.5"/>
</autotools>
+ <autotools id="dicts"
+ skip-autogen="true">
+ <branch repo="github.com" module="mrobinson/webkitgtk-test-dicts.git" checkoutdir="webkitgtk-test-dicts" tag="0.0.1"/>
+ </autotools>
+
<autotools id="freetype6" autogen-sh="configure">
<branch module="freetype/freetype-2.4.11.tar.bz2" version="2.4.11"
repo="savannah.gnu.org"