something that I don't see discussed too much in the push to get off of election/web technologies is the impact that has on displaying non-latin text. if you are writing your own text renderer you are almost guaranteed to get it wrong when it comes to languages you are not familiar with. arabic is particularly badly served in this regard and I collect the many fuck ups on notarabic.com
for all of its faults (and there are many!) the web stack is still one of the best ways to not mess up text...
like, have you ever written a text renderer that looks like this:
def render(string, x, y):
foreach c in string:
draw(c, x, y)
x += width(c)
i know i have! it looks innocent enough and works for english, but it literally hardcodes the assumptions that text is left-to-right and not-cursive. faced with arabic it will fail silently and give you what you see on https://notarabic.com/. the full solution requires something like https://en.wikipedia.org/wiki/HarfBuzz
@akkartik @nasser neatroff is a from scratch troff implementation with support for right-to-left scripts, maybe there is something useful there: https://litcave.rudi.ir