diff options
author | Vee Satayamas <vsatayamas@gmail.com> | 2016-08-17 18:57:19 +0700 |
---|---|---|
committer | Josh Matthews <josh@joshmatthews.net> | 2017-02-01 14:28:15 -0500 |
commit | c69567406e32521b504f4e20e1be75177a4d47ee (patch) | |
tree | 8ee9a10d80b8727a2d5dd298099b0de05e0d8d13 | |
parent | 5e888b5504a9daad86663837ca9e996d63a48821 (diff) | |
download | servo-c69567406e32521b504f4e20e1be75177a4d47ee.tar.gz servo-c69567406e32521b504f4e20e1be75177a4d47ee.zip |
Fix #12193 Servo displays upper level Thai character in wrong place.
-rw-r--r-- | components/gfx/text/glyph.rs | 12 | ||||
-rw-r--r-- | tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini | 3 |
2 files changed, 6 insertions, 9 deletions
diff --git a/components/gfx/text/glyph.rs b/components/gfx/text/glyph.rs index 73a66ff19bf..ea5a009959e 100644 --- a/components/gfx/text/glyph.rs +++ b/components/gfx/text/glyph.rs @@ -254,10 +254,10 @@ impl<'a> DetailedGlyphStore { let i = self.detail_lookup.binary_search(&key) .expect("Invalid index not found in detailed glyph lookup table!"); - - assert!(i + (count as usize) <= self.detail_buffer.len()); + let main_detail_offset = self.detail_lookup[i].detail_offset; + assert!(main_detail_offset + (count as usize) <= self.detail_buffer.len()); // return a slice into the buffer - &self.detail_buffer[i .. i + count as usize] + &self.detail_buffer[main_detail_offset .. main_detail_offset + count as usize] } fn detailed_glyph_with_index(&'a self, @@ -274,9 +274,9 @@ impl<'a> DetailedGlyphStore { let i = self.detail_lookup.binary_search(&key) .expect("Invalid index not found in detailed glyph lookup table!"); - - assert!(i + (detail_offset as usize) < self.detail_buffer.len()); - &self.detail_buffer[i + (detail_offset as usize)] + let main_detail_offset = self.detail_lookup[i].detail_offset; + assert!(main_detail_offset + (detail_offset as usize) < self.detail_buffer.len()); + &self.detail_buffer[main_detail_offset + (detail_offset as usize)] } fn ensure_sorted(&mut self) { diff --git a/tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini b/tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini deleted file mode 100644 index b2b3212943b..00000000000 --- a/tests/wpt/metadata-css/css-text-3_dev/html/word-break-break-all-007.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[word-break-break-all-007.htm] - type: reftest - expected: FAIL |