In 1341088b I added two optional parameters, to addPlacement call, but
in the wrong place.
(cherry picked from commit 70aecfe9283d0205337633be111088ab46623144)
Commit e0b4b96a85 introduced a bug where
the cursor did not move when drawing a sixel image, even when sixel
scrolling mode is set.
(cherry picked from commit 336e310fab88646ae32a58614592b48258d9d6a4)
- Better handling of data pointer and errors for compressed data in kitty protocol
- Correct handling of iterator when erasing a placement.
- Use midRef() instead of mid().
Commit 89101dc5 introduced APC for the first time in konsole, to support
the kitty graphics protocol. Unfortunately, it only properly ended the
parsing of APC for kitty graphics APC, causing any other APC to leave
konsole in a broken state (e.g. when running esctest).
DECSTR is a level 2 control (VT2xx and up), and is to be used instead of
RIS (Reset to Initial State), which can initiate a self-test and drop
the connection on some hardware terminals.
BUG: 134892
Korean Hangul can be represented in Unicode either as precomposed Hangul
syllables, or as sequences of alphabetic components called Jamo.
Jamo at U+1100..U+11FF, U+A960..U+A97F, U+D7B0..U+D7FF have conjoining
behavior, a sequence of Jamo for Leading Consonants, Vowels, and
(optionally) Trailing Consonants, in that order, conjoins into a
syllable block, (i.e. a sequence L+V+T*, where + and * have their
typical regex meaning).
To represent a Jamo in isolation, there are several options:
- Use non-conjoining Jamo from U+3130..U+318F (or the halfwidth forms
at U+FFA0..U+FFDF. These blocks covers all Jamo used in modern
Korean, but not all Jamo used in Old Korean.
- Use the fillers at U+115F and U+1160 to substitute for non-existing
Leading Consonants, and Vowels. Fonts may stretch Jamo into a
corner.
- Use Jamo from U+1100..U+11FF, U+A960..U+A97F, U+D7B0..U+D7FF, and
separate them with non-Korean characters. Unicode recommends U+200B
ZERO WIDTH SPACE and U+2060 WORD JOINER for this purpose.
Previously, Konsole treated conjoining Jamo as combining marks which
could apply to any previous character. This commit makes conjoining
Jamo only join when previous Jamo when they form (the beginning) of a
proper L+V+T* syllable. It also fixes the width reported when they
cannot join previous characters, which should now be 2, instead of 0.
These include ZWJ (Zero Width Joiner), ZWNJ (Zero Width Non-Joiner) and
Zero Width Space, which can be used to change the rendering of text,
e.g. forcing or preventing the formation of conjunct forms in Indic
scripts.
Treat them as combining characters, so they end up in an extended
character in the previous character cell.
To test, the output of:
printf "[\u915\u94d\u927] "[\u915\u94d\u200c\u937] [\u915\u94d\u200d\u937]\n"
can be compared against the examples in Figures 12.4 and 12.5 of the
Unicode standard, from the "Explicit Virama (Halant)" and "Explicit
Half-Consonants" sub-sections of the Devanagari section on "South and
Central Asia I" chapter (page 465 in Unicode 14).
~
Combining characters could end up combining with an unrelated character
from the previous line. Now they just disappear, without messing with
the display of unrelated characters.
If the window size is not an integer multiple of the font size, there are a few pixel left.
Images may only appear where text may, so don't report those pixels in reply to CSI 14 t.