1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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);
--
|