[konsole] [Bug 403729] Proper BiDi support
Kurt Hindenburg
bugzilla_noreply at kde.org
Sat Aug 27 02:10:07 BST 2022
https://bugs.kde.org/show_bug.cgi?id=403729
Kurt Hindenburg <kurt.hindenburg at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Latest Commit| |https://invent.kde.org/util
| |ities/konsole/commit/76f879
| |cd70fb494ab2334d2660b346795
| |46f3d9d
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #2 from Kurt Hindenburg <kurt.hindenburg at gmail.com> ---
Git commit 76f879cd70fb494ab2334d2660b34679546f3d9d by Kurt Hindenburg, on
behalf of Matan Ziv-Av.
Committed on 26/08/2022 at 19:24.
Pushed by hindenburg into branch 'master'.
Draw characters in exact positions
QT can't be made to draw monospaced text (if the font does not cooperate),
so avoid combining characters, using a QPainter::drawText() call for each
character.
For bidi text support this change requires konsole to reorder and reshape
the characters. This is done using the ICU library (which QT also uses).
This change allows for some improvements related to text rendering:
- More precise bidi reordering, which is no longer changed by characters'
attributes and selection.
- underlines drawn separately from the text, allowing for differing
underline modes (double, curly, dashed, dotted, colored).
- Overriding font for emoji characters.
This commit fixes a few bugs and addresses a lot more:
Feature requests: More standard conforming RTL and various underlines:
Related: bug 387811, bug 416508, bug 452087, bug 425973, bug 430822, bug
442742, bug 441037, bug 430822, bug 440070, bug 450017, bug 445846, bug 453086,
bug 381593, bug 451716
Using non-monospace font:
Emoji:
Regression: devanagari rendering
M +2 -0 CMakeLists.txt
M +1 -0 src/CMakeLists.txt
M +47 -25 src/FontDialog.cpp
M +2 -1 src/FontDialog.h
M +127 -23 src/Screen.cpp
M +18 -5 src/Screen.h
M +28 -13 src/Vt102Emulation.cpp
M +0 -29 src/autotests/CharacterTest.cpp
M +0 -1 src/autotests/CharacterTest.h
M +1 -1 src/autotests/TerminalCharacterDecoderTest.cpp
M +119 -29 src/characters/Character.h
M +1 -1 src/characters/Hangul.cpp
M +5 -4 src/decoders/HTMLDecoder.cpp
M +1 -1 src/decoders/PlainTextDecoder.cpp
M +3 -0 src/profile/Profile.cpp
M +29 -0 src/profile/Profile.h
M +101 -6 src/terminalDisplay/TerminalDisplay.cpp
M +7 -0 src/terminalDisplay/TerminalDisplay.h
M +42 -0 src/terminalDisplay/TerminalFonts.cpp
M +12 -0 src/terminalDisplay/TerminalFonts.h
M +542 -269 src/terminalDisplay/TerminalPainter.cpp
M +40 -13 src/terminalDisplay/TerminalPainter.h
M +2 -0 src/widgets/EditProfileAdvancedPage.ui
M +113 -3 src/widgets/EditProfileAppearancePage.ui
M +61 -3 src/widgets/EditProfileDialog.cpp
M +6 -1 src/widgets/EditProfileDialog.h
https://invent.kde.org/utilities/konsole/commit/76f879cd70fb494ab2334d2660b34679546f3d9d
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the konsole-devel
mailing list