1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 13:07:46 +00:00

LibGfx: Support computing a font's glyph width with code point iterators

This allows consideration of multi-code point glyphs.
This commit is contained in:
Timothy Flynn 2023-02-20 14:40:12 -05:00 committed by Andreas Kling
parent 71967bc5de
commit a391ea3da3
5 changed files with 46 additions and 22 deletions

View file

@ -47,6 +47,8 @@ public:
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;
virtual float preferred_line_height() const override { return metrics().height() + metrics().line_gap; }
virtual u8 glyph_height() const override { return pixel_size(); }