LibGfx+LibWeb: Use harfbuzz for text shaping

This replaces glyph positioning system with harfbuzz's shaping
algorithm. Adding support for bidirectional encoded text.
This commit is contained in:
BenJilks 2024-08-13 17:05:43 +01:00 committed by Alexander Kalenik
commit 0d63269cb7
Notes: github-actions[bot] 2024-08-16 20:29:29 +00:00
48 changed files with 365 additions and 333 deletions

View file

@ -7,10 +7,10 @@ Viewport <#document> at (0,0) content-size 800x600 children: not-inline
frag 0 from TextNode start: 0, length: 12, rect: [12,12 69.734375x17] baseline: 13.296875
"floats!!!!!!"
TextNode <#text>
BlockContainer <div.float-left> at (12,31) content-size 232.71875x218 floating [BFC] children: inline
frag 0 from TextNode start: 0, length: 5, rect: [12,31 232.71875x109] baseline: 84.484375
BlockContainer <div.float-left> at (12,31) content-size 232.734375x218 floating [BFC] children: inline
frag 0 from TextNode start: 0, length: 5, rect: [12,31 232.734375x109] baseline: 84.484375
"float"
frag 1 from TextNode start: 6, length: 4, rect: [12,140 164.0625x109] baseline: 84.484375
frag 1 from TextNode start: 6, length: 4, rect: [12,140 164.078125x109] baseline: 84.484375
"left"
TextNode <#text>
@ -20,5 +20,5 @@ ViewportPaintable (Viewport<#document>) [0,0 800x600]
PaintableWithLines (BlockContainer<DIV>.Layout-sidebar) [10,10 222x21]
PaintableWithLines (BlockContainer<DIV>.d-inline-block) [11,11 102x19]
TextPaintable (TextNode<#text>)
PaintableWithLines (BlockContainer<DIV>.float-left) [11,30 234.71875x220]
PaintableWithLines (BlockContainer<DIV>.float-left) [11,30 234.734375x220]
TextPaintable (TextNode<#text>)