{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreicocjatgvympczl7rik4nq4tz4pkokl7fgvfhpcy6p4tafzrbk5me",
"uri": "at://did:plc:jo3wjj2gx46alocis4wubmwr/app.bsky.feed.post/3mhnfximq4ek2"
},
"path": "/blog/2026/03/22/complex-scripts-in-terminal/",
"publishedAt": "2026-03-21T23:30:00.000Z",
"site": "https://thottingal.in",
"tags": [
"Kitty",
"Neovim"
],
"textContent": "As a programmer, I spend most of my time in a terminal application like Kitty. I use Neovim as my code editor. I use CLI based AI agents. But the biggest pain, even in 2026, is that there is no terminal that can render complex scripts like Indic languages or Arabic. This is a significant limitation for me, as most of my work involves language processing.\n\nIn this article, I will give a brief overview of why this issue remains unsolved—covering the character-cell grid model, width measurement, and the distinction between text shaping and rendering—along with ongoing efforts and a small tool I built recently that illustrates a solution path.",
"title": "Rendering complex scripts in terminal and OSC 66"
}