mirror of
https://github.com/SerenityOS/serenity
synced 2026-05-09 00:22:43 +02:00
The ChunkIterator now limits a chunk to using only one font (before, it was possible to have a chunk with >1 font, when `unicode-range` CSS property is used). This change allows us to reduce some complexity in the text shaping and painting code and makes us compatible with the APIs in Skia and HarfBuzz. (cherry picked from commit 7181c3f2ea5fba73e77d98acbf9e46640b4a9015, minorly amended to fix conflicts caused by: * Our VectorFont not being renamed to Typeface * Us cherry-picking https://github.com/LadybirdBrowser/ladybird/pull/502 first * Us still having bitmap fonts, and hence needing glyph_spacing() Also amended for: * AffineDisplayListPlayerCPU changes * Removing pure virtuals for glyph_id_for_code_point and glyph_id_for_code_point in Font.h again since we still have BitmapFont which can't implement them * Updating more Painter methods that we still had (Painter::draw_glyph_or_emoji(), Painter::draw_text_run()) )
13 KiB
13 KiB