diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart index 20740c1206a..86f23a36984 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart @@ -2071,9 +2071,13 @@ extension SkFontFeatureExtension on SkFontFeature { class SkTypeface {} @JS('window.flutterCanvasKit.Font') +@staticInterop class SkFont { external factory SkFont(SkTypeface typeface); - external Uint8List getGlyphIDs(String text); +} + +extension SkFontExtension on SkFont { + external Uint16List getGlyphIDs(String text); external void getGlyphBounds( List glyphs, SkPaint? paint, Uint8List? output); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart index b66660f1fc8..eb1224c054c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/font_fallbacks.dart @@ -131,7 +131,7 @@ class FontFallbackData { List.filled(codeUnits.length, false); final String testString = String.fromCharCodes(codeUnits); for (final SkFont font in fonts) { - final Uint8List glyphs = font.getGlyphIDs(testString); + final Uint16List glyphs = font.getGlyphIDs(testString); assert(glyphs.length == codeUnitsSupported.length); for (int i = 0; i < glyphs.length; i++) { codeUnitsSupported[i] |= glyphs[i] != 0 || _isControlCode(codeUnits[i]); @@ -182,7 +182,7 @@ class FontFallbackData { continue; } for (final SkFont font in fontsForFamily) { - final Uint8List glyphs = font.getGlyphIDs(testString); + final Uint16List glyphs = font.getGlyphIDs(testString); assert(glyphs.length == codeUnitsSupported.length); for (int i = 0; i < glyphs.length; i++) { final bool codeUnitSupported = glyphs[i] != 0;