[SOLVED] Infinality Font Configuration

I recently installed the Infinality patchsat {freetype2-git-infinality} and the corresponding Windows 7 fonts {ttf-win7-fonts} packet and ever since I have not had any fonts available other than the ones which were installed with the ttf-win7-fonts package.
Passing fc-cache -f -v returns
[zadmin@zlaptop artwiz-fonts]$ fc-cache -f -v
/usr/share/fonts: caching, new cache contents: 0 fonts, 10 dirs
/usr/share/fonts/100dpi: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/75dpi: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/TTF: caching, new cache contents: 130 fonts, 0 dirs
/usr/share/fonts/Type1: caching, new cache contents: 35 fonts, 0 dirs
/usr/share/fonts/artwiz-fonts: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/cantarell: caching, new cache contents: 2 fonts, 0 dirs
/usr/share/fonts/cyrillic: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/encodings: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/encodings/large: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/misc: caching, new cache contents: 0 fonts, 0 dirs
/usr/share/fonts/util: caching, new cache contents: 0 fonts, 0 dirs
/home/zadmin/.fonts: skipping, no such directory
/var/cache/fontconfig: not cleaning unwritable cache directory
/home/zadmin/.fontconfig: cleaning cache directory
fc-cache: succeeded
I also don't understand why it is reporting that there are 0 fonts in directories when I know there are fonts. For example, in /usr/share/fonts/artwiz-fonts:
[zadmin@zlaptop ~]$ ls /usr/share/fonts/artwiz-fonts/
anorexia.de.pcf edges.de.pcf glisp-bold.pcf mints-mild.se.pcf
anorexia.pcf edges.pcf glisp-bold.se.pcf mints-strong.de.pcf
anorexia.se.pcf edges.se.pcf glisp.de.pcf mints-strong.pcf
aqui.de.pcf fkp.de.pcf glisp.pcf mints-strong.se.pcf
aqui.pcf fkp.pcf glisp.se.pcf nu.de.pcf
aqui.se.pcf fkp.se.pcf kates.de.pcf nu.pcf
cure.de.pcf fonts.alias kates.pcf nu.se.pcf
cure.pcf fonts.dir kates.se.pcf smoothansi.de.pcf
cure.se.pcf fonts.scale lime.de.pcf smoothansi.pcf
cursor.pcf gelly.de.pcf lime.pcf smoothansi.se.pcf
drift.de.pcf gelly.pcf lime.se.pcf snap.de.pcf
drift.pcf gelly.se.pcf mints-mild.de.pcf snap.pcf
drift.se.pcf glisp-bold.de.pcf mints-mild.pcf snap.se.pcf
As a result any application which was using fonts not found within the Windows 7 font set displays incorrectly.
It seems that /etc/fonts/local.conf is replaced with /etc/fonts/conf.avail/52-infinality.conf and my ~/.Xresources is no longer needed. Could that have anything to do with it?
Last edited by Vitechy (2011-12-20 05:02:24)

It seems that Infinality also disables bitmap fonts in the 52-infinality.conf file. The solution is to edit the following section in /etc/fonts/conf.avail/52-infinality.conf
<!-- Reject bitmap fonts in favour of Truetype, Postscript, etc. -->
<match target="font" >
<test name="allow_bitmap_fonts" qual="any" >
<bool>true</bool>
</test>
<test name="rendering_style" qual="any" >
<string>Infinality</string>
<string>Windows 7</string>
<string>Windows XP</string>
<string>OSX</string>
<string>OSX2</string>
</test>
<selectfont>
<rejectfont>
<pattern>
<patelt name="scalable" >
<bool>false</bool>
</patelt>
</pattern>
</rejectfont>
</selectfont>
</match>
<!-- Substitute truetype fonts for bitmap ones -->
<match target="pattern" >
<test name="allow_bitmap_fonts" qual="any" >
<bool>true</bool>
</test>
<test name="rendering_style" qual="any" >
<string>Infinality</string>
<string>Windows 7</string>
<string>Windows XP</string>
<string>OSX</string>
<string>OSX2</string>
</test>
<edit name="prefer_outline" >
<bool>true</bool>
</edit>
</match>

Similar Messages

  • [SOLVED] Infinality font bundle not working correctly in urxvt / xterm

    I've been using Infinality fonts, and installed them from this:
    https://wiki.archlinux.org/index.php/In … le%2Bfonts
    The fonts look great in every application, except for terminals (urxvt / xterm, but most likely others as well).
    In my .Xdefaults, I have:
    *urxvt*font: xft:DejaVu Sans Mono:pixelsize=14,style=regular
    But using this setting just displays some ugly fallback font, and I got similar results when trying Monospace and others.
    http://i.imgur.com/nMdIMbv.png
    I've gathered that the output of "xlsfonts" should include the names of my infinality fonts, but it doesn't look like it does:
    -arabic-newspaper-medium-r-normal--0-0-100-100-p-0-iso10646-1
    -arabic-newspaper-medium-r-normal--32-246-100-100-p-137-iso10646-1
    -daewoo-gothic-medium-r-normal--0-0-100-100-c-0-ksc5601.1987-0
    -daewoo-gothic-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0
    -daewoo-mincho-medium-r-normal--0-0-100-100-c-0-ksc5601.1987-0
    -daewoo-mincho-medium-r-normal--16-120-100-100-c-160-ksc5601.1987-0
    -daewoo-mincho-medium-r-normal--24-170-100-100-c-240-ksc5601.1987-0
    -isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
    -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
    -isas-song ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
    -isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0
    -isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0
    -jis-fixed-medium-r-normal--0-0-75-75-c-0-jisx0208.1983-0
    -jis-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1983-0
    -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
    -jis-fixed-medium-r-normal--24-170-100-100-c-240-jisx0208.1983-0
    -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso10646-1
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-1
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-10
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-13
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-14
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-15
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-16
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-2
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-3
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-4
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-5
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-7
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-8
    -misc-fixed-bold-r-normal--0-0-100-100-c-0-iso8859-9
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso10646-1
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-1
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-10
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-11
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-13
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-14
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-15
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-16
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-2
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-3
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-4
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-5
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-7
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-8
    -misc-fixed-bold-r-normal--0-0-75-75-c-0-iso8859-9
    -misc-fixed-bold-r-normal--13-100-100-100-c-70-iso8859-1
    -misc-fixed-bold-r-normal--13-100-100-100-c-80-iso8859-1
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso10646-1
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-10
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-11
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-13
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-14
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-15
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-16
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-2
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-3
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-4
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-5
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-7
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-8
    -misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-9
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso10646-1
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-1
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-10
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-13
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-14
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-15
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-16
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-2
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-3
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-4
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-5
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-7
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-8
    -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-9
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso10646-1
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-1
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-10
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-11
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-13
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-14
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-15
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-16
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-2
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-3
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-4
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-5
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-7
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-8
    -misc-fixed-bold-r-normal--14-130-75-75-c-70-iso8859-9
    -misc-fixed-bold-r-normal--15-120-100-100-c-90-iso8859-1
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-10
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-11
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-13
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-14
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-15
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-16
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-2
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-3
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-4
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-5
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-7
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-8
    -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-9
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso10646-1
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-1
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-10
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-13
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-14
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-15
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-16
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-2
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-3
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-4
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-5
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-7
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-8
    -misc-fixed-bold-r-normal--18-120-100-100-c-90-iso8859-9
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso10646-1
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-1
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-10
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-13
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-14
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-15
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-16
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-2
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-3
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-4
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-5
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-7
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-8
    -misc-fixed-bold-r-semicondensed--0-0-75-75-c-0-iso8859-9
    -misc-fixed-bold-r-semicondensed--13-100-100-100-c-60-iso8859-1
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso10646-1
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-10
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-13
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-14
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-15
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-16
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-2
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-3
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-4
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-5
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-7
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-8
    -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-9
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso10646-1
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-1
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-10
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-11
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-13
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-14
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-15
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-16
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-2
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-3
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-4
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-5
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-7
    -misc-fixed-medium-o-normal--0-0-75-75-c-0-iso8859-9
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso10646-1
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-1
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-10
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-11
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-13
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-14
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-15
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-16
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-2
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-3
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-4
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-5
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-7
    -misc-fixed-medium-o-normal--13-120-75-75-c-70-iso8859-9
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso10646-1
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-1
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-10
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-13
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-14
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-15
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-16
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-2
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-3
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-4
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-5
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-7
    -misc-fixed-medium-o-normal--13-120-75-75-c-80-iso8859-9
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso10646-1
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-1
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-10
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-13
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-14
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-15
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-16
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-2
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-3
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-4
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-5
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-7
    -misc-fixed-medium-o-semicondensed--0-0-75-75-c-0-iso8859-9
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso10646-1
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-1
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-10
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-13
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-14
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-15
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-16
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-2
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-3
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-4
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-5
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-7
    -misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-9
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso10646-1
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-1
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-10
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-11
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-13
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-14
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-15
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-16
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-2
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-3
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-4
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-5
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-7
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-8
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-9
    -misc-fixed-medium-r-normal--0-0-100-100-c-0-koi8-r
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso10646-1
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-1
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-10
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-11
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-13
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-14
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-15
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-16
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-2
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-3
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-4
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-5
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-7
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-8
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-iso8859-9
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-jisx0201.1976-0
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-jisx0208.1983-0
    -misc-fixed-medium-r-normal--0-0-75-75-c-0-koi8-r
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso10646-1
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-10
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-13
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-14
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-15
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-16
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-2
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-3
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-4
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-5
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-7
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-8
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-9
    -misc-fixed-medium-r-normal--10-100-75-75-c-60-koi8-r
    -misc-fixed-medium-r-normal--10-70-100-100-c-60-iso8859-1
    -misc-fixed-medium-r-normal--13-100-100-100-c-70-iso8859-1
    -misc-fixed-medium-r-normal--13-100-100-100-c-80-iso8859-1
    -misc-fixed-medium-r-normal--13-100-100-100-c-80-iso8859-8
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso10646-1
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-1
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-10
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-11
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-13
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-14
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-15
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-16
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-2
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-3
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-4
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-5
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-7
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-8
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-iso8859-9
    -misc-fixed-medium-r-normal--13-120-75-75-c-70-koi8-r
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-1
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-10
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-13
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-14
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-15
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-16
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-2
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-3
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-4
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-5
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-7
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-8
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-9
    -misc-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r
    -misc-fixed-medium-r-normal--14-110-100-100-c-70-iso8859-1
    -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-10
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-11
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-13
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-14
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-15
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-16
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-2
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-3
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-4
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-5
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-7
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-8
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-9
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0
    -misc-fixed-medium-r-normal--14-130-75-75-c-70-koi8-r
    -misc-fixed-medium-r-normal--15-120-100-100-c-90-iso8859-1
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-10
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-11
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-13
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-14
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-15
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-16
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-2
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-3
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-4
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-5
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-7
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-8
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-9
    -misc-fixed-medium-r-normal--15-140-75-75-c-90-koi8-r
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-1
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-10
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-11
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-13
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-14
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-15
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-16
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-2
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-3
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-4
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-5
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-7
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-8
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso8859-9
    -misc-fixed-medium-r-normal--18-120-100-100-c-90-koi8-r
    -misc-fixed-medium-r-normal--20-140-100-100-c-100-iso8859-1
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-1
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-10
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-11
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-13
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-14
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-16
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-2
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-3
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-4
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-5
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-7
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-8
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-9
    -misc-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso10646-1
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-1
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-10
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-13
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-14
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-15
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-16
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-2
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-3
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-4
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-5
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-7
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-8
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-9
    -misc-fixed-medium-r-normal--6-60-75-75-c-40-koi8-r
    -misc-fixed-medium-r-normal--7-50-100-100-c-50-iso8859-1
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso10646-1
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-1
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-10
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-13
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-14
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-15
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-16
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-2
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-3
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-4
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-5
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-7
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-8
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-9
    -misc-fixed-medium-r-normal--7-70-75-75-c-50-koi8-r
    -misc-fixed-medium-r-normal--8-60-100-100-c-50-iso8859-1
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-10
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-13
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-14
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-15
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-16
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-2
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-3
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-4
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-5
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-7
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-8
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-9
    -misc-fixed-medium-r-normal--8-80-75-75-c-50-koi8-r
    -misc-fixed-medium-r-normal--9-80-100-100-c-60-iso8859-1
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso10646-1
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-1
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-10
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-13
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-14
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-15
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-16
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-2
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-3
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-4
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-5
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-7
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-8
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-iso8859-9
    -misc-fixed-medium-r-normal--9-90-75-75-c-60-koi8-r
    -misc-fixed-medium-r-normal-ja-0-0-100-100-c-0-iso10646-1
    -misc-fixed-medium-r-normal-ja-0-0-75-75-c-0-iso10646-1
    -misc-fixed-medium-r-normal-ja-13-120-75-75-c-120-iso10646-1
    -misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1
    -misc-fixed-medium-r-normal-ko-0-0-100-100-c-0-iso10646-1
    -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso10646-1
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-1
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-1
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-10
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-11
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-13
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-14
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-15
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-16
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-2
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-3
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-4
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-5
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-7
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-8
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-iso8859-9
    -misc-fixed-medium-r-semicondensed--0-0-75-75-c-0-koi8-r
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso10646-1
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-1
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-10
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-13
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-14
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-15
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-16
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-2
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-3
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-4
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-5
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-7
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-8
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso8859-9
    -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-koi8-r
    -misc-fixed-medium-r-semicondensed--12-90-100-100-c-60-iso8859-1
    -misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-1
    -misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-1
    -misc-fixed-medium-r-semicondensed--13-100-100-100-c-60-iso8859-8
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-10
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-11
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-13
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-14
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-15
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-16
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-2
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-3
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-4
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-5
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-7
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-8
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-9
    -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r
    -misc-nil-medium-r-normal--0-0-75-75-c-0-misc-fontspecific
    -misc-nil-medium-r-normal--2-20-75-75-c-10-misc-fontspecific
    -mutt-clearlyu alternate glyphs-medium-r-normal--0-0-100-100-p-0-iso10646-1
    -mutt-clearlyu alternate glyphs-medium-r-normal--17-120-100-100-p-122-iso10646-1
    -mutt-clearlyu arabic extra-medium-r-normal--0-0-100-100-p-0-fontspecific-0
    -mutt-clearlyu arabic extra-medium-r-normal--17-120-100-100-p-101-fontspecific-0
    -mutt-clearlyu arabic-medium-r-normal--0-0-100-100-p-0-iso10646-1
    -mutt-clearlyu arabic-medium-r-normal--17-120-100-100-p-93-iso10646-1
    -mutt-clearlyu devanagari-medium-r-normal--0-0-90-90-p-0-fontspecific-0
    -mutt-clearlyu devanagari-medium-r-normal--15-120-90-90-p-104-fontspecific-0
    -mutt-clearlyu devangari extra-medium-r-normal--0-0-100-100-p-0-fontspecific-0
    -mutt-clearlyu devangari extra-medium-r-normal--17-120-100-100-p-105-fontspecific-0
    -mutt-clearlyu ligature-medium-r-normal--0-0-100-100-p-0-fontspecific-0
    -mutt-clearlyu ligature-medium-r-normal--17-120-100-100-p-141-fontspecific-0
    -mutt-clearlyu pua-medium-r-normal--0-0-100-100-p-0-iso10646-1
    -mutt-clearlyu pua-medium-r-normal--17-120-100-100-p-110-iso10646-1
    -mutt-clearlyu-medium-r-normal--0-0-100-100-p-0-iso10646-1
    -mutt-clearlyu-medium-r-normal--17-120-100-100-p-123-iso10646-1
    -schumacher-clean-bold-r-normal--0-0-75-75-c-0-iso646.1991-irv
    -schumacher-clean-bold-r-normal--10-100-75-75-c-60-iso646.1991-irv
    -schumacher-clean-bold-r-normal--10-100-75-75-c-80-iso646.1991-irv
    -schumacher-clean-bold-r-normal--12-120-75-75-c-60-iso646.1991-irv
    -schumacher-clean-bold-r-normal--12-120-75-75-c-80-iso646.1991-irv
    -schumacher-clean-bold-r-normal--13-130-75-75-c-80-iso646.1991-irv
    -schumacher-clean-bold-r-normal--14-140-75-75-c-80-iso646.1991-irv
    -schumacher-clean-bold-r-normal--15-150-75-75-c-90-iso646.1991-irv
    -schumacher-clean-bold-r-normal--16-160-75-75-c-80-iso646.1991-irv
    -schumacher-clean-bold-r-normal--8-80-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-i-normal--0-0-75-75-c-0-iso646.1991-irv
    -schumacher-clean-medium-i-normal--12-120-75-75-c-60-iso646.1991-irv
    -schumacher-clean-medium-i-normal--8-80-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso10646-1
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso646.1991-irv
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-1
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-10
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-13
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-14
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-15
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-16
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-2
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-3
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-4
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-5
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-7
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-8
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-iso8859-9
    -schumacher-clean-medium-r-normal--0-0-75-75-c-0-koi8-r
    -schumacher-clean-medium-r-normal--10-100-75-75-c-50-iso646.1991-irv
    -schumacher-clean-medium-r-normal--10-100-75-75-c-60-iso646.1991-irv
    -schumacher-clean-medium-r-normal--10-100-75-75-c-70-iso646.1991-irv
    -schumacher-clean-medium-r-normal--10-100-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso10646-1
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-1
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-10
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-13
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-14
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-15
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-16
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-2
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-3
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-4
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-5
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-7
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-8
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-iso8859-9
    -schumacher-clean-medium-r-normal--12-120-75-75-c-60-koi8-r
    -schumacher-clean-medium-r-normal--12-120-75-75-c-70-iso646.1991-irv
    -schumacher-clean-medium-r-normal--12-120-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-r-normal--13-130-75-75-c-60-iso646.1991-irv
    -schumacher-clean-medium-r-normal--13-130-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-r-normal--14-140-75-75-c-70-iso646.1991-irv
    -schumacher-clean-medium-r-normal--14-140-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-r-normal--15-150-75-75-c-90-iso646.1991-irv
    -schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso646.1991-irv
    -schumacher-clean-medium-r-normal--6-60-75-75-c-40-iso646.1991-irv
    -schumacher-clean-medium-r-normal--6-60-75-75-c-50-iso646.1991-irv
    -schumacher-clean-medium-r-normal--6-60-75-75-c-60-iso646.1991-irv
    -schumacher-clean-medium-r-normal--8-80-75-75-c-50-iso646.1991-irv
    -schumacher-clean-medium-r-normal--8-80-75-75-c-60-iso646.1991-irv
    -schumacher-clean-medium-r-normal--8-80-75-75-c-70-iso646.1991-irv
    -schumacher-clean-medium-r-normal--8-80-75-75-c-80-iso646.1991-irv
    -sony-fixed-medium-r-normal--0-0-100-100-c-0-iso8859-1
    -sony-fixed-medium-r-normal--0-0-100-100-c-0-jisx0201.1976-0
    -sony-fixed-medium-r-normal--16-120-100-100-c-80-iso8859-1
    -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0
    -sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1
    -sony-fixed-medium-r-normal--16-150-75-75-c-80-jisx0201.1976-0
    -sony-fixed-medium-r-normal--24-170-100-100-c-120-iso8859-1
    -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0
    -sony-fixed-medium-r-normal--24-230-75-75-c-120-iso8859-1
    -sony-fixed-medium-r-normal--24-230-75-75-c-120-jisx0201.1976-0
    -sun-open look cursor-----0-0-75-75-p-0-sunolcursor-1
    -sun-open look cursor-----12-120-75-75-p-160-sunolcursor-1
    -sun-open look glyph-----0-0-75-75-p-0-sunolglyph-1
    -sun-open look glyph-----10-100-75-75-p-101-sunolglyph-1
    -sun-open look glyph-----12-120-75-75-p-113-sunolglyph-1
    -sun-open look glyph-----14-140-75-75-p-128-sunolglyph-1
    -sun-open look glyph-----19-190-75-75-p-154-sunolglyph-1
    10x20
    12x24
    12x24kana
    12x24romankana
    5x7
    5x8
    6x10
    6x12
    6x13
    6x13
    6x13bold
    6x9
    7x13
    7x13bold
    7x13euro
    7x13eurobold
    7x14
    7x14bold
    8x13
    8x13bold
    8x16
    8x16kana
    8x16romankana
    9x15
    9x15bold
    a14
    cursor
    cursor
    decw$cursor
    decw$session
    fixed
    fixed
    hanzigb16fs
    hanzigb16st
    hanzigb24st
    heb6x13
    heb8x13
    k14
    kana14
    kanji16
    kanji24
    micro
    nil2
    olcursor
    olglyph-10
    olglyph-12
    olglyph-14
    olglyph-19
    r14
    r16
    r24
    rk14
    rk16
    rk24
    I've also tried rebuilding the font cache with "fc-cache -f", but no dice.
    I don't understand why fonts work correctly everywhere except for urxvt. Does anyone have any ideas?
    -- mod edit: read the Forum Etiquette and only post thumbnails http://wiki.archlinux.org/index.php/For … s_and_Code [jwr] --
    Last edited by thrashrokz33 (2014-02-03 02:28:08)

    Doesn't look like I have a ttf available, hmm...
    ~ fc-list | grep -i 'DejaVu Sans Mono'
    /usr/share/fonts/t1-dejavu-ib/DejaVuSansMono-Bold.pfb: DejaVu Sans Mono:style=Bold
    /usr/share/fonts/t1-dejavu-ib/DejaVuSansMono-Oblique.pfb: DejaVu Sans Mono:style=Oblique
    /usr/share/fonts/t1-dejavu-ib/DejaVuSansMono-BoldOblique.pfb: DejaVu Sans Mono:style=Bold Oblique
    /usr/share/fonts/t1-dejavu-ib/DejaVuSansMono.pfb: DejaVu Sans Mono:style=Regular

  • [SOLVED] Fat fonts in KDE

    Hi everyone,
    I'm using the ubuntu patched packages from AUR and my fonts look great on GTK apps but they look fat (bold) in KDE/Qt apps. I recall this happened too with the infinality packages so I'm sure it must be some configuration option, maybe some leftover from all the font things I've tried and messed with to get the fonts how I wanted.
    I want my fonts in KDE apps to look like the GTK ones as in the screenshot attached. Any ideas what might be the problem?
    GTK
    KDE
    Here's my /etc/fonts/fonts.conf ~/.fonts.conf in case it helps.
    Thanks.
    Last edited by mjn (2011-06-06 19:33:16)

    mjn wrote:I'm using the ubuntu patched packages from AUR...
    Which ones?
    I've got installed cairo-ubuntu fontconfig-ubuntu freetype2-ubuntu libxft-ubuntu and keep installed an old version of ubuntu fonts. My configuration looks exactly the same as yours, so, according to this (read the comments), you could try changing the hinting style from slight to medium in system settings/fonts/configure anti-aliasing. It will overwrite your ~/.fonts.conf, so do a backup copy before
    Or, better, if your ttf-ubuntu-font-family version is 0.71.2-1, downgrade it to 0.70.1, the third comment from the top will instruct you on how to do that.
    If it doesn't work, could you please post the directory listing of /etc/fonts/conf.d ?

  • [SOLVED] Different font rendering in two accounts/users...

    Hi!
    I have this slight problem of fonts. The rendering of font in one account from another is somehow different (or is it just my eyes? ). Anyways, here's a screenshot of my terminal and firefox. Fonts are similar for both:
    Account 1 (I was thinking how to apply this same setting to the other account):
    Terminal:
    Firefox:
    Account 2 (has blurry fonts):
    Terminal:
    Firefox:
    For the configurations, I don't think I have a ~/.fonts.conf on both users. For the terminal, I only have the settings that is found on http://wiki.archlinux.org/index.php/Xde … t_Settings. For the terminal, I think it's just my eyes Kindly let me know if you think the same way too.
    Any help appreciated.
    Thanks!
    Last edited by dsdeiz (2010-09-22 05:57:45)

    Hi again,
    Check the font config in your window manager (xfce, kde, gnome, etc.).
    I have openbox. Not entirely sure where is it's font configurations. I checked rc.xml and ran obconf. I searched for the word "alias" but haven't found any. I also tried creating a new user and ran icewm on it though Firefox still looked the same.
    Looks like the second firefox picture has subpixel antialiasing on, not the first.
    I also tried the font configuration found here.
    Thanks for the help.
    Last edited by dsdeiz (2010-09-19 02:10:49)

  • How to install both infinality-fonts and google-fonts?

    I would like to install (one of the) google-fonts AUR packages, but it conflicts with infinality font packages.  Is there a way to only install the fonts from the google-fonts package which don't already exist in infinality versions?

    karol wrote:Maybe you can just 'rm -rf' the fonts that are already provided by infinality font packages?
    It's a bit complicated. I checked to see if the otf-google-fonts-hg package would work as none of infinality-bundle-fonts are OTF. Nope. bohoomil has conflicts for all sorts of packages and the font names aren't obvious:
    ~ > pacman -Qi ttf-chromeos-ib | egrep "Name|Conflicts"
    Name : ttf-chromeos-ib
    Conflicts With : otf-google-fonts-hg ttf-google-fonts-git ttf-google-fonts-hg ttf-chromeos-fonts ttf-chromeos-extra-fonts
    There is no font by that name in the otf-google-fonts-hg package; it's an infinality font meta-package.
    Last edited by skottish (2014-12-17 23:51:09)

  • Do infinality fonts have to be *selected*?

    I've just gone thru the Infinality page in the wiki.  I'm running KDE and my understanding is that I should select anti-aliasing, full hinting, etc, from the KDE System Settings.
    What's NOT clear to me is whether I have to somehow select an Infinality font in the "general", "Fixed Width", "small" options in that window.   I don't see any choices in the pulldown menus. 
    Or does Infinality just change the way the existing fonts are rendered?   
    With the default Sans Serif and Monospace fonts selected (the defaults) things don't really look any better...

    brebs wrote:KDE doesn't use freetype, though.
    I wrote an infinality previewer named "grip" (in aur) that runs on qt4 that does work. Since kde4 uses qt4 as well, i'm pretty sure that infinality patches applies to Kde too.
    Qt4 is also linked to freetype, see:
    # ldd /usr/lib/libQtGui.so | grep freetype
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f450c505000)
    Last edited by kokoko3k (2015-05-27 06:51:35)

  • [SOLVED] Global Fonts Annihiliated

    Well the story starts off 2 days ago when I wanted to disable antialiasing and subpixel rendering (which makes the blue and red coloring on fonts) for fonts under a certain size. At the start I didn't know exactly what everything was so I follow the wikis for "Xorg Font Configuration" and "Fonts". I dont use a ~/.fonts, so all of my editting was done in the /etc/fonts/local.conf.
    Basically everything looks like this: http://omploader.org/vMmtjNg/NothingIsSpared.png
    Anti aliasing or something is totally missing from everything no matter what I do. I've used the template found at http://wiki.archlinux.org/index.php/Xor … _very_good into /etc/fonts/local.conf to no avail. I've reinstalled fonts, and fooled turning things off and on to see if it would make any difference and nothing has.
    I'm hoping a xorg or font guru can walk me through some things that could help improve my situtation.
    Last edited by Jimi (2009-10-23 04:17:14)

    Still haven't found a solution--Like I said all GTK apps are suffering from horrible fonts, while FireFox and urxvt are responding to /etc/fonts/local.conf and ~/.fonts.config
    I finally found the cairo-respect-fontconfig patch (i think), but i have no idea what to do with it
    #! /bin/sh /usr/share/dpatch/dpatch-run
    ## 04_lcd_filter.dpatch by Fabien Tassin <[email protected]>
    ## All lines beginning with `## DP:' are a description of the patch.
    ## DP: From git rev 5d887ad5dca5af0f8216830d1b04d08a5aba9bee
    @DPATCH@
    diff -urNad cairo-1.8.0~/src/cairo-font-options.c cairo-1.8.0/src/cairo-font-options.c
    --- cairo-1.8.0~/src/cairo-font-options.c 2008-09-25 22:30:14.000000000 +0200
    +++ cairo-1.8.0/src/cairo-font-options.c 2008-10-14 15:01:37.000000000 +0200
    @@ -39,6 +39,7 @@
    static const cairo_font_options_t _cairo_font_options_nil = {
    CAIRO_ANTIALIAS_DEFAULT,
    CAIRO_SUBPIXEL_ORDER_DEFAULT,
    + CAIRO_LCD_FILTER_DEFAULT,
    CAIRO_HINT_STYLE_DEFAULT,
    CAIRO_HINT_METRICS_DEFAULT
    @@ -54,6 +55,7 @@
    options->antialias = CAIRO_ANTIALIAS_DEFAULT;
    options->subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT;
    + options->lcd_filter = CAIRO_LCD_FILTER_DEFAULT;
    options->hint_style = CAIRO_HINT_STYLE_DEFAULT;
    options->hint_metrics = CAIRO_HINT_METRICS_DEFAULT;
    @@ -64,6 +66,7 @@
    options->antialias = other->antialias;
    options->subpixel_order = other->subpixel_order;
    + options->lcd_filter = other->lcd_filter;
    options->hint_style = other->hint_style;
    options->hint_metrics = other->hint_metrics;
    @@ -189,6 +192,8 @@
    options->antialias = other->antialias;
    if (other->subpixel_order != CAIRO_SUBPIXEL_ORDER_DEFAULT)
    options->subpixel_order = other->subpixel_order;
    + if (other->lcd_filter != CAIRO_LCD_FILTER_DEFAULT)
    + options->lcd_filter = other->lcd_filter;
    if (other->hint_style != CAIRO_HINT_STYLE_DEFAULT)
    options->hint_style = other->hint_style;
    if (other->hint_metrics != CAIRO_HINT_METRICS_DEFAULT)
    @@ -221,6 +226,7 @@
    return (options->antialias == other->antialias &&
    options->subpixel_order == other->subpixel_order &&
    + options->lcd_filter == other->lcd_filter &&
    options->hint_style == other->hint_style &&
    options->hint_metrics == other->hint_metrics);
    @@ -246,7 +252,8 @@
    return ((options->antialias) |
    (options->subpixel_order << 4) |
    - (options->hint_style << 8) |
    + (options->lcd_filter << 8) |
    + (options->hint_style << 12) |
    (options->hint_metrics << 16));
    slim_hidden_def (cairo_font_options_hash);
    @@ -328,6 +335,48 @@
    + * _cairo_font_options_set_lcd_filter:
    + * @options: a #cairo_font_options_t
    + * @lcd_filter: the new LCD filter
    + *
    + * Sets the LCD filter for the font options object. The LCD filter
    + * specifies how pixels are filtered when rendered with an antialiasing
    + * mode of %CAIRO_ANTIALIAS_SUBPIXEL. See the documentation for
    + * #cairo_lcd_filter_t for full details.
    + *
    + * Since: 1.8
    + **/
    +void
    +_cairo_font_options_set_lcd_filter (cairo_font_options_t *options,
    + cairo_lcd_filter_t lcd_filter)
    +{
    + if (cairo_font_options_status (options))
    + return;
    +
    + options->lcd_filter = lcd_filter;
    +}
    +
    +/**
    + * _cairo_font_options_get_lcd_filter:
    + * @options: a #cairo_font_options_t
    + *
    + * Gets the LCD filter for the font options object.
    + * See the documentation for #cairo_lcd_filter_t for full details.
    + *
    + * Return value: the LCD filter for the font options object
    + *
    + * Since: 1.8
    + **/
    +cairo_lcd_filter_t
    +_cairo_font_options_get_lcd_filter (const cairo_font_options_t *options)
    +{
    + if (cairo_font_options_status ((cairo_font_options_t *) options))
    + return CAIRO_LCD_FILTER_DEFAULT;
    +
    + return options->lcd_filter;
    +}
    +
    +/**
    * cairo_font_options_set_hint_style:
    * @options: a #cairo_font_options_t
    * @hint_style: the new hint style
    diff -urNad cairo-1.8.0~/src/cairo-ft-font.c cairo-1.8.0/src/cairo-ft-font.c
    --- cairo-1.8.0~/src/cairo-ft-font.c 2008-09-25 22:28:24.000000000 +0200
    +++ cairo-1.8.0/src/cairo-ft-font.c 2008-10-14 15:01:37.000000000 +0200
    @@ -57,6 +57,30 @@
    #include FT_SYNTHESIS_H
    #endif
    +#if HAVE_FT_LIBRARY_SETLCDFILTER
    +#include FT_LCD_FILTER_H
    +#endif
    +
    +/* Fontconfig version older than 2.6 didn't have these options */
    +#ifndef FC_LCD_FILTER
    +#define FC_LCD_FILTER "lcdfilter"
    +#endif
    +/* Some Ubuntu versions defined FC_LCD_FILTER without defining the following */
    +#ifndef FC_LCD_NONE
    +#define FC_LCD_NONE 0
    +#define FC_LCD_DEFAULT 1
    +#define FC_LCD_LIGHT 2
    +#define FC_LCD_LEGACY 3
    +#endif
    +
    +/* FreeType version older than 2.3.5(?) didn't have these options */
    +#ifndef FT_LCD_FILTER_NONE
    +#define FT_LCD_FILTER_NONE 0
    +#define FT_LCD_FILTER_DEFAULT 1
    +#define FT_LCD_FILTER_LIGHT 2
    +#define FT_LCD_FILTER_LEGACY 16
    +#endif
    +
    #define DOUBLE_TO_26_6(d) ((FT_F26Dot6)((d) * 64.0))
    #define DOUBLE_FROM_26_6(t) ((double)(t) / 64.0)
    #define DOUBLE_TO_16_16(d) ((FT_Fixed)((d) * 65536.0))
    @@ -737,23 +761,286 @@
    return CAIRO_STATUS_SUCCESS;
    -/* Empirically-derived subpixel filtering values thanks to Keith
    - * Packard and libXft. */
    -static const int filters[3][3] = {
    - /* red */
    -#if 0
    - { 65538*4/7,65538*2/7,65538*1/7 },
    - /* green */
    - { 65536*1/4, 65536*2/4, 65537*1/4 },
    - /* blue */
    - { 65538*1/7,65538*2/7,65538*4/7 },
    +/* we sometimes need to convert the glyph bitmap in a FT_GlyphSlot
    + * into a different format. For example, we want to convert a
    + * FT_PIXEL_MODE_LCD or FT_PIXEL_MODE_LCD_V bitmap into a 32-bit
    + * ARGB or ABGR bitmap.
    + *
    + * this function prepares a target descriptor for this operation.
    + *
    + * input :: target bitmap descriptor. The function will set its
    + * 'width', 'rows' and 'pitch' fields, and only these
    + *
    + * slot :: the glyph slot containing the source bitmap. this
    + * function assumes that slot->format == FT_GLYPH_FORMAT_BITMAP
    + *
    + * mode :: the requested final rendering mode. supported values are
    + * MONO, NORMAL (i.e. gray), LCD and LCD_V
    + *
    + * the function returns the size in bytes of the corresponding buffer,
    + * it's up to the caller to allocate the corresponding memory block
    + * before calling _fill_xrender_bitmap
    + *
    + * it also returns -1 in case of error (e.g. incompatible arguments,
    + * like trying to convert a gray bitmap into a monochrome one)
    + */
    +static int
    +_compute_xrender_bitmap_size(FT_Bitmap *target,
    + FT_GlyphSlot slot,
    + FT_Render_Mode mode)
    +{
    + FT_Bitmap *ftbit;
    + int width, height, pitch;
    +
    + if (slot->format != FT_GLYPH_FORMAT_BITMAP)
    + return -1;
    +
    + /* compute the size of the final bitmap */
    + ftbit = &slot->bitmap;
    +
    + width = ftbit->width;
    + height = ftbit->rows;
    + pitch = (width + 3) & ~3;
    +
    + switch (ftbit->pixel_mode) {
    + case FT_PIXEL_MODE_MONO:
    + if (mode == FT_RENDER_MODE_MONO) {
    + pitch = (((width + 31) & ~31) >> 3);
    + break;
    + }
    + /* fall-through */
    +
    + case FT_PIXEL_MODE_GRAY:
    + if (mode == FT_RENDER_MODE_LCD ||
    + mode == FT_RENDER_MODE_LCD_V)
    + {
    + /* each pixel is replicated into a 32-bit ARGB value */
    + pitch = width * 4;
    + }
    + break;
    +
    + case FT_PIXEL_MODE_LCD:
    + if (mode != FT_RENDER_MODE_LCD)
    + return -1;
    +
    + /* horz pixel triplets are packed into 32-bit ARGB values */
    + width /= 3;
    + pitch = width * 4;
    + break;
    +
    + case FT_PIXEL_MODE_LCD_V:
    + if (mode != FT_RENDER_MODE_LCD_V)
    + return -1;
    +
    + /* vert pixel triplets are packed into 32-bit ARGB values */
    + height /= 3;
    + pitch = width * 4;
    + break;
    +
    + default: /* unsupported source format */
    + return -1;
    + }
    +
    + target->width = width;
    + target->rows = height;
    + target->pitch = pitch;
    + target->buffer = NULL;
    +
    + return pitch * height;
    +}
    +
    +/* this functions converts the glyph bitmap found in a FT_GlyphSlot
    + * into a different format (see _compute_xrender_bitmap_size)
    + *
    + * you should call this function after _compute_xrender_bitmap_size
    + *
    + * target :: target bitmap descriptor. Note that its 'buffer' pointer
    + * must point to memory allocated by the caller
    + *
    + * slot :: the glyph slot containing the source bitmap
    + *
    + * mode :: the requested final rendering mode
    + *
    + * bgr :: boolean, set if BGR or VBGR pixel ordering is needed
    + */
    +static void
    +_fill_xrender_bitmap(FT_Bitmap *target,
    + FT_GlyphSlot slot,
    + FT_Render_Mode mode,
    + int bgr)
    +{
    + FT_Bitmap *ftbit = &slot->bitmap;
    + unsigned char *srcLine = ftbit->buffer;
    + unsigned char *dstLine = target->buffer;
    + int src_pitch = ftbit->pitch;
    + int width = target->width;
    + int height = target->rows;
    + int pitch = target->pitch;
    + int subpixel;
    + int h;
    +
    + subpixel = (mode == FT_RENDER_MODE_LCD ||
    + mode == FT_RENDER_MODE_LCD_V);
    +
    + if (src_pitch < 0)
    + srcLine -= src_pitch * (ftbit->rows - 1);
    +
    + target->pixel_mode = ftbit->pixel_mode;
    +
    + switch (ftbit->pixel_mode) {
    + case FT_PIXEL_MODE_MONO:
    + if (subpixel) {
    + /* convert mono to ARGB32 values */
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch) {
    + int x;
    +
    + for (x = 0; x < width; x++) {
    + if (srcLine[(x >> 3)] & (0x80 >> (x & 7)))
    + ((unsigned int *) dstLine)[x] = 0xffffffffU;
    + }
    + }
    + target->pixel_mode = FT_PIXEL_MODE_LCD;
    +
    + } else if (mode == FT_RENDER_MODE_NORMAL) {
    + /* convert mono to 8-bit gray */
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch) {
    + int x;
    +
    + for (x = 0; x < width; x++) {
    + if (srcLine[(x >> 3)] & (0x80 >> (x & 7)))
    + dstLine[x] = 0xff;
    + }
    + }
    + target->pixel_mode = FT_PIXEL_MODE_GRAY;
    +
    + } else {
    + /* copy mono to mono */
    +
    + int bytes = (width + 7) >> 3;
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch)
    + memcpy (dstLine, srcLine, bytes);
    + }
    + break;
    +
    + case FT_PIXEL_MODE_GRAY:
    + if (subpixel) {
    + /* convert gray to ARGB32 values */
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch) {
    + int x;
    + unsigned int *dst = (unsigned int *) dstLine;
    +
    + for (x = 0; x < width; x++) {
    + unsigned int pix = srcLine[x];
    +
    + pix |= (pix << 8);
    + pix |= (pix << 16);
    +
    + dst[x] = pix;
    + }
    + }
    + target->pixel_mode = FT_PIXEL_MODE_LCD;
    + } else {
    + /* copy gray into gray */
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch)
    + memcpy (dstLine, srcLine, width);
    + }
    + break;
    +
    + case FT_PIXEL_MODE_LCD:
    + if (!bgr) {
    + /* convert horizontal RGB into ARGB32 */
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch) {
    + int x;
    + unsigned char *src = srcLine;
    + unsigned int *dst = (unsigned int *) dstLine;
    +
    + for (x = 0; x < width; x++, src += 3) {
    + unsigned int pix;
    +
    + pix = ((unsigned int)src[0] << 16) |
    + ((unsigned int)src[1] << 8) |
    + ((unsigned int)src[2] ) |
    + ((unsigned int)src[1] << 24) ;
    +
    + dst[x] = pix;
    + }
    + }
    + } else {
    + /* convert horizontal BGR into ARGB32 */
    +
    + for (h = height; h > 0; h--, srcLine += src_pitch, dstLine += pitch) {
    +
    + int x;
    + unsigned char *src = srcLine;
    + unsigned int *dst = (unsigned int *) dstLine;
    +
    + for (x = 0; x < width; x++, src += 3) {
    + unsigned int pix;
    +
    + pix = ((unsigned int)src[2] << 16) |
    + ((unsigned int)src[1] << 8) |
    + ((unsigned int)src[0] ) |
    + ((unsigned int)src[1] << 24) ;
    +
    + dst[x] = pix;
    + }
    + }
    + }
    + break;
    +
    + default: /* FT_PIXEL_MODE_LCD_V */
    + /* convert vertical RGB into ARGB32 */
    + if (!bgr) {
    +
    + for (h = height; h > 0; h--, srcLine += 3 * src_pitch, dstLine += pitch) {
    + int x;
    + unsigned char* src = srcLine;
    + unsigned int* dst = (unsigned int *) dstLine;
    +
    + for (x = 0; x < width; x++, src += 1) {
    + unsigned int pix;
    +#if 1
    + pix = ((unsigned int)src[0] << 16) |
    + ((unsigned int)src[src_pitch] << 8) |
    + ((unsigned int)src[src_pitch*2] ) |
    + 0xFF000000 ;
    +#else
    + pix = ((unsigned int)src[0] << 16) |
    + ((unsigned int)src[src_pitch] << 8) |
    + ((unsigned int)src[src_pitch*2] ) |
    + ((unsigned int)src[src_pitch] << 24) ;
    #endif
    - { 65538*9/13,65538*3/13,65538*1/13 },
    - /* green */
    - { 65538*1/6, 65538*4/6, 65538*1/6 },
    - /* blue */
    - { 65538*1/13,65538*3/13,65538*9/13 },
    + dst[x] = pix;
    + }
    + }
    + } else {
    +
    + for (h = height; h > 0; h--, srcLine += 3*src_pitch, dstLine += pitch) {
    + int x;
    + unsigned char *src = srcLine;
    + unsigned int *dst = (unsigned int *) dstLine;
    +
    + for (x = 0; x < width; x++, src += 1) {
    + unsigned int pix;
    +
    + pix = ((unsigned int)src[src_pitch * 2] << 16) |
    + ((unsigned int)src[src_pitch] << 8) |
    + ((unsigned int)src[0] ) |
    + ((unsigned int)src[src_pitch] << 24) ;
    +
    + dst[x] = pix;
    + }
    + }
    + }
    + }
    +}
    +
    /* Fills in val->image with an image surface created from @bitmap
    @@ -766,7 +1053,7 @@
    int width, height, stride;
    unsigned char *data;
    int format = CAIRO_FORMAT_A8;
    - cairo_bool_t subpixel = FALSE;
    + cairo_image_surface_t *image;
    width = bitmap->width;
    height = bitmap->rows;
    @@ -823,11 +1110,7 @@
    case FT_PIXEL_MODE_LCD:
    case FT_PIXEL_MODE_LCD_V:
    case FT_PIXEL_MODE_GRAY:
    - switch (font_options->antialias) {
    - case CAIRO_ANTIALIAS_DEFAULT:
    - case CAIRO_ANTIALIAS_GRAY:
    - case CAIRO_ANTIALIAS_NONE:
    - default:
    + if (font_options->antialias != CAIRO_ANTIALIAS_SUBPIXEL) {
    stride = bitmap->pitch;
    if (own_buffer) {
    data = bitmap->buffer;
    @@ -839,104 +1122,16 @@
    memcpy (data, bitmap->buffer, stride * height);
    format = CAIRO_FORMAT_A8;
    - break;
    - case CAIRO_ANTIALIAS_SUBPIXEL: {
    - int x, y;
    - unsigned char *in_line, *out_line, *in;
    - unsigned int *out;
    - unsigned int red, green, blue;
    - int rf, gf, bf;
    - int s;
    - int o, os;
    - unsigned char *data_rgba;
    - unsigned int width_rgba, stride_rgba;
    - int vmul = 1;
    - int hmul = 1;
    + } else {
    + /* if we get there, the data from the source bitmap
    + * really comes from _fill_xrender_bitmap, and is
    + * made of 32-bit ARGB or ABGR values */
    + assert (own_buffer != 0);
    + assert (bitmap->pixel_mode != FT_PIXEL_MODE_GRAY);
    - switch (font_options->subpixel_order) {
    - case CAIRO_SUBPIXEL_ORDER_DEFAULT:
    - case CAIRO_SUBPIXEL_ORDER_RGB:
    - case CAIRO_SUBPIXEL_ORDER_BGR:
    - default:
    - width /= 3;
    - hmul = 3;
    - break;
    - case CAIRO_SUBPIXEL_ORDER_VRGB:
    - case CAIRO_SUBPIXEL_ORDER_VBGR:
    - vmul = 3;
    - height /= 3;
    - break;
    - * Filter the glyph to soften the color fringes
    - width_rgba = width;
    + data = bitmap->buffer;
    stride = bitmap->pitch;
    - stride_rgba = (width_rgba * 4 + 3) & ~3;
    - data_rgba = calloc (stride_rgba, height);
    - if (data_rgba == NULL) {
    - if (own_buffer)
    - free (bitmap->buffer);
    - return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    - os = 1;
    - switch (font_options->subpixel_order) {
    - case CAIRO_SUBPIXEL_ORDER_VRGB:
    - os = stride;
    - case CAIRO_SUBPIXEL_ORDER_DEFAULT:
    - case CAIRO_SUBPIXEL_ORDER_RGB:
    - default:
    - rf = 0;
    - gf = 1;
    - bf = 2;
    - break;
    - case CAIRO_SUBPIXEL_ORDER_VBGR:
    - os = stride;
    - case CAIRO_SUBPIXEL_ORDER_BGR:
    - bf = 0;
    - gf = 1;
    - rf = 2;
    - break;
    - in_line = bitmap->buffer;
    - out_line = data_rgba;
    - for (y = 0; y < height; y++)
    - in = in_line;
    - out = (unsigned int *) out_line;
    - in_line += stride * vmul;
    - out_line += stride_rgba;
    - for (x = 0; x < width * hmul; x += hmul)
    - red = green = blue = 0;
    - o = 0;
    - for (s = 0; s < 3; s++)
    - red += filters[rf][s]*in[x+o];
    - green += filters[gf][s]*in[x+o];
    - blue += filters[bf][s]*in[x+o];
    - o += os;
    - red = red / 65536;
    - green = green / 65536;
    - blue = blue / 65536;
    - *out++ = (green << 24) | (red << 16) | (green << 8) | blue;
    - /* Images here are stored in native format. The
    - * backend must convert to its own format as needed
    - if (own_buffer)
    - free (bitmap->buffer);
    - data = data_rgba;
    - stride = stride_rgba;
    format = CAIRO_FORMAT_ARGB32;
    - subpixel = TRUE;
    - break;
    break;
    case FT_PIXEL_MODE_GRAY2:
    @@ -948,19 +1143,20 @@
    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    - *surface = (cairo_image_surface_t *)
    + /* XXX */
    + *surface = image = (cairo_image_surface_t *)
    cairo_image_surface_create_for_data (data,
    format,
    width, height, stride);
    - if ((*surface)->base.status) {
    + if (image->base.status) {
    free (data);
    return (*surface)->base.status;
    - if (subpixel)
    - pixman_image_set_component_alpha ((*surface)->pixman_image, TRUE);
    + if (font_options->antialias == CAIRO_ANTIALIAS_SUBPIXEL)
    + pixman_image_set_component_alpha (image->pixman_image, TRUE);
    - _cairo_image_surface_assume_ownership_of_data ((*surface));
    + _cairo_image_surface_assume_ownership_of_data (image);
    return CAIRO_STATUS_SUCCESS;
    @@ -985,16 +1181,59 @@
    cairo_font_options_t *font_options,
    cairo_image_surface_t **surface)
    + int rgba = FC_RGBA_UNKNOWN;
    + int lcd_filter = FT_LCD_FILTER_LEGACY;
    FT_GlyphSlot glyphslot = face->glyph;
    FT_Outline *outline = &glyphslot->outline;
    FT_Bitmap bitmap;
    FT_BBox cbox;
    - FT_Matrix matrix;
    - int hmul = 1;
    - int vmul = 1;
    - unsigned int width, height, stride;
    - cairo_bool_t subpixel = FALSE;
    + unsigned int width, height;
    cairo_status_t status;
    + FT_Error fterror;
    + FT_Library library = glyphslot->library;
    + FT_Render_Mode render_mode = FT_RENDER_MODE_NORMAL;
    +
    + switch (font_options->antialias) {
    + case CAIRO_ANTIALIAS_NONE:
    + render_mode = FT_RENDER_MODE_MONO;
    + break;
    +
    + case CAIRO_ANTIALIAS_SUBPIXEL:
    + switch (font_options->subpixel_order) {
    + case CAIRO_SUBPIXEL_ORDER_DEFAULT:
    + case CAIRO_SUBPIXEL_ORDER_RGB:
    + case CAIRO_SUBPIXEL_ORDER_BGR:
    + render_mode = FT_RENDER_MODE_LCD;
    + break;
    +
    + case CAIRO_SUBPIXEL_ORDER_VRGB:
    + case CAIRO_SUBPIXEL_ORDER_VBGR:
    + render_mode = FT_RENDER_MODE_LCD_V;
    + break;
    + }
    +
    + switch (font_options->lcd_filter) {
    + case CAIRO_LCD_FILTER_NONE:
    + lcd_filter = FT_LCD_FILTER_NONE;
    + break;
    + case CAIRO_LCD_FILTER_DEFAULT:
    + case CAIRO_LCD_FILTER_INTRA_PIXEL:
    + lcd_filter = FT_LCD_FILTER_LEGACY;
    + break;
    + case CAIRO_LCD_FILTER_FIR3:
    + lcd_filter = FT_LCD_FILTER_LIGHT;
    + break;
    + case CAIRO_LCD_FILTER_FIR5:
    + lcd_filter = FT_LCD_FILTER_DEFAULT;
    + break;
    + }
    +
    + break;
    +
    + case CAIRO_ANTIALIAS_DEFAULT:
    + case CAIRO_ANTIALIAS_GRAY:
    + render_mode = FT_RENDER_MODE_NORMAL;
    + }
    FT_Outline_Get_CBox (outline, &cbox);
    @@ -1005,20 +1244,21 @@
    width = (unsigned int) ((cbox.xMax - cbox.xMin) >> 6);
    height = (unsigned int) ((cbox.yMax - cbox.yMin) >> 6);
    - stride = (width * hmul + 3) & ~3;
    if (width * height == 0) {
    cairo_format_t format;
    /* Looks like fb handles zero-sized images just fine */
    - switch (font_options->antialias) {
    - case CAIRO_ANTIALIAS_NONE:
    + switch (render_mode) {
    + case FT_RENDER_MODE_MONO:
    format = CAIRO_FORMAT_A1;
    break;
    - case CAIRO_ANTIALIAS_SUBPIXEL:
    + case FT_RENDER_MODE_LCD:
    + case FT_RENDER_MODE_LCD_V:
    format= CAIRO_FORMAT_ARGB32;
    break;
    - case CAIRO_ANTIALIAS_DEFAULT:
    - case CAIRO_ANTIALIAS_GRAY:
    + case FT_RENDER_MODE_LIGHT:
    + case FT_RENDER_MODE_NORMAL:
    + case FT_RENDER_MODE_MAX:
    default:
    format = CAIRO_FORMAT_A8;
    break;
    @@ -1030,73 +1270,73 @@
    return (*surface)->base.status;
    } else {
    - matrix.xx = matrix.yy = 0x10000L;
    - matrix.xy = matrix.yx = 0;
    + int bitmap_size;
    - switch (font_options->antialias) {
    - case CAIRO_ANTIALIAS_NONE:
    - bitmap.pixel_mode = FT_PIXEL_MODE_MONO;
    - bitmap.num_grays = 1;
    - stride = ((width + 31) & -32) >> 3;
    - break;
    - case CAIRO_ANTIALIAS_DEFAULT:
    - case CAIRO_ANTIALIAS_GRAY:
    - bitmap.pixel_mode = FT_PIXEL_MODE_GRAY;
    - bitmap.num_grays = 256;
    - stride = (width + 3) & -4;
    + switch (render_mode) {
    + case FT_RENDER_MODE_LCD:
    + if (font_options->subpixel_order == CAIRO_SUBPIXEL_ORDER_BGR) {
    + rgba = FC_RGBA_BGR;
    + } else {
    + rgba = FC_RGBA_RGB;
    + }
    break;
    - case CAIRO_ANTIALIAS_SUBPIXEL:
    - switch (font_options->subpixel_order) {
    - case CAIRO_SUBPIXEL_ORDER_RGB:
    - case CAIRO_SUBPIXEL_ORDER_BGR:
    - case CAIRO_SUBPIXEL_ORDER_DEFAULT:
    - default:
    - matrix.xx *= 3;
    - hmul = 3;
    - subpixel = TRUE;
    - break;
    - case CAIRO_SUBPIXEL_ORDER_VRGB:
    - case CAIRO_SUBPIXEL_ORDER_VBGR:
    - matrix.yy *= 3;
    - vmul = 3;
    - subpixel = TRUE;
    - break;
    + case FT_RENDER_MODE_LCD_V:
    + if (font_options->subpixel_order == CAIRO_SUBPIXEL_ORDER_VBGR) {
    + rgba = FC_RGBA_VBGR;
    + } else {
    + rgba = FC_RGBA_VRGB;
    - FT_Outline_Transform (outline, &matrix);
    - bitmap.pixel_mode = FT_PIXEL_MODE_GRAY;
    - bitmap.num_grays = 256;
    - stride = (width * hmul + 3) & -4;
    + break;
    + case FT_RENDER_MODE_MONO:
    + case FT_RENDER_MODE_LIGHT:
    + case FT_RENDER_MODE_NORMAL:
    + case FT_RENDER_MODE_MAX:
    + default:
    + break;
    - bitmap.pitch = stride;
    - bitmap.width = width * hmul;
    - bitmap.rows = height * vmul;
    - bitmap.buffer = calloc (stride, bitmap.rows);
    - if (bitmap.buffer == NULL)
    +#if HAVE_FT_LIBRARY_SETLCDFILTER
    + FT_Library_SetLcdFilter (library, lcd_filter);
    +#endif
    +
    + fterror = FT_Render_Glyph (face->glyph, render_mode);
    +
    +#if HAVE_FT_LIBRARY_SETLCDFILTER
    + FT_Library_SetLcdFilter (library, FT_LCD_FILTER_NONE);
    +#endif
    +
    + if (fterror != 0)
    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    - FT_Outline_Translate (outline, -cbox.xMin*hmul, -cbox.yMin*vmul);
    + bitmap_size = _compute_xrender_bitmap_size (&bitmap,
    + face->glyph,
    + render_mode);
    + if (bitmap_size < 0)
    + return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    - if (FT_Outline_Get_Bitmap (glyphslot->library, outline, &bitmap) != 0) {
    - free (bitmap.buffer);
    + bitmap.buffer = calloc (1, bitmap_size);
    + if (bitmap.buffer == NULL)
    return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    + _fill_xrender_bitmap (&bitmap, face->glyph, render_mode,
    + (rgba == FC_RGBA_BGR || rgba == FC_RGBA_VBGR));
    +
    + /* Note:
    + * _get_bitmap_surface will free bitmap.buffer if there is an error
    + */
    status = _get_bitmap_surface (&bitmap, TRUE, font_options, surface);
    if (status)
    return status;
    - * Note: the font's coordinate system is upside down from ours, so the
    - * Y coordinate of the control box needs to be negated. Moreover, device
    - * offsets are position of glyph origin relative to top left while xMin
    - * and yMax are offsets of top left relative to origin. Another negation.
    - cairo_surface_set_device_offset (&(*surface)->base,
    - floor (-(double) cbox.xMin / 64.0),
    - floor (+(double) cbox.yMax / 64.0));
    + /* Note: the font's coordinate system is upside down from ours, so the
    + * Y coordinate of the control box needs to be negated. Moreover, device
    + * offsets are position of glyph origin relative to top left while xMin
    + * and yMax are offsets of top left relative to origin. Another negation.
    + */
    + cairo_surface_set_device_offset (&(*surface)->base,
    + (double)-glyphslot->bitmap_left,
    + (double)+glyphslot->bitmap_top);
    + }
    return CAIRO_STATUS_SUCCESS;
    @@ -1316,6 +1556,7 @@
    if (antialias) {
    cairo_subpixel_order_t subpixel_order;
    + int lcd_filter;
    /* disable hinting if requested */
    if (FcPatternGetBool (pattern,
    @@ -1351,6 +1592,25 @@
    ft_options.base.antialias = CAIRO_ANTIALIAS_SUBPIXEL;
    + if (FcPatternGetInteger (pattern,
    + FC_LCD_FILTER, 0, &lcd_filter) == FcResultMatch)
    + {
    + switch (lcd_filter) {
    + case FC_LCD_NONE:
    + ft_options.base.lcd_filter = CAIRO_LCD_FILTER_NONE;
    + break;
    + case FC_LCD_DEFAULT:
    + ft_options.base.lcd_filter = CAIRO_LCD_FILTER_FIR5;
    + break;
    + case FC_LCD_LIGHT:
    + ft_options.base.lcd_filter = CAIRO_LCD_FILTER_FIR3;
    + break;
    + case FC_LCD_LEGACY:
    + ft_options.base.lcd_filter = CAIRO_LCD_FILTER_INTRA_PIXEL;
    + break;
    + }
    + }
    +
    #ifdef FC_HINT_STYLE
    if (FcPatternGetInteger (pattern,
    FC_HINT_STYLE, 0, &hintstyle) != FcResultMatch)
    @@ -1451,6 +1711,12 @@
    if (other->base.hint_style == CAIRO_HINT_STYLE_NONE)
    options->base.hint_style = CAIRO_HINT_STYLE_NONE;
    + if (options->base.lcd_filter == CAIRO_LCD_FILTER_DEFAULT)
    + options->base.lcd_filter = other->base.lcd_filter;
    +
    + if (other->base.lcd_filter == CAIRO_LCD_FILTER_NONE)
    + options->base.lcd_filter = CAIRO_LCD_FILTER_NONE;
    +
    if (options->base.antialias == CAIRO_ANTIALIAS_NONE) {
    if (options->base.hint_style == CAIRO_HINT_STYLE_NONE)
    load_flags |= FT_LOAD_NO_HINTING;
    @@ -1474,11 +1740,11 @@
    case CAIRO_SUBPIXEL_ORDER_DEFAULT:
    case CAIRO_SUBPIXEL_ORDER_RGB:
    case CAIRO_SUBPIXEL_ORDER_BGR:
    - load_target |= FT_LOAD_TARGET_LCD;
    + load_target = FT_LOAD_TARGET_LCD;
    break;
    case CAIRO_SUBPIXEL_ORDER_VRGB:
    case CAIRO_SUBPIXEL_ORDER_VBGR:
    - load_target |= FT_LOAD_TARGET_LCD_V;
    + load_target = FT_LOAD_TARGET_LCD_V;
    break;
    @@ -2421,6 +2687,34 @@
    + if (options->lcd_filter != CAIRO_LCD_FILTER_DEFAULT)
    + {
    + if (FcPatternGet (pattern, FC_LCD_FILTER, 0, &v) == FcResultNoMatch)
    + {
    + int lcd_filter;
    +
    + switch (options->lcd_filter) {
    + case CAIRO_LCD_FILTER_NONE:
    + lcd_filter = FT_LCD_FILTER_NONE;
    + break;
    + case CAIRO_LCD_FILTER_DEFAULT:
    + case CAIRO_LCD_FILTER_INTRA_PIXEL:
    + lcd_filter = FT_LCD_FILTER_LEGACY;
    + break;
    + case CAIRO_LCD_FILTER_FIR3:
    + lcd_filter = FT_LCD_FILTER_LIGHT;
    + break;
    + default:
    + case CAIRO_LCD_FILTER_FIR5:
    + lcd_filter = FT_LCD_FILTER_DEFAULT;
    + break;
    + }
    +
    + if (! FcPatternAddInteger (pattern, FC_LCD_FILTER, lcd_filter))
    + return _cairo_error (CAIRO_STATUS_NO_MEMORY);
    + }
    + }
    +
    if (options->hint_style != CAIRO_HINT_STYLE_DEFAULT)
    if (FcPatternGet (pattern, FC_HINTING, 0, &v) == FcResultNoMatch)
    diff -urNad cairo-1.8.0~/src/cairo-surface.c cairo-1.8.0/src/cairo-surface.c
    --- cairo-1.8.0~/src/cairo-surface.c 2008-09-25 22:28:56.000000000 +0200
    +++ cairo-1.8.0/src/cairo-surface.c 2008-10-14 15:01:37.000000000 +0200
    @@ -73,6 +73,7 @@
    FALSE, /* has_font_options */ \
    { CAIRO_ANTIALIAS_DEFAULT, /* antialias */ \
    CAIRO_SUBPIXEL_ORDER_DEFAULT, /* subpixel_order */ \
    + CAIRO_LCD_FILTER_DEFAULT, /* lcd_filter */ \
    CAIRO_HINT_STYLE_DEFAULT, /* hint_style */ \
    CAIRO_HINT_METRICS_DEFAULT /* hint_metrics */ \
    } /* font_options */ \
    diff -urNad cairo-1.8.0~/src/cairo-types-private.h cairo-1.8.0/src/cairo-types-private.h
    --- cairo-1.8.0~/src/cairo-types-private.h 2008-09-25 22:29:06.000000000 +0200
    +++ cairo-1.8.0/src/cairo-types-private.h 2008-10-14 15:01:37.000000000 +0200
    @@ -113,9 +113,35 @@
    cairo_bool_t is_snapshot;
    +
    +/**
    + * cairo_lcd_filter_t:
    + * @CAIRO_LCD_FILTER_DEFAULT: Use the default LCD filter for
    + * font backend and target device
    + * @CAIRO_LCD_FILTER_NONE: Do not perform LCD filtering
    + * @CAIRO_LCD_FILTER_INTRA_PIXEL: Intra-pixel filter
    + * @CAIRO_LCD_FILTER_FIR3: FIR filter with a 3x3 kernel
    + * @CAIRO_LCD_FILTER_FIR5: FIR filter with a 5x5 kernel
    + *
    + * The LCD filter specifies the low-pass filter applied to LCD-optimized
    + * bitmaps generated with an antialiasing mode of %CAIRO_ANTIALIAS_SUBPIXEL.
    + *
    + * Note: This API was temporarily made available in the public
    + * interface during the 1.7.x development series, but was made private
    + * before 1.8.
    + **/
    +typedef enum _cairo_lcd_filter {
    + CAIRO_LCD_FILTER_DEFAULT,
    + CAIRO_LCD_FILTER_NONE,
    + CAIRO_LCD_FILTER_INTRA_PIXEL,
    + CAIRO_LCD_FILTER_FIR3,
    + CAIRO_LCD_FILTER_FIR5
    +} cairo_lcd_filter_t;
    +
    struct _cairo_font_options {
    cairo_antialias_t antialias;
    cairo_subpixel_order_t subpixel_order;
    + cairo_lcd_filter_t lcd_filter;
    cairo_hint_style_t hint_style;
    cairo_hint_metrics_t hint_metrics;
    diff -urNad cairo-1.8.0~/src/cairo-xlib-screen.c cairo-1.8.0/src/cairo-xlib-screen.c
    --- cairo-1.8.0~/src/cairo-xlib-screen.c 2008-09-25 22:29:39.000000000 +0200
    +++ cairo-1.8.0/src/cairo-xlib-screen.c 2008-10-14 15:01:37.000000000 +0200
    @@ -150,13 +150,22 @@
    cairo_bool_t xft_antialias;
    int xft_hintstyle;
    int xft_rgba;
    + int xft_lcdfilter;
    cairo_antialias_t antialias;
    cairo_subpixel_order_t subpixel_order;
    + cairo_lcd_filter_t lcd_filter;
    cairo_hint_style_t hint_style;
    if (!get_boolean_default (dpy, "antialias", &xft_antialias))
    xft_antialias = TRUE;
    + if (!get_integer_default (dpy, "lcdfilter", &xft_lcdfilter)) {
    + /* -1 is an non-existant Fontconfig constant used to differentiate
    + * the case when no lcdfilter property is available.
    + */
    + xft_lcdfilter = -1;
    + }
    +
    if (!get_boolean_default (dpy, "hinting", &xft_hinting))
    xft_hinting = TRUE;
    @@ -239,6 +248,24 @@
    subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT;
    + switch (xft_lcdfilter) {
    + case FC_LCD_NONE:
    + lcd_filter = CAIRO_LCD_FILTER_NONE;
    + break;
    + case FC_LCD_DEFAULT:
    + lcd_filter = CAIRO_LCD_FILTER_FIR5;
    + break;
    + case FC_LCD_LIGHT:
    + lcd_filter = CAIRO_LCD_FILTER_FIR3;
    + break;
    + case FC_LCD_LEGACY:
    + lcd_filter = CAIRO_LCD_FILTER_INTRA_PIXEL;
    + break;
    + default:
    + lcd_filter = CAIRO_LCD_FILTER_DEFAULT;
    + break;
    + }
    +
    if (xft_antialias) {
    if (subpixel_order == CAIRO_SUBPIXEL_ORDER_DEFAULT)
    antialias = CAIRO_ANTIALIAS_GRAY;
    @@ -251,6 +278,7 @@
    cairo_font_options_set_hint_style (&info->font_options, hint_style);
    cairo_font_options_set_antialias (&info->font_options, antialias);
    cairo_font_options_set_subpixel_order (&info->font_options, subpixel_order);
    + _cairo_font_options_set_lcd_filter (&info->font_options, lcd_filter);
    cairo_font_options_set_hint_metrics (&info->font_options, CAIRO_HINT_METRICS_ON);
    diff -urNad cairo-1.8.0~/src/cairoint.h cairo-1.8.0/src/cairoint.h
    --- cairo-1.8.0~/src/cairoint.h 2008-09-26 00:56:48.000000000 +0200
    +++ cairo-1.8.0/src/cairoint.h 2008-10-14 15:01:37.000000000 +0200
    @@ -1336,6 +1336,13 @@
    _cairo_font_options_init_copy (cairo_font_options_t *options,
    const cairo_font_options_t *other);
    +cairo_private void
    +_cairo_font_options_set_lcd_filter (cairo_font_options_t *options,
    + cairo_lcd_filter_t lcd_filter);
    +
    +cairo_private cairo_lcd_filter_t
    +_cairo_font_options_get_lcd_filter (const cairo_font_options_t *options);
    +
    /* cairo-hull.c */
    cairo_private cairo_status_t
    _cairo_hull_compute (cairo_pen_vertex_t *vertices, int *num_vertices);
    Last edited by Jimi (2009-10-21 23:00:23)

  • KDE: fonts configuration files

    Hi,
    Where are KDE fonts configurations located? Fonts, antialiasing, etc., user and root.

    The KDE font settings (and some other settings like colors) are located in:
    ~/.kde4/share/config/kdeglobals

  • Font Configuration...

    What's the proper way of configuring the subpixel/antialiasing rendering of fonts. I'm getting lost in the many ways on how this can be configured:
    1) Use only fontconfig configuration files. This is the most flexible. It allows you specify things on a very detailed level (per font, per font size etc).
    http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts
    2a) Use "Appearance" setting panel in Gnome. The same setting for all fonts, only for Gnome Applications. I'm not sure how it interacts with the fontconfig settings from the fontconfig configuration files...
    2b) Similar, Xfce has similar settings for just the Xfce desktop apps...
    2c) Haven't looked KDE, but I'm sure they do something similar as well...
    3) Use ~/.Xdefaults (See: http://www.freedesktop.org/wiki/ScreenFontSettings). These are interpreted by the Xft library itself and will use these if those hints are not already set. Again, not sure how this interacts with the fontconfig configuration files....
    I'm running a mixed desktop, ie Gnome/Kde/Xfce/Fox applications...

    I find that I have to use several of the mentioned methods.  For example one of the apps I use (I forget which one) respects settings configured in .Xresources, but ignores fontconfig.  And you should probably use your DE's font configuration as well just so there's no conflict.  I'm not sure I can say there's one proper way since I don't think all apps respect the same methods of configuration.

  • [SOLVED]: Weird font issues with infinality-bundle on upgrade

    Ive been using the infinality-bundle for some time with no problem until a recent update, and it seems like all my fonts got replaced with stranger ones.  Below is a screenshot of my font problem and a snippet from my pacman.log.
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   If you have been using freetype2-infinality from the AUR,
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   the runtime file that came with it has been saved as
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   /etc/profile.d/infinality-settings.sh.pacsave and the new
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   one was installed in its place. You can manually delete
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   infinality-settings.sh.pacsave as it is not needed anymore.
    [2013-10-15 18:56] [ALPM-SCRIPTLET]
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   If you are using [multilib], please install/upgrade
    [2013-10-15 18:56] [ALPM-SCRIPTLET]   lib32-freetype2-infinality-ultimate, too.
    [2013-10-15 18:56] [PACMAN] upgraded freetype2-infinality-ultimate (2.5.0.1-5 -> 2.5.0.1-7)
    [2013-10-15 18:56] [ALPM-SCRIPTLET] Removing redundant symlinks ...
    [2013-10-15 18:56] [ALPM-SCRIPTLET] Done.
    [2013-10-15 18:56] [ALPM-SCRIPTLET] Updating font cache...
    [2013-10-15 18:56] [ALPM-SCRIPTLET] Done.
    [2013-10-15 18:56] [PACMAN] upgraded fontconfig-infinality-ultimate (2.10.95-2 -> 2.11.0-3)
    Last edited by cmm7825 (2013-10-15 23:42:36)

    The recent Infinality update requires a uninstall/install of fontconfig.  I posted the same problem here:
    https://bbs.archlinux.org/viewtopic.php?id=171240
    Last edited by mixer (2013-10-15 23:40:03)

  • [SOLVED]Infinality - blurry font

    After installing arch new with old /home I installed under Xfce the following
    freetype2-git-infinality lib32-freetype2-git-infinality freetype2-infinality
    and the font got blurry.
    On firefox it's looking ugly as well, here're some examples:
    krusader, http://imgur.com/jbxuC
    libreoffice, http://imgur.com/vEapa - menu shows only rectangles
    Installed xf86-video-ati 1:7.0.0-1 and xorg-server 1.13.0-4.
    .xlog shows the following errors
    Fontconfig warning: "/etc/fonts/infinality/conf.d/60-group-non-tt-fonts.conf", line 483: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/60-group-tt-fonts.conf", line 262: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-monospace-rendering.conf", line 27: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-traced-bitmap-rendering.conf", line 21: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-traced-bitmap-rendering.conf", line 50: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 16: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 31: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 102: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 119: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 138: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 158: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/60-group-non-tt-fonts.conf", line 483: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/60-group-tt-fonts.conf", line 262: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-monospace-rendering.conf", line 27: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-traced-bitmap-rendering.conf", line 21: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-traced-bitmap-rendering.conf", line 50: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 16: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 31: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 102: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 119: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 138: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 158: Having multiple values in <test> isn't supported and may not work as expected
    QGtkStyle was unable to detect the current GTK+ theme.
    (bootstrap.c:60) [mowgli_init]: mowgli_init() is a deprecated function, provided only for backwards compatibility with Mowgli-1. You should remove it if you no longer support using Mowgli-1.
    Fontconfig warning: "/etc/fonts/infinality/conf.d/60-group-non-tt-fonts.conf", line 483: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/60-group-tt-fonts.conf", line 262: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-monospace-rendering.conf", line 27: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-traced-bitmap-rendering.conf", line 21: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/62-tt-traced-bitmap-rendering.conf", line 50: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 16: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 31: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 102: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 119: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 138: Having multiple values in <test> isn't supported and may not work as expected
    Fontconfig warning: "/etc/fonts/infinality/conf.d/80-selective-rendering-inf-win-lin.conf", line 158: Having multiple values in <test> isn't supported and may not work as expected
    .xsession-errors
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 75: Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 39: Having multiple <family> in <alias> isn't supported and may not works as expected
    Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 39: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 39: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 56: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 66: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 66: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 66: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/53-monospace-lcd-filter.conf", line 10: Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 75: Having multiple values in <test> isn't supported and may not works as expected
    Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 75: Having multiple <family> in <alias> isn't supported and may not works as expected
    Fontconfig warning: "/etc/fonts/conf.d/53-monospace-lcd-filter.conf", line 10: Having multiple values in <test> isn't supported and may not works as expected
    xfsettingsd: Another instance took over. Leaving...
    TIA
    Last edited by CTheGreatDevaluation (2012-12-07 17:50:59)

    theDOC wrote:
    I have problems with freetype2-git-infinality, too, so I installed stable + fontconfig-infinality-git to get rid of the fontconfig warnings:
    fontconfig-infinality-git
    freetype2-infinality
    lib32-freetype2-infinality
    That's working for me, thx Doc!

  • [Solved] Powerline font 1px too high, using fontconfig w/ infinality

    Hey guys,
    I'm using the Termite terminal emulator which uses fontconfig for font rendering options. I'm also using vim powerline.
    I use the Monaco font and have installed the otf-powerline-symbols-git package.
    This is what my powerline looks like up close. As you can see the symbols appear to be 1px too high.
    Here's my font config
    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
    <!-- Use Monaco for everything monospace -->
    <match target="pattern">
    <test qual="any" name="family"><string>Consolas</string></test>
    <edit name="family" mode="assign" binding="same">
    <string>Monaco</string>
    </edit>
    </match>
    <match target="pattern">
    <test qual="any" name="family"><string>Courier</string></test>
    <edit name="family" mode="assign" binding="same">
    <string>Monaco</string>
    </edit>
    </match>
    <match target="pattern">
    <test qual="any" name="family"><string>Courier New</string></test>
    <edit name="family" mode="assign" binding="same">
    <string>Monaco</string>
    </edit>
    </match>
    <alias>
    <family>monospace</family>
    <prefer>
    <family>Monaco</family>
    <family>Consolas</family>
    </prefer>
    </alias>
    <!-- Monaco is a little bit to large, making fallback fonts look small -->
    <match target="font">
    <test name="family"><string>Monaco</string></test>
    <edit name="pixelsize" mode="assign">
    <times><name>pixelsize</name>, <double>0.9</double></times>
    </edit>
    </match>
    </fontconfig>
    It doesn't seem like there's a fontconfig option to move the font's baseline down. Any ideas?
    Last edited by EvanPurkhiser (2013-08-10 02:45:35)

    Thanks bohoomil, I tried changing this setting (it was already set to true since I'm using your infinality bundle!) but it didn't seem to have an effect.
    It looks like I can fix this alignment issue by actually editing the OTF symbols font with fontforge. But it would be much nicer if there was some kind of setting I could change so I could use the upstream font.
    Edit: Reading through the issues, it looks like it's common practice to just accept that the font needs to be edited on a per-system basis.
    Last edited by EvanPurkhiser (2013-08-10 01:21:06)

  • [SOLVED] Infinality patchset font substitution

    OK, I decided to test the infinality patchset for my fonts, rather than the ubuntu patches I was using, and by and large I could be happy, but for one very annoying problem.
    My preferred desktop font is DejaVu Sans Book, but no matter how many times I try to set it, it gets changed to Verdana. I'm guessing that somewhere Verdana is set up in font substitution, but I can't for the life of me find it.
    The same happens if I try to set the terminal font to DejaVu Sans Book, though setting the terminal to DejaVu Sans Mono works (which is what I prefer in a terminal anyway).
    I've done my research - but if I'm honest there doesn't seem to be that much documentation around.
    Last edited by Roken (2012-08-19 23:25:53)

    Roken wrote:
    Ahh - thanks guys. You got me looking in the right place. The pesky substitution was in 41-repl-os-win.conf
    Now fixed
    Pretty sure that if you change your infinality style to "Linux" it uses DejaVu Sans (or doesn't replace it).  By default, it uses "infinality" as the style, purely because I like it and that's the one I use.    See /etc/fonts/infinality/infinality.conf (assuming Arch uses that).

  • [SOLVED] Java Font Too Small in OpenBox

    I usually use Cinnamon, but decided to give OpenBox a whirl again. I am encountering a problem with OpenBox and the size of fonts in Java apps. I'm using the Oracle JDK, not OpenJDK.
    These first screenshots show the font on OpenBox being too small:
    http://www.dadburn.com/linuxscreenshots … tprob1.png
    http://www.dadburn.com/linuxscreenshots … tprob2.png
    As you can see, the fonts used for the controls is super tiny. As can be seen from the second example, the font can be configured in the editing portion through the applications. But the controls themselves remain too small.
    When I log into the SAME account, but use Cinnamon, the fonts are fine. Reference:
    http://www.dadburn.com/linuxscreenshots … tprob3.png
    http://www.dadburn.com/linuxscreenshots … tprob4.png
    So the only difference in these screenshots are the fonts. And the only difference is that I am using Cinnamon vs OpenBox. I;ve searched Google and the Wiki and the Forums, but I'm either not using the proper search terms or just overlooking the results. Can anyone point me in the right direction.
    Also, I am using the fontconfig-infinality stuff. I don't think that matters and again, Cinnamon works and OpenBox has too small a font. And the problem is only on Java apps, not other things.
    Thanks in advance.
    Last edited by mrunion (2014-08-10 03:10:58)

    I've done more digging. I have this in my /etc/profile:
    export _JAVA_OPTIONS='-Dswing.systemlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.aatext=true -Dawt.useSystemAAFontSettings=on'
    Well, this screws up gdx-setup (the first screenshot). If I only use
    export _JAVA_OPTIONS='-Dswing.aatext=true -Dawt.useSystemAAFontSettings=on'
    Then gdx-setup looks fine. Netbeans was still messed up either way. I did find that it seems Netbeans has issues with the GTK+ look and feel on non-GTK platforms. So I reverted NetBeans to the (ugly) Metal theme and now the fonts are bigger.
    So I am marking this as solved. It seems that the GTK+ look and feel is just not happy on non-GTK+ platforms. I guess that makes sense in a way.

  • [SOLVED] TrueType font rendering issues

    The problem I have run into is related to TrueType fonts.
    I have a netbook that I reinstalled Arch on. I have an i3-wm setup with an i3bar populated by i3status.
    I have multiple items that use unicode icons using the ttf-icons font.
    I installed two fonts, gohufont and ttf-icons, albeit in an unusualy way. Due to external reasons, the machine doesn't have an Internet connection, so I had to install the fonts sort-of manually.
    I downloaded the necessary files for the fonts and did it this way: the gohufont is in pcf format compressed with gzip. I looked at the fonts PKGBUILD file and manually repeated the installation process via `install(1)'. It was installed in /usr/share/fonts/misc. I did the same with ttf-icons and it is installed in /usr/share/fonts/TTF. After doing so, I updated the font cache via `fc-cache -fv'. Both fonts show up in the output of fc-list(1), Gohufont works fine, but the icons font doesn't.
    The .i3status.conf contains format lines with icons from the font and the ones that were in the file when it was retrieved from the machine it was running on do actually show up and render in the bar. Upon adding a new unicode symbol from vim via ^v+u+<char code>, it turns into a representation of ^<letter> (the color highlight indicates that it is a unicode char). The other glyphs aren't being rendered properly in vim either, as opposed to all being fine previously. Instead of the actual glyph, they show up as a sequence of: <rounded square with a question mark in it><tilde><letter>[<another tilde><another letter>]<round square with a question mark> (probably the closing symbol). After saving the file, the untouched glyphs still show up properly, but the added ones show up as wide blocks with digit codes in them.
    I am using gnome-terminal with a bash shell. Upon opening the font selection dialog in gnome-terminal and selecting the icons font, it is rendered as square blocks with numbers in them (thus, indicating that they didn't render properly).
    I also attempted placing them in appropriate subfolders under ~/.fonts and then running `mkfontscale', `mkfontdir' in the ~/.fonts directory and then appending the directory to the font path via `xset fp+ ~/.fonts' and rehashing via `xset fp rehash' and updating the font cache again via `fc-cache -fv'. Still no dice.
    I assume this might be a unicode problem, seeing as they're not being rendered in the terminal editor properly either.
    xorg-font-util, xorg-font-utils, fontconfig and freetype2 are all installed.
    Any tips or pointers would be highly appreciated.
    Update: I had forgotten to set the default locale, so it was "C". I have set LANG to en_US.UTF-8 in /etc/locale.conf and have explicitely exported the LANG variable to the same value in my .bashrc. For some reason, it didn't apply after restarting X or logging out and in, so I set it using `localectl set-locale' and that did take effect. Now the old unicode glyph characters are all round squares with questionmarks inside them in the config file when opened in VIM and the new one is still a ^<letter>. The old ones render in the bar but the new one doesn't.
    Update2: So apparently, a reboot was necessary for the changes to take effect system wide. The icons now appear in the terminal and everything. I just had to delete the ^<letter> representation of the broken one in the configuration file and re-enter it again. So this seems to be resolved. I will write down a step-by-step solution some time later (might be tomorrow, as I don't have the time at the moment). Anyone looking for a solution will probably find one here.
    Last edited by gk (2014-03-17 12:31:11)

    Please remember to mark your thread as [Solved] by editing your first post and prepending it to the title.

Maybe you are looking for

  • Upgrading my Yoga 2 Pro to Windows 8.1 Pro?

    Anyone done this? There's no way I'm going to pay the £100 it asks for if I buy a new key on the machine, but I seem to be struggling to find a key that it likes. I've got paid-for retail Windows 8.0 Pro key that it doesn't like and also a "retail" 8

  • Entourage won't send mail

    I can send mail through my (mac. mail application) but I prefer using Entourage. My mac. account expired and I subscribed for a new one, Ever since then I can't sen e-mail through Entourage. I get the massage that an unknown error ( - 17199 ) occurre

  • Opening .sfk files in FCP

    Is there a way to open .sfk files in FCP 7.0.1?

  • Search a CLOB column(contains XML) in Oracle table

    Hi, I need help on how will i be able to search the data in a clob column that contains XML in an ORACLE table. Thanks, PSS

  • Cisco 831 and "Can't get video from the camera."

    I'm running a Cisco 831 router with ios 12.4(5a) installed. Every time I try to initiate a video chat with a computer going through the router, I get the "Can't get video..." error. It works fine with computers on my internal network and if I bypass