Open justinmayhew opened 11 years ago
Is ~/.local/share/fonts
a thing? Could you share your /etc/fonts/fonts.conf
and /etc/fonts/local.conf
(local.conf might be inside /etc/fonts/conf.d/) files please.
http://wiki.debian.org/Fonts + https://wiki.ubuntu.com/Fonts + http://en.gentoo-wiki.com/wiki/X.Org/Fonts#User_Fonts + https://wiki.archlinux.org/index.php/Font_Configuration have nothing on it.
I'm not sure if it's a thing or not, but the GNOME Font Viewer 3.8.0 on Arch Linux seems to think so. It would be weird for Chromium and Firefox to be looking in that directory if it wasn't a proper place for fonts.
/etc/fonts/fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<!--
DO NOT EDIT THIS FILE.
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
LOCAL CHANGES BELONG IN 'local.conf'.
The intent of this standard configuration file is to be adequate for
most environments. If you have a reasonably normal environment and
have found problems with this configuration, they are probably
things that others will also want fixed. Please submit any
problems to the fontconfig bugzilla system located at fontconfig.org
Note that the normal 'make install' procedure for fontconfig is to
replace any existing fonts.conf file with the new version. Place
any local customizations in local.conf which this file references.
Keith Packard
-->
<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
<!--
Accept deprecated 'mono' alias, replacing it with 'monospace'
-->
<match target="pattern">
<test qual="any" name="family">
<string>mono</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>monospace</string>
</edit>
</match>
<!--
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans serif</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<!--
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
-->
<match target="pattern">
<test qual="any" name="family">
<string>sans</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>sans-serif</string>
</edit>
</match>
<!--
Load local system customization file
-->
<include ignore_missing="yes">/etc/fonts/conf.d</include>
<!-- Font cache directory list -->
<cachedir>/var/cache/fontconfig</cachedir>
<cachedir prefix="xdg">fontconfig</cachedir>
<!-- the following element will be removed in the future -->
<cachedir>~/.fontconfig</cachedir>
<config>
<!--
These are the default Unicode chars that are expected to be blank
in fonts. All other blank chars are assumed to be broken and
won't appear in the resulting charsets
-->
<blank>
<int>0x0020</int> <!-- SPACE -->
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
<int>0x00AD</int> <!-- SOFT HYPHEN -->
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
<int>0x2000</int> <!-- EN QUAD -->
<int>0x2001</int> <!-- EM QUAD -->
<int>0x2002</int> <!-- EN SPACE -->
<int>0x2003</int> <!-- EM SPACE -->
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
<int>0x2007</int> <!-- FIGURE SPACE -->
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
<int>0x2009</int> <!-- THIN SPACE -->
<int>0x200A</int> <!-- HAIR SPACE -->
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
<int>0x2028</int> <!-- LINE SEPARATOR -->
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
<int>0x2060</int> <!-- WORD JOINER -->
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
<int>0x2062</int> <!-- INVISIBLE TIMES -->
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
<int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
<int>0x3164</int> <!-- HANGUL FILLER -->
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
</blank>
<!--
Rescan configuration every 30 seconds when FcFontSetList is called
-->
<rescan>
<int>30</int>
</rescan>
</config>
</fontconfig>
/etc/fonts/conf.d/51-local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Load local system customization file -->
<include ignore_missing="yes">local.conf</include>
</fontconfig>
Just getting information :)
<dir prefix="xdg">fonts</dir>
is setting this for fontconfig, so Steam should be able to pick up fonts in that location.
If you run this in a terminal fc-match :family=Arial
could you provide the output.
% fc-match :family=Arial
Arial.ttf: "Arial" "Normal"
Steam just uses fontconfig and freetype2 and doesn't do any direct font file lookups, so it's not clear why it's not working for you, particularly if fc-match is working. Steam should be getting the same results as fc-match since it's using fontconfig.
The behavior you're seeing is that Steam is using Liberation instead of Arial but is otherwise working? That seems like Steam was given a different font by fontconfig. Do you have any custom skins or anything else?
Yeah, Liberation instead of Arial but everything works fine.
I've tested it multiple times by symlinking ~/.fonts
to ~/.local/share/fonts
. When the symlink is there, the client renders using Arial. When it's not there, it renders with Liberation.
I'm using a default steam client, no skins.
Strange. I don't have any immediate suggestions; we'll see if we can repro here.
For what it's worth, I can reproduce this issue on Arch Linux too. Doesn't work without ~/.fonts symlink, works with it. I am using a skin (Air for Steam).
Processor Information:
Vendor: GenuineIntel
CPU Family: 0x6
CPU Model: 0x3c
CPU Stepping: 0x3
CPU Type: 0x0
Speed: 3900 Mhz
8 logical processors
4 physical processors
HyperThreading: Supported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Unsupported
SSE41: Supported
SSE42: Supported
Network Information:
Network Speed:
Operating System Version:
"Arch Linux" (64 bit)
Kernel Name: Linux
Kernel Version: 4.2.5-1-ARCH
X Server Vendor: The X.Org Foundation
X Server Release: 11800000
X Window Manager: i3
Steam Runtime Version: steam-runtime-release_2015-06-12
Video Card:
Driver: Intel Open Source Technology Center Mesa DRI Intel(R) Haswell Desktop x86/MMX/SSE2
Driver Version: 3.0 Mesa 11.0.6
OpenGL Version: 3.0
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
VendorID: 0x10de
DeviceID: 0x1187
Number of Monitors: 2
Number of Logical Video Cards: 2
Primary Display Resolution: 1920 x 1080
Desktop Resolution: 3360 x 1080
Primary Display Size: 23.54" x 13.23" (26.97" diag)
59.8cm x 33.6cm (68.5cm diag)
Primary VRAM Not Detected
Sound card:
Audio device:
Memory:
RAM: 16027 Mb
Miscellaneous:
UI Language: English
LANG: en_US.utf8
Microphone: Not set
Total Hard Disk Space Available: 1490114 Mb
Largest Free Hard Disk Block: 163474 Mb
Installed software:
Recent Failure Reports:
I confirm the issue. ~/.fonts
is actually deprecated in many distros: https://lists.freedesktop.org/archives/fontconfig/2014-July/005269.html
I'm on Arch with Gnome as well and I don't have any ~/.fonts or .local/share/fonts directory, but I do have /usr/share/fonts and /etc/fonts
I have Arial installed under
~/.local/share/fonts
but the Steam client doesn't pick it up.It appears as if the Steam client is only looking at
~/.fonts
, because If I symlink~/.fonts
to~/.local/share/fonts
it does indeed render the client using Arial.As far as I understand,
~/.fonts
is the old, deprecated place to store fonts in a users home directory. The GNOME Font Viewer application installs fonts into the new location, and applications like Chromium and Firefox are indeed looking in the new location for fonts.It's a minor issue - the Steam client is still usable using the Liberation fonts.