Why is software still built like billions don't exist in 2026?

Posted by yerushalayim 1 day ago

Counter8Comment9OpenOriginal

I ran into a surprisingly fundamental problem while editing a PDF: typing a full line of right‑to‑left text (Farsi, Arabic, Hebrew, etc.) into a browser PDF editor looks fine while typing, but the moment you click outside the text box, the entire line disappears. Only tiny fragments survive.

What’s wild is that this isn’t limited to one browser — it happens across multiple Chromium‑based PDF editors because they all inherit the same underlying behavior. It’s 2026, and somehow the most widely used browser engine still can’t reliably commit a line of RTL text into a PDF.

This isn’t a niche corner case. Billions of people use non‑English scripts every day. Yet basic text handling in PDFs — one of the most common document formats on the planet — still breaks in ways that feel like the 1990s.

I know PDF internals are messy, but it’s still surprising that something this fundamental remains broken across so many tools. Anyone else run into this?

Comments

Comment by Antibabelic 1 day ago

Because most software comes from Anglophone or at least Western markets, who often don't even suspect problems like this might pop up for customers in other countries.

Unfortunately, it is generally up to the local developers to provide solutions, and they are often not up to the task. For example, Affinity Designer had poor RTL support for the longest time, due to certain assumptions built into their text rendering engine from the start. But making an equally featureful alternative with better support for these scripts would be a monumental task.

Comment by yerushalayim 1 day ago

You’re right that a lot of software comes out of Anglophone or Western contexts, but that’s exactly why these issues persist. The problem isn’t that RTL is “hard” — it’s that most text engines, layout systems, and PDF toolkits were originally architected with implicit LTR assumptions baked deep into the rendering pipeline.

Once those assumptions are embedded in things like glyph ordering, bidi resolution, cursor movement, hit‑testing, line breaking, and font fallback, fixing RTL becomes a retrofit instead of a design principle. By the time a team realizes the gap, the shaping and layout stack is so tightly coupled that adding proper bidi handling feels like a massive rewrite.

You see this pattern everywhere: PDFium (used by all Chromium browsers), various UI frameworks, and even some OS‑level text components still mishandle RTL in 2026. The symptoms are always the same — disappearing text, reversed glyph order, broken cursor navigation, or failure to commit text at all.

This isn’t a niche corner case. Hebrew, Arabic, Farsi, Urdu, and other RTL scripts represent hundreds of millions of daily users. The real issue is that global language support is still treated as optional rather than foundational, and the technical debt from those early assumptions keeps compounding.

Comment by Juliate 1 day ago

Even basic local names in Western contexts (with characters other than just [a-zA-Z0-9_\ ]) cannot be properly and consistently input or searched in most of corporate or retail software, at the basic text level, because they rely on broken assumptions that even modern ERPs still follow. I routinely sift through 3 or 4 different spellings of my name every time someone asks for my name in their systems.

I cannot imagine the nightmare it must be for non-western languages.

I don't know exactly what the real, hard incentive is to make it happen at last, as this needs a strong perspective over software as a tool to serve people, as well as some kind of artistic literacy: we need more people to care about the tools they build, and more people to pay the makers because of that. Steve Jobs, with all his downsides, had this kind of focus and impact. But this needs to be systemic, not exceptional.

Comment by yerushalayim 1 day ago

You’re absolutely right that even “Western‑adjacent” names break in systems that were never designed to handle anything beyond ASCII. It’s no surprise that entire writing systems fall through the cracks.

Same goes for Steve Jobs. One of his most underrated contributions was his insistence that typography, calligraphy, and the aesthetics of written language were not decorative extras but core to the human interface. Apple invested early in system‑wide text rendering that treated all scripts as first‑class citizens. It wasn’t perfect, but it showed what happens when leadership actually cares about the universality of writing and makes it systemic.

Comment by fuzzfactor 1 day ago

>things like glyph ordering, bidi resolution, cursor movement, hit‑testing, line breaking, and font fallback

I think part of the problem is that things like this are often just barely working on the one set of test data that often just barely covers the fundamental requirement in its most simplified "happy path" form to begin with. LTR in this case.

And then the coders move on to get the next objective barely working, but nobody ever goes back far enough to reinforce the weak points in the fundamental structure before it's a far more challenging task. And then if done it's still too challenging to go all the way back.

Comment by breezykoi 1 day ago

I've gotten into the habit of replacing the accented "é" in my first name with a plain ASCII "e" in forms to avoid troubles. The worse part is that the form is usually accepted, then later on you encounter random issues (cannot log back in, ...).

Comment by tacostakohashi 1 day ago

You seem to be mixing up right-to-left and "non English". Lots of non-english languages are not RTL and work great, notably European and Asian languages.

The right-to-left scripts/languages are relatively esoteric, and their market share probably rounds down to 0 for Google.

Comment by aristofun 1 day ago

Until recently it was not worth the effort to even bother identifying problems like this. For many markets and fields it is still not worth the effort because most profit on those areas come from LTR based nations

Comment by FrankWilhoit 1 day ago

If product A can sell 50 million units and product B can sell 49 million units, product B will not be produced.