SuSE8.2/KDE 3.1: Problems embeding thai fonts for printing
I have problems printing Thai texts in SuSE 8.2 It looks, like my truetypes are not embeded in the postscript file. In SuSE 8.0 and 8.1 it worked perfect. With SuSE 8.2 and KDE 3.1 it works only with latin texts. I tried to configure the fonts with KDE (kcmshell System/kcmfontinst), and with SuSE --module fonts. With the same result. I downloaded and installed the updates for KDE/QT3. It didn't help. For my last test, I installed SuSE 8.2 again from scratch and installed all YOU updates. Set language in ~/.profile export LANG=de_CH.UTF-8 export LC_MESSAGES=en_US.UTF-8 As root I prepared the fonts with its fonts.scale.* in a separate directory with: # /usr/X11R6/bin/mkfontscale \ -e /usr/X11R6/lib/X11/fonts/encodings/large \ -e /usr/X11R6/lib/X11/fonts/encodings -- # mv fonts.scale fonts.scale.MyFonts I copied the fonts and font.scale.MyFonts to /usr/X11R6/lib/X11/fonts/truetype/ I executed "SuSEconfig --module fonts" The fonts are available in KDE. In kwrite I select "Arial Unicode MS" for Display and Printer. The Text (latin and thai) is showed just perfect. When I print it to postscript file (or printer) just NimbusSanL-Regu is embeded. And only the latin text is printed. This happens with most of my truetype fonts. Only a few work. With OpenOffice, all fonts are embeded perfect. Has anyone experienced something similar? Walter
"Walter Betschart" <wbpub@bluewin.ch> さんは書きました:
I have problems printing Thai texts in SuSE 8.2 It looks, like my truetypes are not embeded in the postscript file. In SuSE 8.0 and 8.1 it worked perfect.
With SuSE 8.2 and KDE 3.1 it works only with latin texts.
This is a bug in Qt. Please upgrade to the Qt packages in ftp://ftp.suse.com/pub/people/mfabian/8.2-i586/
I tried to configure the fonts with KDE (kcmshell System/kcmfontinst), and with SuSE --module fonts. With the same result. I downloaded and installed the updates for KDE/QT3. It didn't help.
For my last test, I installed SuSE 8.2 again from scratch and installed all YOU updates.
There is no official update out yet, only the Qt packages in my pub/people directory as I wrote above. An official YOU update for the XFree86 packages is planned Although this is really a Qt bug, it can also be fixed by a workaround in libXft, which is part of XFree86. I.e. as soon as new XFree86 package become available via YOU, they should fix the bug as well. But the XFree86 update has been delayed for whatever reasons, I don't know when it will finally be on the SuSE ftp server. Please use the Qt package from my ftp://ftp.suse.com/pub/people/mfabian/, they contain the better fix anyway.
Set language in ~/.profile export LANG=de_CH.UTF-8 export LC_MESSAGES=en_US.UTF-8
As root I prepared the fonts with its fonts.scale.* in a separate directory with: # /usr/X11R6/bin/mkfontscale \ -e /usr/X11R6/lib/X11/fonts/encodings/large \ -e /usr/X11R6/lib/X11/fonts/encodings --
# mv fonts.scale fonts.scale.MyFonts
I copied the fonts and font.scale.MyFonts to /usr/X11R6/lib/X11/fonts/truetype/
I executed "SuSEconfig --module fonts"
This is OK, but it is unrelated to font-embedding in Qt/KDE. Qt/KDE use libXft to find the fonts to embed, fonts.dir/fonts.scale is only for X11 core font rendering.
The fonts are available in KDE. In kwrite I select "Arial Unicode MS" for Display and Printer.
The Text (latin and thai) is showed just perfect. When I print it to postscript file (or printer) just NimbusSanL-Regu is embeded. And only the latin text is printed.
This happens with most of my truetype fonts. Only a few work.
All fonts where the entry in /usr/X11R6/lib/X11/fonts/truetype/fonts.cache-1 is shorter than 1024 bytes work. Fonts which support many languages usually have longer entries. Qt used a fixed size array 1024 long to request the entry for a font via libXft. If the entry was longer, libXft returned false and didn't write anything in that array, i.e. the array just contained random garbage. Qt then tried to open the garbage file name, which didn't work and did fall back to embedding some default font.
With OpenOffice, all fonts are embeded perfect.
OpenOffice is not a Qt application, therefore it is not hit by this Qt bug.
Has anyone experienced something similar?
I guess many people had this problem, it is unfortunate that an official Qt or XFree86 update is not yet available on ftp.suse.com, although this bug is known for quite a long time already. -- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
-- Original Message -- To: "Walter Betschart" <wbpub@bluewin.ch> Cc: m17n@suse.com Subject: Re: [m17n] SuSE8.2/KDE 3.1: Problems embeding thai fonts for printing Reply-To: mfabian@suse.de From: Mike FABIAN <mfabian@suse.de> Date: Fri, 23 May 2003 11:52:05 +0200
"Walter Betschart" <wbpub@bluewin.ch> ????????:
I have problems printing Thai texts in SuSE 8.2 It looks, like my truetypes are not embeded in the postscript file. In SuSE 8.0 and 8.1 it worked perfect.
With SuSE 8.2 and KDE 3.1 it works only with latin texts.
This is a bug in Qt. Please upgrade to the Qt packages in
ftp://ftp.suse.com/pub/people/mfabian/8.2-i586/
Thanks for your response I updated the QT packages: rpm -qa | grep qt3 qt3-extensions-3.1.2-24 qt3-static-3.1.2-26 qt3-non-mt-3.1.2-24 qt3-3.1.2-26 The font embeding works fine now. What's displayed on the screen is printed. But now the Thai scirpt is rendered incorrect. e.g SARA A , SARA I, SARA II should be written above a consonant, with the new qt version its written across (over) the consonant. I installed your freetype packages too, but it did not make a difference. A prepared two image files (png) (before / after) about 20 KB each, which I could send you to show you the difference. Cheers Walter
"Walter Betschart" <wbpub@bluewin.ch> さんは書きました:
A prepared two image files (png) (before / after) about 20 KB each, which I could send you to show you the difference.
Yes please! -- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
On Friday 23 May 2003 18:09, you wrote:
-- Original Message -- To: "Walter Betschart" <wbpub@bluewin.ch> Cc: m17n@suse.com Subject: Re: [m17n] SuSE8.2/KDE 3.1: Problems embeding thai fonts for printing
From: Mike FABIAN <mfabian@suse.de>
Date: Fri, 23 May 2003 11:52:05 +0200
I updated the QT packages:
The font embeding works fine now. What's displayed on the screen is printed.
But now the Thai scirpt is rendered incorrect.
e.g SARA A , SARA I, SARA II should be written above a consonant, with the new qt version its written across (over) the consonant.
Not SARA A, but MAI HAN-AKAT should be written above (and have way after) a consonant.
Mike FABIAN <mfabian@suse.de> さんは書きました:
"Walter Betschart" <wbpub@bluewin.ch> さんは書きました:
I have problems printing Thai texts in SuSE 8.2 It looks, like my truetypes are not embeded in the postscript file. In SuSE 8.0 and 8.1 it worked perfect.
With SuSE 8.2 and KDE 3.1 it works only with latin texts.
This is a bug in Qt. Please upgrade to the Qt packages in
ftp://ftp.suse.com/pub/people/mfabian/8.2-i586/
I tried to configure the fonts with KDE (kcmshell System/kcmfontinst), and with SuSE --module fonts. With the same result. I downloaded and installed the updates for KDE/QT3. It didn't help.
For my last test, I installed SuSE 8.2 again from scratch and installed all YOU updates.
There is no official update out yet, only the Qt packages in my pub/people directory as I wrote above.
An official YOU update for the XFree86 packages is planned Although this is really a Qt bug, it can also be fixed by a workaround in libXft, which is part of XFree86. I.e. as soon as new XFree86 package become available via YOU, they should fix the bug as well.
The XFree86 updates for SuSE 8.2 are available now, see ftp://ftp.suse.com/pub/suse/i386/update/8.2/rpm/i586/XFree86* You can get these updates using YOU. -- Mike Fabian <mfabian@suse.de> http://www.suse.de/~mfabian 睡眠不足はいい仕事の敵だ。
participants (2)
-
Mike FABIAN
-
Walter Betschart