Bug 133578 - Sept 23rd fontconfig broke qt latin fonts
Summary: Sept 23rd fontconfig broke qt latin fonts
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: qt
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Ben Levenson
URL:
Whiteboard:
: 133361 133772 (view as bug list)
Depends On:
Blocks: FC3Blocker
TreeView+ depends on / blocked
 
Reported: 2004-09-24 21:18 UTC by Warren Togami
Modified: 2007-11-30 22:10 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2004-10-14 21:40:50 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
kde-fonts-screwed.png (158.00 KB, image/png)
2004-09-24 21:20 UTC, Warren Togami
no flags Details
diff of old to new fontconfig (35.69 KB, patch)
2004-09-27 12:39 UTC, Harald Hoyer
no flags Details | Diff
diff of old to new fontconfig (16.44 KB, patch)
2004-09-27 12:39 UTC, Harald Hoyer
no flags Details | Diff

Description Warren Togami 2004-09-24 21:18:24 UTC
Description of problem:
* Wed Sep 22 2004 Owen Taylor <otaylor> - 2.2.3-4
- Update fonts-hebrew names to include CLM suffix

Somehow this innocent looking change in fontconfig caused all
(variable width?) Latin fonts to display with huge spaces between each
character.  Double-byte languages like Japanese seem fine. 
qt-designer and all KDE apps appear to be affected, so assigning to qt.

FC3Blocker

Version-Release number of selected component (if applicable):
fontconfig-2.2.3-4
qt-3.3.3-5

Comment 1 Warren Togami 2004-09-24 21:20:46 UTC
Created attachment 104293 [details]
kde-fonts-screwed.png

Comment 2 Ngo Than 2004-09-24 23:28:44 UTC
*** Bug 133361 has been marked as a duplicate of this bug. ***

Comment 3 Warren Togami 2004-09-25 06:50:15 UTC
fontconfig-2.2.3-2 worked.
fontconfig-2.2.3-4 is broken.

[root@ibmlaptop tmp]# fedora-diffrpm fontconfig-2.2.3-2.i386.rpm
fontconfig-2.2.3-4-i386.rpm
diff -r -Nu fontconfig-2.2.3-2/etc/fonts/fonts.conf
fontconfig-2.2.3-4/etc/fonts/fonts.conf
--- fontconfig-2.2.3-2/etc/fonts/fonts.conf     2004-08-16
12:10:02.000000000 -1000
+++ fontconfig-2.2.3-4/etc/fonts/fonts.conf     2004-09-22
08:23:17.000000000 -1000
@@ -296,7 +296,8 @@
                        <family>Times New Roman</family>
                        <family>Luxi Serif</family>
                        <family>Times</family>
-                       <family>FrankRuehl</family>
+                       <family>KacstQura</family>
+                       <family>Frank Ruehl CLM</family>
                        <family>Kochi Mincho</family>
                        <family>ZYSong18030</family>
                        <family>AR PL SungtiL GB</family>
@@ -314,7 +315,8 @@
                        <family>Nimbus Sans L</family>
                        <family>Arial</family>
                        <family>Helvetica</family>
-                       <family>Nachlieli</family>
+                       <family>KacstQura</family>
+                       <family>Nachlieli CLM</family>
                        <family>Kochi Gothic</family>
                        <family>ZYSong18030</family>
                        <family>AR PL SungtiL GB</family>
@@ -331,7 +333,8 @@
                        <family>Andale Mono</family>
                        <family>Cumberland AMT</family>
                        <family>Courier New</family>
-                       <family>Miriam Mono</family>
+                       <family>KacstQura</family>
+                       <family>Miriam Mono CLM</family>
                        <family>Nimbus Mono L</family>
                        <family>Kochi Gothic</family>
                        <family>ZYSong18030</family>
Binary files fontconfig-2.2.3-2/usr/bin/fc-cache and
fontconfig-2.2.3-4/usr/bin/fc-cache differ
Binary files fontconfig-2.2.3-2/usr/bin/fc-list and
fontconfig-2.2.3-4/usr/bin/fc-list differ
Binary files fontconfig-2.2.3-2/usr/lib/libfontconfig.so.1 and
fontconfig-2.2.3-4/usr/lib/libfontconfig.so.1 differ
Binary files fontconfig-2.2.3-2/usr/lib/libfontconfig.so.1.0.4 and
fontconfig-2.2.3-4/usr/lib/libfontconfig.so.1.0.4 differ
Binary files fontconfig-2.2.3-2/usr/share/man/man5/fonts-conf.5.gz and
fontconfig-2.2.3-4/usr/share/man/man5/fonts-conf.5.gz differ

Frustratingly, manually copying these files from the older version
does NOT solve this problem, but downgrading with --oldpackage does.  Huh?


Comment 4 Ngo Than 2004-09-25 08:48:15 UTC
it's very strange. i have fontconfig-2.2.3-4 and qt-3.3.3-5 from 
current rawhide, it works fine on my machine. i still cannot 
reproduce it :( could you please send your /etc/sysconfig/i18n. 
thanks 
 
I have taken a look in 2.2.3-2, there's a backport patch (Patch18: 
fontconfig-2.2.3-names.patch) which probably causes this problem. if 
you rebuild fontconfig-2.2.3-4 without this patch18, does it work for 
you? 

Comment 5 Warren Togami 2004-09-25 10:01:55 UTC
LANG="en_US.UTF-8"
SUPPORTED="zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja:ko_KR.UTF-8:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

I see this on my rawhide i386 and x86_64 systems.  At least a dozen
other en_US users have reported the same problem.

Comment 6 Warren Togami 2004-09-25 10:14:53 UTC
Confirmed, it works after I rebuilt it without patch18.

Comment 7 Ngo Than 2004-09-25 22:56:56 UTC
Owen, do you have any idee what is wrong in the patch18, which causes 
the problem? could we revert the change ? 

Comment 8 Owen Taylor 2004-09-26 16:57:07 UTC
patch18 was introduced about 3 weeks prior to the build that was
claimed to cause the problem...

patch18 is fairly important. (It fixes problem with, 
e.g., randomly getting condensed fonts rather than normal fonts
for Nimbus Sans L.) I'd much rather we debuggged the problem than
reverted the patch. Especially since it's just a backport of
changes from HEAD fontconfig.

However, I really don't want to read Qt sources, so I need help 
on this. Basically, all you need to do  is:

 A) Find an affected font
 B) Compare the relevant line in the relevant fonts.cache-1 
    (or FcPatternPrint output on the pattern)
    with and without patch 18
 C) Find out why Qt cares


Comment 9 Ngo Than 2004-09-26 21:47:51 UTC
Owen, it's very strange, i cannot reproduce this problem with the
current rawhide on my machine :(

it's impossible to debug it ATM


Comment 10 Warren Togami 2004-09-26 21:57:51 UTC
o_O


Comment 11 Harald Hoyer 2004-09-27 12:21:31 UTC
Installing fonts-ja seems to trigger the problem...

Comment 12 Harald Hoyer 2004-09-27 12:39:16 UTC
Created attachment 104365 [details]
diff of old to new fontconfig

Comment 13 Harald Hoyer 2004-09-27 12:39:49 UTC
Created attachment 104366 [details]
diff of old to new fontconfig

Comment 14 Harald Hoyer 2004-09-27 12:50:52 UTC
This is the change, that is causing this:

-"12x24a.pcf.gz" 0
"Fixed:style=Regular:slant=0:weight=100:width=100:pixelsize=24:spacing=100:foundry=Sony:antialias=False:index=0:outline=False:scalable=False:charset=
|>^0~|>^1!|>^1!P0oWQ
|>^0~|>^1!|>^1!:lang=aa|ast|ay|bi|br|ch|da|de|en|es|eu|fj|fo|fur|fy|gd|gl|gv|ho|ia|id|ie|io|is|it|lb|mg|nb|nl|nn|no|oc|om|pt|rm|sma|smj|so|sq|sv|sw|tn|ts|vo|wa|xh|yap|zu:fontversion=0"
+"12x24a.pcf.gz" 0
"Fixed:style=Regular:slant=0:weight=80:width=100:pixelsize=24:spacing=100:foundry=Sony:antialias=False:index=0:outline=False:scalable=False:charset=
|>^0~|>^1!|>^1!P0oWQ
|>^0~|>^1!|>^1!:lang=aa|ast|ay|bi|br|ch|da|de|en|es|eu|fj|fo|fur|fy|gd|gl|gv|ho|ia|id|ie|io|is|it|lb|mg|nb|nl|nn|no|oc|om|pt|rm|sma|smj|so|sq|sv|sw|tn|ts|vo|wa|xh|yap|zu:fontversion=0"

Comment 15 Owen Taylor 2004-09-27 13:28:59 UTC
How did you decide it was that particular change? It seems quite strange
to me that a change where a bitmap ascii font started reporting a
weight of 80 rather than 100 would cause all fonts in Qt to be
misdisplayed.

Not impossible, just quite strange.


Comment 16 Michael Wiktowy 2004-09-27 15:07:41 UTC
I noticed this running Skype initially. If I download the rpm for FC2
and run it, I get the hugely spaced text. However, if I download and
run the tar-ball which is statically built with the qt-3.2 library, it
looks fine on the same system.
Both are found at:
http://www.skype.com/products/skype/linux/
I know these are just binaries and may not help much in debugging but
I thought that I would share my experience with the same app working
and not working to try to narrow things down.
If any straces and what-not will help, let me know what you need and I
will post them.

Comment 17 Warren Togami 2004-09-27 19:45:57 UTC
All else being equal in pure rawhide,
1) Installing fonts-ja seems to break qt display of fonts.  Removing
it fixes the problem.  (Nice catch harald.)
2) Downgrading fontconfig to the previous binary from rawhide solves
this problem.
3) Removing patch18 also solves this problem.


Comment 18 Warren Togami 2004-09-27 20:25:26 UTC
Confirmed, changing weight from 80 to 100 as comment #14 indicates
seems to workaround this problem.

Comment 19 Owen Taylor 2004-09-27 20:33:39 UTC
Than - can you investigate what is happening at the Qt level? 

Basically, what is going on at the fontconfig level is that 
for fonts with a "style" name but no weight specified, fontconfig
used to just use the default weight of FC_WEIGHT_MEDIUM=100, now it
parses the style (Regular) and uses FC_WEIGHT_REGULAR=80.

But I can't see why this would cause Qt to fall to pieces.

Comment 20 Than Ngo 2004-09-28 11:54:34 UTC
*** Bug 133772 has been marked as a duplicate of this bug. ***

Comment 21 Than Ngo 2004-09-28 15:03:57 UTC
now i can reproduce this problem after installed fonts-ja. it's fixed
in qt-3.3.3-6.

Comment 22 Jay Turner 2004-10-14 16:44:27 UTC
Warren, any chance you've got a few minutes to test and see if the new
qt resolves the problem to your satisfaction?

Comment 23 Warren Togami 2004-10-14 21:40:50 UTC
This seems good now.


Note You need to log in before you can comment on or make changes to this bug.