[Konsole-devel] [Bug 156071] Thai Support for Konsole

Theppitak Karoonboonyanan thep at linux.thai.net
Tue Feb 5 03:01:01 UTC 2008


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=156071         




------- Additional Comments From thep linux thai net  2008-02-05 04:01 -------
"Konsole actually renders text in batches of equally formatted text.  So if you have a plain line of text all with default formatting, it will be dispatched to QPainter::drawText() in one go."

I hope the OpenType-based CharCell composition is the right way to handle monospace fonts. Given that, there would be no difference of interface between monospace and proportional rendering of single cells, then.

But I'd like to clarify my points about Konsole's different nature a little bit.

The proposed font modification may solve the cell-by-cell rendering of monospace fonts with QPainter::drawText(), but the problem of inter-cell composition cases still remains for proportional fonts in general.

I mentioned the case of Thai SARA AM (U+0E33) in comment #12. This character is normally rendered by decomposition into NIKHAHIT (U+0E4D) and SARA AA (U+0E32). NIKHAHIT is combining mark, which has to be composed to the previous cell, while SARA AA stays in its own cell.

For applications like Kate, text lines can be stored as continuous strings, with necessary interface to access each column by the aids of logical clusters analyzed by the toolkit's language engine.

Konsole, on the other hand, stores and handles cells as separate "Character"s [Character.h]. So, the case that involves more than one cell like SARA AM will need special accessing method. This is what I said about its difference from Kate.

For the proposed patch and font here, the font still carries the composition/decomposition rules for SARA AM cases, which will only be effective when rendering inter-cell strings with sufficient context (e.g. with Kate). For the single SARA AM without base character, Jakkapan's proposed patch to Qt4 will render it with dotted circle, *except* when using monospace font, which is supposed to be the case for console-based apps like Konsole.



More information about the konsole-devel mailing list