diff --git a/wrapper/include/AlphaSkiaCanvas.h b/wrapper/include/AlphaSkiaCanvas.h index b2e3af4..051fd34 100644 --- a/wrapper/include/AlphaSkiaCanvas.h +++ b/wrapper/include/AlphaSkiaCanvas.h @@ -44,8 +44,6 @@ class AlphaSkiaCanvas private: SkPaint create_paint(); - std::string convert_utf16_to_utf8(const char16_t *text); - SkColor color_; float line_width_; sk_sp surface_; diff --git a/wrapper/src/AlphaSkiaCanvas.cpp b/wrapper/src/AlphaSkiaCanvas.cpp index 321e943..cf3d046 100644 --- a/wrapper/src/AlphaSkiaCanvas.cpp +++ b/wrapper/src/AlphaSkiaCanvas.cpp @@ -301,8 +301,6 @@ void AlphaSkiaCanvas::text_run(const char16_t *text, font.setSubpixel(true); font.setHinting(SkFontHinting::kNormal); - std::string utf8(convert_utf16_to_utf8(text)); - HBFont harfBuzzFont(make_harfbuzz_font(font)); SkTextBlobBuilder builder; @@ -317,7 +315,7 @@ void AlphaSkiaCanvas::text_run(const char16_t *text, HBBuffer buffer(hb_buffer_create()); hb_buffer_set_direction(buffer.get(), HB_DIRECTION_LTR); hb_buffer_set_language(buffer.get(), hb_language_get_default()); - hb_buffer_add_utf8(buffer.get(), utf8.c_str(), -1, 0, -1); + hb_buffer_add_utf16(buffer.get(), reinterpret_cast(text), -1, 0, -1); hb_shape(harfBuzzFont.get(), buffer.get(), nullptr, 0);