diff --git a/Tests/LibGfx/TestFontHandling.cpp b/Tests/LibGfx/TestFontHandling.cpp index 1aa905c3a54..a1cde06f267 100644 --- a/Tests/LibGfx/TestFontHandling.cpp +++ b/Tests/LibGfx/TestFontHandling.cpp @@ -5,6 +5,7 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include @@ -125,7 +126,10 @@ TEST_CASE(test_glyph_or_emoji_width) u8 glyph_width = 1; auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); - EXPECT(font->glyph_or_emoji_width(0)); + Utf8View view { " "sv }; + auto it = view.begin(); + + EXPECT(font->glyph_or_emoji_width(it)); } TEST_CASE(test_load_from_file) diff --git a/Userland/Libraries/LibGfx/Font/BitmapFont.cpp b/Userland/Libraries/LibGfx/Font/BitmapFont.cpp index 052db62e0fc..4a66a08c523 100644 --- a/Userland/Libraries/LibGfx/Font/BitmapFont.cpp +++ b/Userland/Libraries/LibGfx/Font/BitmapFont.cpp @@ -326,14 +326,6 @@ static float glyph_or_emoji_width_impl(BitmapFont const& font, CodePointIterator return font.glyph_width(*it); } -float BitmapFont::glyph_or_emoji_width(u32 code_point) const -{ - Utf32View code_point_view { &code_point, 1 }; - auto it = code_point_view.begin(); - - return glyph_or_emoji_width_impl(*this, it); -} - float BitmapFont::glyph_or_emoji_width(Utf8CodePointIterator& it) const { return glyph_or_emoji_width_impl(*this, it); diff --git a/Userland/Libraries/LibGfx/Font/BitmapFont.h b/Userland/Libraries/LibGfx/Font/BitmapFont.h index b786ef6b131..6fee183ee99 100644 --- a/Userland/Libraries/LibGfx/Font/BitmapFont.h +++ b/Userland/Libraries/LibGfx/Font/BitmapFont.h @@ -61,7 +61,6 @@ public: bool contains_glyph(u32 code_point) const override; bool contains_raw_glyph(u32 code_point) const { return m_glyph_widths[code_point] > 0; } - virtual float glyph_or_emoji_width(u32) const override; virtual float glyph_or_emoji_width(Utf8CodePointIterator&) const override; virtual float glyph_or_emoji_width(Utf32CodePointIterator&) const override; diff --git a/Userland/Libraries/LibGfx/Font/Font.h b/Userland/Libraries/LibGfx/Font/Font.h index ce3575010d5..49e574c7712 100644 --- a/Userland/Libraries/LibGfx/Font/Font.h +++ b/Userland/Libraries/LibGfx/Font/Font.h @@ -167,7 +167,6 @@ public: virtual float glyph_left_bearing(u32 code_point) const = 0; virtual float glyph_width(u32 code_point) const = 0; - virtual float glyph_or_emoji_width(u32 code_point) const = 0; virtual float glyph_or_emoji_width(Utf8CodePointIterator&) const = 0; virtual float glyph_or_emoji_width(Utf32CodePointIterator&) const = 0; virtual float glyphs_horizontal_kerning(u32 left_code_point, u32 right_code_point) const = 0; diff --git a/Userland/Libraries/LibGfx/Font/ScaledFont.cpp b/Userland/Libraries/LibGfx/Font/ScaledFont.cpp index ad94ce7d1ca..403923c2eb1 100644 --- a/Userland/Libraries/LibGfx/Font/ScaledFont.cpp +++ b/Userland/Libraries/LibGfx/Font/ScaledFont.cpp @@ -98,23 +98,20 @@ float ScaledFont::glyph_width(u32 code_point) const return metrics.advance_width; } -float ScaledFont::glyph_or_emoji_width(u32 code_point) const -{ - auto id = glyph_id_for_code_point(code_point); - auto metrics = glyph_metrics(id); - return metrics.advance_width; -} - float ScaledFont::glyph_or_emoji_width(Utf8CodePointIterator& it) const { // FIXME: Support multi-code point emoji with scaled fonts. - return glyph_or_emoji_width(*it); + auto id = glyph_id_for_code_point(*it); + auto metrics = glyph_metrics(id); + return metrics.advance_width; } float ScaledFont::glyph_or_emoji_width(Utf32CodePointIterator& it) const { // FIXME: Support multi-code point emoji with scaled fonts. - return glyph_or_emoji_width(*it); + auto id = glyph_id_for_code_point(*it); + auto metrics = glyph_metrics(id); + return metrics.advance_width; } float ScaledFont::glyphs_horizontal_kerning(u32 left_code_point, u32 right_code_point) const diff --git a/Userland/Libraries/LibGfx/Font/ScaledFont.h b/Userland/Libraries/LibGfx/Font/ScaledFont.h index f88a36937f6..14a3e38b33c 100644 --- a/Userland/Libraries/LibGfx/Font/ScaledFont.h +++ b/Userland/Libraries/LibGfx/Font/ScaledFont.h @@ -46,7 +46,6 @@ public: virtual Glyph glyph(u32 code_point, GlyphSubpixelOffset) const override; virtual bool contains_glyph(u32 code_point) const override { return m_font->glyph_id_for_code_point(code_point) > 0; } virtual float glyph_width(u32 code_point) const override; - virtual float glyph_or_emoji_width(u32 code_point) const override; virtual float glyph_or_emoji_width(Utf8CodePointIterator&) const override; virtual float glyph_or_emoji_width(Utf32CodePointIterator&) const override; virtual float glyphs_horizontal_kerning(u32 left_code_point, u32 right_code_point) const override;