Hi, > Personally, I think we should simply assume that complex script > shaping is left to the terminal, and if the terminal cannot do that, > then that's a restriction of working on a text terminal.
I cannot read any of the Arabic, Syriac etc. scripts, but I did lots of experimenting with picking random Arabic words, displaying in the terminal their unshaped as well as shaped (using presentation form characters) variants, and compared them to pango-view's (harfbuzz's) rendering. To my eyes the version I got in the terminal with the presentation form characters matched the "expected" (pango-view) rendering extremely closely. Of course there's still some tradeoffs due to fixed with cells (just as in English, arguably an "i" and "w" having the same width doesn't look as nice as with proportional fonts). In the mean time, the unshaped characters looks vastly differently. > OTOH a terminal emulator who wants to perform shaping needs > information from the application And the presentation form characters are pretty much exactly that information, aren't they (for Arabic)? > There's nothing you can do here [...] there's no way for the application to > provide Instead of saying that it's not possible, could we perpahs try to solve it, or at least substantially improve the situation? I mean, for example we can introduce control characters that specify the language. We can introduce a flag that tells the terminal whether to do shaping or not. There are probably plenty of more ideas to be thrown in for discussion and improvement. cheers, egmont

