Version: (using KDE KDE 3.5.2)
Installed from: Debian testing/unstable Packages
The KDE problems with RTL languages, though not totally
solved, are much improved. So the related KTouch problems
as reported in #61265 and others are not so bad now.
I have evidence - see below - that KTouch would now
be at least somewhat usable in Hebrew (and probably
other RTL languages) if it were possible
to load lectures containing Hebrew text.
But it is not possible to load lectures containing
Hebrew text (using 1.5 under KDE 3.5.2). I just get
the text "No training lecture loaded.<CR>".
When I try to edit a lecture containing Hebrew
letters, KTouch says "Could not open the lecture file,
creating a new one instead."
If I create a new lecture, enter Hebrew text, and
save, the resulting lecture file looks fine.
The interesting thing is: if I run KTouch in a
Hebrew locale, the the message "No training lecture
loaded.<CR>" is translated into Hebrew. And
that text seems to work fine for typing practice
in Hebrew. So I think that if KTouch would allow
Hebrew to be loaded from a lecture file, it would
Can you attach a sample training file? I will try to reproduce at least.
Created attachment 16845 [details]
Created attachment 16846 [details]
From scratch in text editor
Created attachment 16847 [details]
Using "Edit lecture" in KTouch
OK, I attached three examples.
I attached them as binary files, to make
sure that the Hebrew characters do not
get munged by whatever you are running
locally; sorry for any inconvenience.
I modified english.ktouch.xml as follows:
I removed all but the first level, changed
the letters 'f' and 'j' to Hebrew alef and
bet, suggested a font (from the Culmus
font package), and changed the comments.
I created a very simple lesson file from
scratch in a text editor.
I created a lesson containing Hebrew letters
using the built-in lesson editor in KTouch.
Hmm... When saving, all Hebrew letters became
question marks in the resulting file.
This will be fixed for KDE4, I confirm the bug.
cuco and Yitz, can you retry with KTouch from KDE 4 please?
I tested the sample hebrew lecture and it is loaded now. I did not test RTL though in KTouch.
If you could point any remaining problem so I can fix it for 4.0, that would be very nice. Thanks in advance,
I almost fixed this issue in revision 748195, but unfotunately I am unable to close this bug. Anyway, we just need to fix a small issue with the text direction painting for the student text and this bug can be closed.
Git commit 9fc2d7cbce742dff7760fb0ad3ca363d4446a3f3 by Sebastian Gottfried.
Committed on 26/02/2013 at 11:49.
Pushed by gottfried into branch 'master'.
rewrite lesson text rendering
Previously I have employed a lot of individual Text elements to
assemble the lesson trainer. This worked well for languages with
a Latin alphabet but was insufficient for pretty much anything else
since it was unable to render typographic ligatures and had no support
for right-to-left training.
The new implementation fixes all these issues with a new taylor-made
declarative item encapsulating a QTextDocument instance to do
the lesson text rendering.
As a nice side effect the text rendering looks much better now since
the letter-spacing is now correct. Previously I had no control over
the font hinting settings and the results of hintend and scaled text
were hideous. Therefore the training text is now rendered only with
As a bonus the new component is also used to render the lesson previews
on the home screen. That way the appearance there and in the training
screen are coherent and the previews also benefit from the improved
text rendering quality.
Related: bug 315511, bug 315511
M +1 -1 src/CMakeLists.txt
M +2 -2 src/application.cpp
D +0 -111 src/declarativeitems/lessonfontsizecalculater.cpp
D +0 -56 src/declarativeitems/lessonfontsizecalculater.h
A +348 -0 src/declarativeitems/lessonpainter.cpp [License: GPL (v2+)]
A +88 -0 src/declarativeitems/lessonpainter.h [License: GPL (v2+)]
M +14 -5 src/declarativeitems/traininglinecore.cpp
M +3 -1 src/declarativeitems/traininglinecore.h
M +0 -1 src/qml/CMakeLists.txt
M +14 -45 src/qml/LessonPreview.qml
D +0 -236 src/qml/TrainingLine.qml
M +4 -0 src/qml/TrainingScreen.qml
M +134 -130 src/qml/TrainingWidget.qml