This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours

Bug 546490

Summary: fontconfig-2.8.0-1 changes default Monospace font from DejaVu Sans Mono to Baekmuk Gulim
Product: [Fedora] Fedora Reporter: Joseph Shraibman <jks>
Component: fontconfigAssignee: Behdad Esfahbod <behdad>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: behdad, edgar.hoch, fonts-bugs, i18n-bugs, mattias.ellert, petersen, pnemade, psatpute, tagoh
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 563409 (view as bug list) Environment:
Last Closed: 2010-05-05 23:41:08 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 507684, 563409    

Description Joseph Shraibman 2009-12-10 20:15:49 EST
Description of problem:
I did a yum update and discovered emacs was using the Baekmuk Gulim font.  Code editing needs to be done in a fixed-width font!  Baekmuk Gulim is not fixed-width. Directory listings look horrible because the fields are not aligned.  I changed my emacs settings back and everything is fine for me now, but I bet a bunch of people will have no idea what font to change back to.  I was only able to figure it out because I had an emacs running from before the yum update.

Version-Release number of selected component (if applicable):
fontconfig-2.8.0-1.fc11.x86_64
Comment 1 Jens Petersen 2009-12-11 05:16:33 EST
Can you please attach the yum.log showing the transaction?
Comment 2 Jens Petersen 2009-12-11 05:17:25 EST
How about removing baekmuk*fonts?
Comment 3 Behdad Esfahbod 2009-12-11 05:59:26 EST
What's the output of "fc-match -v monospace"?

And, what language?
Comment 4 Joseph Shraibman 2009-12-11 09:38:58 EST
yum.log:
Dec 10 15:27:07 Updated: fontconfig.x86_64 2.8.0-1.fc11
Dec 10 15:27:08 Updated: net-snmp-libs.x86_64 1:5.4.2.1-13.fc11
Dec 10 15:27:10 Updated: kernel-firmware.noarch 2.6.30.9-102.fc11
Dec 10 15:27:13 Updated: net-snmp.x86_64 1:5.4.2.1-13.fc11
Dec 10 15:27:14 Updated: ntfs-3g.x86_64 2:2009.11.14-2.fc11
Dec 10 15:27:15 Updated: rsync.x86_64 3.0.6-1.fc11
Dec 10 15:28:19 Installed: kernel-devel.x86_64 2.6.30.9-102.fc11
Dec 10 15:29:15 Updated: kernel-doc.noarch 2.6.30.9-102.fc11
Dec 10 15:29:16 Updated: flash-plugin.i386 10.0.42.34-release
Dec 10 15:29:21 Updated: kernel-headers.x86_64 2.6.30.9-102.fc11
Dec 10 15:29:21 Updated: mobile-broadband-provider-info.noarch 1.20090918-1.fc11
Dec 10 15:30:17 Installed: kernel.x86_64 2.6.30.9-102.fc11
Dec 10 15:30:21 Updated: fontconfig.i586 2.8.0-1.fc11
Dec 10 15:30:22 Installed: kmod-kqemu-2.6.30.9-102.fc11.x86_64.x86_64 1.4.0-0.2.pre1.fc11.23
Dec 10 15:30:23 Installed: kmod-nvidia-2.6.30.9-102.fc11.x86_64.x86_64 190.42-1.fc11.3
Dec 10 15:30:26 Updated: fontconfig-devel.x86_64 2.8.0-1.fc11
Dec 10 15:30:26 Updated: kmod-nvidia.x86_64 190.42-1.fc11.3
Dec 10 15:30:27 Updated: kmod-kqemu.x86_64 1.4.0-0.2.pre1.fc11.23
Dec 10 15:30:33 Erased: kmod-nvidia-2.6.30.9-90.fc11.x86_64
Dec 10 15:30:45 Erased: kmod-kqemu-2.6.30.9-90.fc11.x86_64


[jks@jks-desktop ~]{f11}$ fc-match -v monospace
Pattern has 33 elts (size 48)                                              
        family: "DejaVu Sans Mono"(s)                                      
        familylang: "en"(s)                                                
        style: "Book"(s)                                                   
        stylelang: "en"(s)                                                 
        fullname: "DejaVu Sans Mono"(s)                                    
        fullnamelang: "en"(s)                                              
        slant: 0(i)(s)                                                     
        weight: 80(i)(s)                                                   
        width: 100(i)(s)                                                   
        size: 12(f)(s)                                                     
        pixelsize: 12.5(f)(s)                                              
        spacing: 100(i)(s)                                                 
        foundry: "unknown"(s)                                              
        antialias: FcTrue(w)                                               
        hintstyle: 2(i)(w)                                                 
        hinting: FcTrue(w)                                                 
        verticallayout: FcFalse(s)                                         
        autohint: FcFalse(s)                                               
        globaladvance: FcTrue(s)                                           
        file: "/usr/share/fonts/dejavu/DejaVuSansMono.ttf"(s)              
        index: 0(i)(s)                                                     
        outline: FcTrue(s)                                                 
        scalable: FcTrue(s)                                                
        dpi: 75(f)(s)                                                      
        rgba: 5(i)(w)
        scale: 1(f)(s)
        charset:
        0000: 00000000 ffffffff ffffffff 7fffffff 00000000 ffffffff ffffffff ffffffff
        0001: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffe00f f371ffcf
        0002: ffffffff fffffff3 ffff3033 ffffffff ffffffff fbffffff 7fcf33c3 000843ff
        0003: ffffffff ffffffff 01000008 44300002 ffffd7f0 fffffffb ffff7fff ffff0003
        0004: ffffffff ffffffff ffffffff 000c0000 0fff0000 0c0ffc0c ffff999f 03ffffff
        0005: 3c030000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        0006: 882016c0 07fffffe 043fffff ce103fff 010200d9 40008210 00001000 03ff0000
        000e: 00000000 00000000 00000000 00000000 fef02596 1bffecae 00003f00 00000000
        0010: 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 1fffffff
        001d: e0d00304 dfff7000 0fffffff 0980003c f8000020 feffffff 00000000 00000000
        001e: ff0fffff ffff3fff fff00fff f0ffff0f 8bffffff 33c33003 3f003cc0 033fcf3f
        001f: 3f3fffff ffffffff aaff3f3f 3fffffff ffffffff ffdfffff efcfffdf 7fdcffff
        0020: ffbf07ff 76ff804f 800003e0 fff30000 001f7fff 003fffff 00000000 00000000
        0021: 26e0e024 00004c54 fff80000 00000000 ffff0000 ffffffff ffffffff ffffffff
        0022: ffaebfff 3f003f81 fffffffe ffffe3ff ffe78fff 00000003 fc002060 000083ff
        0023: f33fff7f 7fa009e3 df9d3b9e 27f9fb39 f8200f0f 00007fff 0000c000 00000000
        0024: 00000000 00000008 00000000 00000000 00000000 00000000 00000000 00000000
        0025: ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
        0026: ffffffff ff00ffff ffffffff ffffffff 1fff0fff 00030003 00000000 00000000
        0027: fffff3de fffffeff 7f47afff 003ffffe ff100000 7ffeffff 00000060 00000301
        0029: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0c000800
        002a: 00000000 00008000 00000000 00000000 00000000 00000000 00000000 00000000
        002b: 07fc0000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
        002c: 00000000 00000000 00000000 36e0c010 00000000 00000000 00000000 00000000
        002e: 01000000 0000403c 00000000 00000000 00000000 00000000 00000000 00000000
        00a7: f87fff00 00000000 00000000 00000000 00001e00 00000000 00000000 00000000
        00f6: 00000000 00000000 00000000 00000000 00000000 00000000 00000020 00000000
        00fb: 00000006 00000000 fffc0000 ffffffff c03ffc03 00003c00 00000000 f0000300
        00fe: 00000000 00000000 00000000 ffdf0000 ffffffff ffffffff ffffffff 9fffffff
        00ff: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 2e000000
        01d6: 00000000 00000000 00000000 ffff0000 ffffffff 0000000f 00000000 00000000
        01d7: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffc00000
(s)
        lang: aa|af|ar|ast|av|ay|az-az|az-ir|bm|be|bg|bi|bin|br|bs|bua|ca|ce|ch|co|cs|cv|cy|da|de|el|en|eo|es|et|eu|fa|fi|fj|fo|fr|ff|fur|fy|ga|gd|gl|gn|gv|ha|haw|ho|hr|hu|ia|ig|id|ie|ik|io|is|it|ka|kaa|ki|kk|kl|ku-am|kum|kv|kw|ky|la|lb|lez|ln|lt|lv|mg|mh|mi|mk|mo|mt|nb|nds|nl|nn|no|nr|nso|ny|oc|om|os|pl|pt|rm|ro|ru|sco|se|sel|shs|sk|sl|sm|sma|smj|smn|so|sq|sr|ss|st|sv|sw|tk|tl|tn|to|tr|ts|tt|tw|tyv|ug|uk|uz|ve|vo|vot|wa|wen|wo|xh|yap|yo|zu|ak|an|ber-dz|crh|csb|ee|fat|fil|hsb|ht|hz|jv|kab|kj|kr|ku-tr|kwm|lg|li|mn-mn|ms|na|ng|nv|pap-an|pap-aw|qu|rn|rw|sc|sg|sn|su|ty|za(s)
        fontversion: 150077(i)(s)
        capability: "otlayout:arab otlayout:cyrl otlayout:dflt otlayout:grek otlayout:lao  otlayout:latn"(s)
        fontformat: "TrueType"(s)
        embeddedbitmap: FcTrue(s)
        decorative: FcFalse(s)
Comment 5 Joseph Shraibman 2009-12-11 09:40:03 EST
(In reply to comment #2)
> How about removing baekmuk*fonts?  

I'm not sure what you are asking me here.
Comment 6 Jens Petersen 2009-12-13 23:25:25 EST
(In reply to comment #5)
> > How about removing baekmuk*fonts?  
> 
> I'm not sure what you are asking me here.  

Well I was mostly wondering why you have font installed.
Did you install Korean support?

I meant you could remove baekmuk-ttf-gulim-fonts as root
with "yum remove baekmuk-ttf-gulim-fonts" even all baekmuk*fonts.
(For Korean un-core actually provides better fonts.)
That doesn't solve any supposed problem of course
but might be a workaround at least.
Comment 7 Joseph Shraibman 2009-12-14 00:14:03 EST
I'm not sure why the fonts are installed. This computer has been upgraded from one Fedora version to another for a long time.

I just removed the fonts and remmed out the part of my .emacs that set the font and the problem went away. I then reinstalled them and the problem came back.
Comment 8 Jens Petersen 2009-12-14 02:11:08 EST
Yes I can reproduce also on F12, and reverting to
fontconfig-2.7.3 fixes the problem.

(For me baekmuk-ttf-gulim-fonts got pulled in
by the openoffice.org langpack for Korean FWIW.)
Comment 9 Akira TAGOH 2009-12-14 03:52:56 EST
This issue is easily reproducible with fc-match "monospace:lang=en" though, there are two things introduced in 2.8.0:

1. the above command matches lang="ko" too
2. Baekmuk Gulim has been added to the pattern with the strong binding somehow. which has ever been added with the weak binding.
Comment 10 Nicolas Mailhot 2009-12-14 04:41:54 EST
also let's remember that emacs only switched to the same font engine as everyone else recently
Comment 11 Jens Petersen 2009-12-14 19:42:35 EST
(In reply to comment #9)
> This issue is easily reproducible with fc-match "monospace:lang=en" though,
> there are two things introduced in 2.8.0:

Ah right you are.

I noticed that 
'fc-match "monospace:lang=m"' => Lohit-Telugu.ttf
which seems a bit weird too.
Comment 12 Jens Petersen 2009-12-14 19:53:02 EST
I am not sure what the expected behaviour should be.
Does lang= assume/require a full lang-region?

fc-match "monospace:lang=ja" -> gulim

fc-match "monospace:lang=ja-" -> vlgothic
Comment 13 Behdad Esfahbod 2009-12-14 21:47:16 EST
The /etc/fonts/conf.d/66-lohit-*.conf files are awfully broken.  Instead of matching on target="pattern" they match on font patterns.  Which means, they replace any font that supports any of those Indic languages.

Plus, they do prepend_first, which is fascistic.

Nicolas, you really should do an audit of those conf files.
Comment 14 Jens Petersen 2009-12-14 22:23:16 EST
Ok but what about Baekmuk Gulim?
Comment 15 Akira TAGOH 2009-12-14 23:39:28 EST
(In reply to comment #13)
> The /etc/fonts/conf.d/66-lohit-*.conf files are awfully broken.  Instead of
> matching on target="pattern" they match on font patterns.  Which means, they
> replace any font that supports any of those Indic languages.

You are talking about different issue. this issue happens without lohit-*-fonts packages installed.  That should be filed as separate bug.

Plus, in fact this is a kind of regression that not happening in 2.7.3, reassigning back to fontconfig again.

FWIW I'm planning to file a bug to the font packages for the audit of their fontconfig config files.
Comment 16 Behdad Esfahbod 2009-12-15 00:06:01 EST
Humm. Seems like I'm wrong.  Default match target is pattern, not font.  Let me investigate this futher.  prepend_first is still discouraged.
Comment 17 Behdad Esfahbod 2009-12-15 00:07:08 EST
Without lohit config and with Baekmuk Gulim though, I get the expected result:

[root@behdad conf.d]# fc-match "monospace:lang=m"
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
[root@behdad conf.d]# rpm -q fontconfig
fontconfig-2.8.0-1.fc12.i686
Comment 18 Akira TAGOH 2009-12-15 00:26:35 EST
(In reply to comment #17)
> Without lohit config and with Baekmuk Gulim though, I get the expected result:
> 
> [root@behdad conf.d]# fc-match "monospace:lang=m"
> DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
> [root@behdad conf.d]# rpm -q fontconfig
> fontconfig-2.8.0-1.fc12.i686  

wrong testcase. see Comment #9.
Comment 19 Karel Klíč 2009-12-18 03:05:34 EST
*** Bug 548390 has been marked as a duplicate of this bug. ***
Comment 20 Akira TAGOH 2010-02-02 06:26:00 EST
This might be the configuration file issue in 65-baekmuk-ttf-gulim.conf. as I pointed out current behaviour in the list [*1] and due to the issue we have in Bug#518161 too perhaps dunno, comparing the lang with 'ko' behaves wrongly in current implementation of fontconfig at least. modifying like the following works expectedly:

<test name="lang">
  <string>ko-kr</string>
</test>

FYI

*1 - http://lists.freedesktop.org/archives/fontconfig/2009-November/003275.html
Comment 21 Jens Petersen 2010-02-02 11:42:55 EST
Behdad said he would look into the lang= issues but
maybe we should reassign to baekmuk-ttf at least as
a workaround for f13?
Comment 22 Akira TAGOH 2010-02-02 23:01:07 EST
maybe. we could clone this to keep both on track.
Comment 23 Jens Petersen 2010-04-21 22:45:38 EDT
This should be fixed by baekmuk-ttf-fonts-2.2-25.fc13 and
the result no binding="same" changes proposed by Tagoh-san.

So this is probably a duplicate of bug 578015.
Comment 24 Jens Petersen 2010-05-05 23:41:08 EDT

*** This bug has been marked as a duplicate of bug 578017 ***