Jelle Raaijmakers
df20ac0f3c
LibGfx: Optimize Gfx::measure_text_width()
...
Instead of constructing a GlyphRun, just add the X advances of all
glyphs to determine a text's width.
2025-06-17 17:03:33 +02:00
Jelle Raaijmakers
631c857301
LibGfx: Only determine glyphs info once in TextLayout
...
We were calling into `hb_buffer_get_glyph_infos()` twice and setting up
an unused `Vector<hb_glyph_info_t>`.
2025-06-17 17:03:33 +02:00
Jelle Raaijmakers
7d1ee3a2fa
LibGfx+LibWeb: Perform unchecked appends related to text layout
...
Use unchecked appends in places where we know for certain the vector has
enough capacity.
2025-06-17 11:55:28 +02:00
Jelle Raaijmakers
6710aa102a
LibGfx: Return NonnullRefPtr
in Gfx::shape_text()
...
We always return a glyph run here.
2025-06-17 11:55:28 +02:00
Jelle Raaijmakers
dd4d7d0939
LibGfx: Ensure capacity for glyph runs in TextLayout
...
We can reserve the capacity for new glyph runs since we already know the
glyph count.
2025-06-13 17:31:18 +02:00
Aliaksandr Kalenik
f6b0851c38
LibGfx+LibWeb: Support per-glyph font fallbacks in canvas text painting
...
Instead of using the first font from the FontCascadeList for all glyphs
in a text, we perform a text shaping process that finds a suitable font
for each glyph and returns a list of glyph runs, where each glyph run
represents consecutive glyphs using the same font.
2025-04-21 09:51:16 +02:00
Aliaksandr Kalenik
16e883a9a3
LibGfx+LibWeb: Don't include start.x in GlyphRun width
...
For some reason we were including x offset of start position into glyph
run width. This is not correct and would be revealed by the upcoming
changes.
2025-04-21 09:51:16 +02:00
Andreas Kling
ed5ad267c7
LibWeb: Keep harfbuzz hb_buffer instead of reallocating every time
...
Easy 1% speed-up on Speedometer 3.
2025-04-19 01:14:02 +02:00
Johan Dahlin
083f4f3d08
LibWeb: Layout/Shape font-variant-* css properties
2024-12-17 19:07:13 +01:00
Pavel Shliak
8a07131229
LibGfx: Clean up #include directives
...
We actually include what we use where we use it.
This change aims to improve the speed of incremental builds.
2024-11-20 21:13:23 +01:00
Timothy Flynn
93712b24bf
Everywhere: Hoist the Libraries folder to the top-level
2024-11-10 12:50:45 +01:00