Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
88 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001 | ||
From: Mike Gilbert <floppymaster@gmail.com> | ||
Date: Sun, 21 Oct 2018 10:06:53 -0400 | ||
Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t | ||
pointers | ||
|
||
This resolves a build failure against harfbuzz 2.0. | ||
|
||
Based on a patch by Alexandre Fierreira. | ||
|
||
Bug: https://bugs.gentoo.org/669034 | ||
--- | ||
.../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +- | ||
.../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++-- | ||
.../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +- | ||
3 files changed, 9 insertions(+), 4 deletions(-) | ||
|
||
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc | ||
index 8e7d91ca371f..e279a5876cb3 100644 | ||
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc | ||
+++ b/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, | ||
diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc | ||
index 77ec6209fab9..9f9070921448 100644 | ||
--- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc | ||
+++ b/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); | ||
diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h | ||
index 787d8af0375a..3bc4407c641b 100644 | ||
--- a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h | ||
+++ b/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); | ||
-- | ||
2.19.1 | ||
|
This file was deleted.
Oops, something went wrong.