You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
4.1 KiB
81 lines
4.1 KiB
6 years ago
|
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
|
||
|
|