Remix.run Logo
Affric 6 hours ago

How often are complex scripts rendered in terminal? What is the cost to scripts that are currently rendered accurately by terminal? Are there any group of tools that operate in complex scripts?

EDIT: Without saying that I think this is worthy and cool. I am just curious about the costs and benefits of such a tool.

Joker_vD 4 hours ago | parent | next [-]

> How often are complex scripts rendered in terminal?

If you speak the languages that use those scripts? Then all the time, I imagine. The support for double-char width cells in the terminals started to appear all the way back in the late seventies because Japan, you know, existed and kinda mattered.

Affric an hour ago | parent [-]

I am deeply ignorant on the matter.

All the languages I am literate in use an alphabet and I have never encountered a script in anything other alphabetic scripts in the terminal, and never anything not in English for serious work.

I would think we would probably have far fewer characters with hard to determine widths being printed in terminal (before LLMs) as most of it would be rendered in the GUI, which state of the art terminal emulators somewhat rely on anyway.

My guess is that LLMs made translation for these sorts of tools much easier (just needing someone fluent in both languages to verify rather than translate from scratch) but that's why I am asking. Is it more common now than ever before?

Beyond that the examples given were of scripts that are widely used in India which is a country with the world's largest English speaking population and one of the world's most spoken English dialects and also a huge IT sector.

I get that CJK has an existing double width carve out, that is being proposed to be kept by the objection linked in the article.

Joker_vD an hour ago | parent [-]

The terminal-based editors like vim/emacs exist. Ideally they should work just as well the GUI-based editors, no matter what text files they're tasked to open and edit.

As for the scripts, Unicode is slowly rounding up with the actually used scripts, but it's still not quite there yet.

And then there are emojis, of course, which we get new sets every couple of years, which makes the life of the terminal emulators simply terrible. There is simply no good way to support emoji sequences in the terminal, I believe. Consider e.g. HEART ON FIRE (READ HEART, ZWJ, FIRE) and PHOENIX (BIRD, ZWJ, FIRE) emojis: the terminal emulator may or may not be aware of the existences of those emoji sequences depending on which version of ICU it is build against, and even if it is aware of them, then the currently selected font may not have the required glyphs so it has to fall back to the fallback display (4 cells of two basic emojis vs. 2 cells of the combined glyph). And of course, the font itself may have completely bonkers dimensions for its glyphs: as I understand it, Google's Noto Emoji font has glyphs for playing cards that are 1.5 cells wide even though they're supposed to be narrow (only 1 cells wide); there is nothing much the terminal emulator can do with that.

genC_old_one 4 hours ago | parent | prev [-]

[dead]