diff options
Diffstat (limited to 'chromium-harfbuzz-2.0.patch')
-rw-r--r-- | chromium-harfbuzz-2.0.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/chromium-harfbuzz-2.0.patch b/chromium-harfbuzz-2.0.patch new file mode 100644 index 000000000000..bbf4d3d9fe4f --- /dev/null +++ b/chromium-harfbuzz-2.0.patch @@ -0,0 +1,55 @@ +--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc ++++ a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc +@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font, + static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font, + void* font_data, + unsigned count, +- hb_codepoint_t* first_glyph, ++ const hb_codepoint_t* first_glyph, + unsigned int glyph_stride, + hb_position_t* first_advance, + unsigned int advance_stride, +--- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc ++++ a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc +@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) { + return reinterpret_cast<T*>(reinterpret_cast<uint8_t*>(p) + byte_size); + } + ++template <class T> ++T* advance_by_byte_size_const(T* p, unsigned byte_size) { ++ return reinterpret_cast<T*>(reinterpret_cast<const uint8_t*>(p) + byte_size); ++} ++ + } // namespace + + SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) { +@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint, + } + + void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, +- hb_codepoint_t* glyphs, ++ const hb_codepoint_t* glyphs, + unsigned glyph_stride, + hb_position_t* advances, + unsigned advance_stride) { +@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, + // array that copy them to a regular array. + Vector<Glyph, 256> glyph_array(count); + for (unsigned i = 0; i < count; +- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) { ++ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) { + glyph_array[i] = *glyphs; + } + Vector<SkScalar, 256> sk_width_array(count); +--- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h ++++ a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h +@@ -19,7 +19,7 @@ class SkiaTextMetrics final { + + void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width); + void GetGlyphWidthForHarfBuzz(unsigned count, +- hb_codepoint_t* first_glyph, ++ const hb_codepoint_t* first_glyph, + unsigned glyph_stride, + hb_position_t* first_advance, + unsigned advance_stride); +-- |