[konsole] [Bug 401094] Malayalam rendering regression in Konsole 18.08

Mariusz Glebocki bugzilla_noreply at kde.org
Tue Dec 17 23:50:44 GMT 2019


https://bugs.kde.org/show_bug.cgi?id=401094

--- Comment #11 from Mariusz Glebocki <mglb at arccos-1.net> ---
Created attachment 124559
  --> https://bugs.kde.org/attachment.cgi?id=124559&action=edit
POC patch

Sorry for late reply.

I've attached a patch which renders provided example almost as intended. Each
word is rendered separately and spacing is wrong, but it can be fixed later.
Apply with `patch -p1 < malayalam-rendering-poc.patch` in top level Konsole
directory.

However, I'm not sure how to integrate it into Konsole. This is technically a
hack. Terminal programs are unable to get the width of a conjunct, and they
don't know which characters are part of a conjunct. This leads to text being
shifted/glitched during selection, conjuncts being "broken" when a program
(e.g. vim) places cursor on part of a conjunct, invalid line wrapping, etc.
This behavior can't be enabled by default. Possible solutions:

* Add an option for enabling the feature. I'm against this. It will be broken
eventually, because many developers won't test yet another rendering mode.
Also: hack.

* Rename "Bi-directional text rendering" option to something like "Support for
complex scripts" and enable special rendering for complex scripts like
Malayalam when it is enabled. RTL scripts already have the same problems, so
users wouldn't be suprised. This solution has the same issues as previous one,
but it's already there.


It also would be nice to improve it further, but help from people who actually
use complex scripts is needed. Useful input would include:
* Are there some fixed-width fonts for the script?
* Is there another terminal which handles it well?
* Is there some simplified/alternative way to display the script?
* Are there (console) programs which actually use the script? What are
real-world use cases?
* Code! :)

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the konsole-devel mailing list