{
  "$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"
}