Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #4251

L

Litherum

Personal blog · litherum.blogspot.comprogrammingsystems

Litherum is a personal blog at litherum.blogspot.com about programming and systems. Since 2019, 17 different Hacker News readers have linked it 24 times, most often “Addition Font”. It is still writing: the last post was on 2026-05-30, and you can follow it by feed.

Visit the blog
24mentions?
17HN people?
2019–2026first – last linked?
Links on Hacker News per year · peak 5 in 2019

Too few sampled comments (12) to say how often HN recommends it.?

Why HN links it

HN readers link this blog for its posts on text layout and font technology, especially the 2019 post showing OpenType glyph substitution is Turing-complete. Commenters also cite its Knuth-Plass and WebKit text-handling posts.

Summarised by Claude from a sample of 12 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. Addition Font
    10 people · 11 mentions · first linked 2019-03-11
  2. Addition Font with Turing Complete Glyph Substitution
    3 people · 3 mentions · first linked 2019-03-10

What Hacker News says?

  1. You may not have an explicit rand(), but with the ligatures & substitution rules, you can add so much context sensitivity that no one will ever spot any duplications. That's how you can do things like https://litherum.blogspot.com/2019/03/addition-font.html https://pagedout.institute/download/PagedOut_002_beta2.pdf#p... https://aftertheflood.com/journal/the-worlds-first-code-free... https://www.coderelay.io/fontemon…

    Comment linking /2019/03/addition-font.html

    on “Yep, I created the new Avatar font”
  2. Submitted Addition Font as a story · 152 points

    HN discussion
  3. I mean, fonts are Turing-complete [0], so it isn’t surprising that this is possible. Turing-completeness is often by accident rather than by genius [1]. [0] https://litherum.blogspot.com/2019/03/addition-font.html [1] https://en.wikipedia.org/wiki/Turing_completeness#Unintentio...

    Comment linking /2019/03/addition-font.html

    on “Furifont, a Japanese font that shows furigana”
  4. Submitted Proving the Turing Completeness of Fonts as a story · 61 points

    HN discussion
  5. https://litherum.blogspot.com/2019/03/addition-font.html "So this is pretty cool, but it turns out that the contextual substitution lookup type is really powerful. This is because the table that it references can be itself, which means it can be recursive." […] "So thats a pretty powerful virtual machine. I think the above is sufficient to prove Turing complete-ness."

    Comment linking /2019/03/addition-font.html

    on “Color fonts on Google Fonts”
  6. Submitted End-to-End Tour of Text Layout/Rendering (2015) as a story · 43 points

    HN discussion
  7. Fonts are not like photos, they have hinting and kerning and conditional code that distinguishes a high quality font from crap. The glyph substitution table in OpenType fonts is of such complexity that it's been shown to be Turing complete. [ https://litherum.blogspot.com/2019/03/addition-font.html ]

    Comment linking /2019/03/addition-font.html

    on “Monotype launches the first redesign of Helvetica in 35 years”
  8. Submitted Addition Font (2019) as a story · 2 points

    HN discussion
  9. Yes: https://litherum.blogspot.com/2019/03/addition-font.html

    Comment linking /2019/03/addition-font.html

    on “Commas in big numbers everywhere: An OpenType adventure”
  10. Submitted Addition Font with Turing Complete Glyph Substitution as a story · 2 points

    HN discussion
  11. I suspect the opposite situation is what you run into: it is possible to write programs that are valid and out to be accepted by the type system, but get rejected because you blew the stack of the type checker. Had the type checker been allocated more memory / time, it could have accepted the program, but it crashed before that. This reminds me of that: http://litherum.blogspot.com/2019/03/addition-font.html You can…

    Comment linking /2019/03/addition-font.html

    on “Rust's type system is Turing-complete (2017)”
  12. Submitted Implementing a GPU's Programming Model on a CPU as a story · 1 points

    HN discussion
  13. (Not a language or Unicode expert, the following likely has important mistakes.) > Off the top of my head, I don't know of a terminal that actually implements the entire (very complex) set of Unicode text rendering behaviors There are at least two reasons for this: First, nobody actually seems to know how bidirectional text should interact with terminal control sequences, or indeed how it should be typeset on a term…

    Comment linking /2019/03/addition-font.html

    on “Libgrapheme: A simple freestanding C99 library for Unicode”
  14. I think that is thanks to the Knuth-Plass algorithm, with Knuth being the inventor of Tex, which powers Latex. The problem seems not trivial indeed. http://www.eprg.org/G53DOC/pdfs/knuth-plass-breaking.pdf https://tex.stackexchange.com/questions/230668/any-progress-... http://litherum.blogspot.com/2015/07/knuth-plass-line-breaki...

    Comment linking /2015/07/knuth-plass-line-breaking-algorithm.html

    on “How to use (or not use) a hyphen”
  15. Given that the OpenType font format is Turing-complete [0], I would challenge the “without code” claim. ;) [0] https://litherum.blogspot.com/2019/03/addition-font.html

    Comment linking /2019/03/addition-font.html

    on “Sparks – A typeface for creating sparklines in text without code”
  16. favorited · 2024-11-18Recommends
    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…

    Comment linking /2014/11/complex-text-handling-in-webkit-part-7.html

    on “End-to-End Tour of Text Layout/Rendering (2015)”
  17. OpenType is basically turing-complete via glyph shaping. There's an explanation here: https://litherum.blogspot.com/2019/03/addition-font.html

    Comment linking /2019/03/addition-font.html

    on “Times New Bastard”
  18. Hinting might be a red herring here: these font formats are unsafe almost by design, since they consistently rely on a pattern of reading a value out of a chunk of memory and then treating that value as a pointer offset where additional values are read. The proposed WASM shaping implementation would be a replacement for traditional OpenType layout[1] which is already turing complete[2]), and in this sense using WASM…

    Comment linking /2019/03/addition-font.html

    on “The Web Assembly Shaper”

Search all of HN for litherum.blogspot.com

Linked by the same people?