Summary: | Fonts space incorrect when typing ligature marks (Hindi, Sanskrit, Bangla) | ||
---|---|---|---|
Product: | [Applications] konsole | Reporter: | mobile.jaduwala <mobile.jaduwala> |
Component: | font | Assignee: | Konsole Developer <konsole-devel> |
Status: | RESOLVED WORKSFORME | ||
Severity: | grave | CC: | karunakar, matan, puspitaadak9876 |
Priority: | NOR | ||
Version: | 15.12.3 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | The cursor is offset too much from the end of the Bengali text |
Description
mobile.jaduwala@gmail.com
2017-06-23 21:45:57 UTC
You are using a somewhat old version. Do you have a simple way of testing the issue and screenshots? I don't have latest version (still on 4.x) but none of consoles - either text mode or in X/Desktops support displaying Indian languages properly. This is case with all terminal emulators in Linux desktops. This require some change in semantics of terminal emulation and rendering to properly show complex text characters. Affects the latest version of Konsole too (version 21.12.3). Please find some screenshots attached. Created attachment 148063 [details]
The cursor is offset too much from the end of the Bengali text
(In reply to Puspam Adak from comment #4) > Created attachment 148063 [details] > The cursor is offset too much from the end of the Bengali text Can you please include the exact character string that is displayed in the image, and which font you use? I see something similar when I use Hebrew characters with a font that has no such characters, and fontconfig uses characters from another font with a different width. I guess that the solution is to display the characters in their place, one a t a time, instead of using drawText to draw multiple characters at a time. > Can you please include the exact character string that is displayed in the image চলে যেতে যেতে দিন বলে যায় > which font you use? Source Code Pro > I guess that the solution is to display the characters in their place, one a > t a time, instead of using drawText to draw multiple characters at a time. You are right. I can see that the Bengali characters are not placed on separate blocks even when they are not joined (for example Bengali digits). A possibly relevant merge request was started @ https://invent.kde.org/utilities/konsole/-/merge_requests/722 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 403729, 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 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 Let us know if you still have this issue on recent version (In reply to Kurt Hindenburg from comment #9) > Let us know if you still have this issue on recent version Let me know which specific version to test? Would it suffice to test on Kubuntu 23.10 ? it has Plasma 5.27 . My debian has older konsole 20.12.3. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |