[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
mitz at apple.com
mitz at apple.com
Wed Dec 22 12:59:03 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 25c0d9742552d416009fb51bcd03c47a762acd2c
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Sep 3 17:56:36 2010 +0000
2010-09-03 Dan Bernstein <mitz at apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
https://bugs.webkit.org/show_bug.cgi?id=45182
Test: fast/text/decomposed-after-stacked-diacritics.html
* platform/graphics/Font.cpp:
(WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
it may also contain characters that require the complex text code path.
2010-09-03 Dan Bernstein <mitz at apple.com>
Reviewed by Anders Carlsson.
<rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
https://bugs.webkit.org/show_bug.cgi?id=45182
* fast/text/decomposed-after-stacked-diacritics-expected.txt: Added.
* fast/text/decomposed-after-stacked-diacritics.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 0d6bdf4..acab3b3 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2010-09-03 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
+ https://bugs.webkit.org/show_bug.cgi?id=45182
+
+ * fast/text/decomposed-after-stacked-diacritics-expected.txt: Added.
+ * fast/text/decomposed-after-stacked-diacritics.html: Added.
+
2010-09-03 Mihai Parparita <mihaip at chromium.org>
Reviewed by Tony Chang.
diff --git a/LayoutTests/fast/text/decomposed-after-stacked-diacritics-expected.txt b/LayoutTests/fast/text/decomposed-after-stacked-diacritics-expected.txt
new file mode 100644
index 0000000..b2db4b1
--- /dev/null
+++ b/LayoutTests/fast/text/decomposed-after-stacked-diacritics-expected.txt
@@ -0,0 +1,2 @@
+èḗè
+PASS
diff --git a/LayoutTests/fast/text/decomposed-after-stacked-diacritics.html b/LayoutTests/fast/text/decomposed-after-stacked-diacritics.html
new file mode 100644
index 0000000..cda441d
--- /dev/null
+++ b/LayoutTests/fast/text/decomposed-after-stacked-diacritics.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<div style="font-size: 72px;">
+ <span id="reference">è</span><span id="test">ḗè</span>
+</div>
+<div id="result">Test did not run.</div>
+<script>
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+ var reference = document.getElementById("reference").firstChild;
+ var referenceRange = document.createRange();
+ referenceRange.setStart(reference, 0);
+ referenceRange.setEnd(reference, 2);
+ var referenceWidth = referenceRange.getBoundingClientRect().width;
+
+ var test = document.getElementById("test").firstChild;
+ var testRange = document.createRange();
+ testRange.setStart(test, 1);
+ testRange.setEnd(test, 3);
+ var testWidth = testRange.getBoundingClientRect().width;
+
+ document.getElementById("result").innerText = testWidth === referenceWidth ? "PASS" : "FAIL";
+</script>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 4b4f12e..03504c0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-09-03 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ <rdar://problem/8392655> REGRESSION (r57215): Decomposed diacritics render incorrectly when preceded by stacked diacritics
+ https://bugs.webkit.org/show_bug.cgi?id=45182
+
+ Test: fast/text/decomposed-after-stacked-diacritics.html
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::codePath): Do not bail out if the run contains stacked diacritics, since
+ it may also contain characters that require the complex text code path.
+
2010-09-03 Mikhail Naganov <mnaganov at chromium.org>
Reviewed by Yury Semikhatsky.
diff --git a/WebCore/platform/graphics/Font.cpp b/WebCore/platform/graphics/Font.cpp
index 0e93d4f..a0cf5a4 100644
--- a/WebCore/platform/graphics/Font.cpp
+++ b/WebCore/platform/graphics/Font.cpp
@@ -277,6 +277,8 @@ Font::CodePath Font::codePath(const TextRun& run) const
return Complex;
#endif
+ CodePath result = Simple;
+
// Start from 0 since drawing and highlighting also measure the characters before run->from
for (int i = 0; i < run.length(); i++) {
const UChar c = run[i];
@@ -312,8 +314,10 @@ Font::CodePath Font::codePath(const TextRun& run) const
if (c < 0x1E00) // U+1E00 through U+2000 characters with diacritics and stacked diacritics
continue;
- if (c <= 0x2000)
- return SimpleWithGlyphOverflow;
+ if (c <= 0x2000) {
+ result = SimpleWithGlyphOverflow;
+ continue;
+ }
if (c < 0x20D0) // U+20D0 through U+20FF Combining marks for symbols
continue;
@@ -329,7 +333,7 @@ Font::CodePath Font::codePath(const TextRun& run) const
if (typesettingFeatures())
return Complex;
- return Simple;
+ return result;
}
}
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list