State of Text Rendering 2024 (behdad.org)
from Chewy7324@discuss.tchncs.de to linux@lemmy.ml on 11 Jul 2024 10:49
https://discuss.tchncs.de/post/18711947

[The author assumes] a high-level understanding of how text rendering works, for example, what shaping is. If that does not sound familiar to you, you might want to review State of Text Rendering (2009), and Modern text rendering with Linux: Overview (2019).

#linux

threaded - newest

56_@lemmy.ml on 11 Jul 2024 20:43 next collapse

I’m not entirely sure how I feel about fonts containing WASM code… It feels like we’re overcomplicating things a bit.

FooBarrington@lemmy.world on 12 Jul 2024 09:16 collapse

Fonts have been programs for a long time. Better to have the code in a safe VM than natively executed.

56_@lemmy.ml on 12 Jul 2024 11:30 collapse

Do you have a link for that, or a term I can search for? I’m not finding anything about it.

FooBarrington@lemmy.world on 12 Jul 2024 11:57 collapse

Here are a couple of links that should be good starting points:

superuser.com/…/can-truetype-fonts-contain-malici…

…stackexchange.com/…/how-can-a-font-be-used-for-p…

56_@lemmy.ml on 12 Jul 2024 13:05 collapse

That is interesting. WASM seems like it’s just a replacement for the TrueType hinting language (which is already a VM). So I guess it’s benefiting from a more standardised and audited virtual machine.

It’s also fairly limited to what it can do (source):

you can influence the process of mapping a string of characters into an array of glyphs, you can determine how those glyphs are positioned and their advance widths, but you cannot manipulate outlines, variations, line breaks, or affect text layout between texts of different font, variation, language, script or OpenType feature selection

I don’t see how the mentioned future drawing API will fit into that though.

FooBarrington@lemmy.world on 12 Jul 2024 15:06 collapse

Yeah, the real benefit will be the ability to re-use well tested and hopefully even proven WASM VMs.

[deleted] on 13 Jul 2024 15:23 collapse

.