41 points gnodar | 5 comments | | HN request time: 0.638s | source
1. flakiness ◴[] No.42178448[source]
Kind of related: https://browser.engineering/
2. favorited ◴[] No.42178529[source]
I really enjoyed this author's "Complex Text Handling in WebKit" series from a few years back. They're spread over several months on the blog, so here are the direct links to each part, if anyone is interested:

Part 1: Encoding Systems, Code Points, and Code Units <https://litherum.blogspot.com/2013/11/complex-text-handling-...>

Part 2: Fonts <https://litherum.blogspot.com/2013/11/complex-text-handling-...>

Part 3: Codepoint to Glyph Mapping <https://litherum.blogspot.com/2014/02/complex-text-handling-...>

Part 4: Line Breaking <https://litherum.blogspot.com/2014/04/complex-text-handling-...>

Part 5: Bidirectional Processing <https://litherum.blogspot.com/2014/11/complex-text-handling-...>

Part 6: Run Layout <https://litherum.blogspot.com/2014/11/complex-text-handling-...>

Part 7: Width Calculations <https://litherum.blogspot.com/2014/11/complex-text-handling-...>

3. jll29 ◴[] No.42178763[source]
This reads well and might have been called "when plain text meets bitmapped graphics output devices". There's a fair amount of Internationalization (I18N) knowledge required in the process, some of which is mentioned in passing.

Someone ought to write a companion post for keyboard input entry (including topics like input methods for Asian languages, bi-directional (BiDi) writing/editing order e.g. of semitic languages, various common keyboard layouts etc.).

4. chris_wot ◴[] No.42179013[source]
Even better rundown:

https://raphlinus.github.io/text/2020/10/26/text-layout.html