]> git.wh0rd.org - fontconfig.git/blame - fonts.conf.in
Verify that every font pattern loaded from cache has both FC_FILE and
[fontconfig.git] / fonts.conf.in
CommitLineData
24330d27
KP
1<?xml version="1.0"?>
2<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
302e07f1 3<!-- /etc/fonts/fonts.conf file to configure system font access -->
24330d27
KP
4<fontconfig>
5
a6531d8c 6<!--
302e07f1
KP
7 DO NOT EDIT THIS FILE.
8 IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
9 LOCAL CHANGES BELONG IN 'local.conf'.
10
a6531d8c
KP
11 The intent of this standard configuration file is to be adequate for
12 most environments. If you have a reasonably normal environment and
13 have found problems with this configuration, they are probably
ef82cce1
KP
14 things that others will also want fixed. Please submit any
15 problems to the fontconfig bugzilla system located at fontconfig.org
a6531d8c 16
302e07f1 17 Note that the normal 'make install' procedure for fontconfig is to
0ce819b6
KP
18 replace any existing fonts.conf file with the new version. Place
19 any local customizations in local.conf which this file references.
20
a6531d8c
KP
21 Keith Packard
22-->
23
c5a0b541 24<!-- Font directory list -->
24330d27 25
20fa60c9
KP
26 <dir>@FC_DEFAULT_FONTS@</dir>
27 @FC_FONTPATH@
a6531d8c 28 <dir>~/.fonts</dir>
24330d27 29
24330d27
KP
30<!--
31 Accept deprecated 'mono' alias, replacing it with 'monospace'
32-->
33 <match target="pattern">
34 <test qual="any" name="family">
35 <string>mono</string>
36 </test>
37 <edit name="family" mode="assign">
38 <string>monospace</string>
39 </edit>
40 </match>
41
fa244f3d
KP
42<!--
43 Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
44-->
45 <match target="pattern">
46 <test qual="any" name="family">
47 <string>sans serif</string>
48 </test>
49 <edit name="family" mode="assign">
50 <string>sans-serif</string>
51 </edit>
52 </match>
53
24330d27
KP
54<!--
55 Accept deprecated 'sans' alias, replacing it with 'sans-serif'
56-->
57 <match target="pattern">
58 <test qual="any" name="family">
59 <string>sans</string>
60 </test>
61 <edit name="family" mode="assign">
62 <string>sans-serif</string>
63 </edit>
64 </match>
65
66<!--
67 Mark common families with their generics so we'll get
68 something reasonable
69-->
70
71<!--
72 Serif faces
73 -->
74 <alias>
b1e98ed9 75 <family>Bitstream Vera Serif</family>
24330d27 76 <family>Times New Roman</family>
192296d8
KP
77 <family>Thorndale AMT</family>
78 <family>Times</family>
fb9545b1
KP
79 <family>Nimbus Roman No9 L</family>
80 <family>Luxi Serif</family>
06a48f20
KP
81 <family>Kochi Mincho</family>
82 <family>AR PL SungtiL GB</family>
899e3526 83 <family>AR PL Mingti2L Big5</family>
2ba729ed 84 <family>MS 明朝</family>
e5871b5c
KP
85 <family>Baekmuk Batang</family>
86 <family>FreeSerif</family>
24330d27
KP
87 <default><family>serif</family></default>
88 </alias>
89<!--
90 Sans-serif faces
91 -->
92 <alias>
b1e98ed9 93 <family>Bitstream Vera Sans</family>
24330d27 94 <family>Helvetica</family>
24330d27 95 <family>Arial</family>
24330d27 96 <family>Verdana</family>
192296d8 97 <family>Albany AMT</family>
fb9545b1
KP
98 <family>Nimbus Sans L</family>
99 <family>Luxi Sans</family>
06a48f20
KP
100 <family>Kochi Gothic</family>
101 <family>AR PL KaitiM GB</family>
899e3526 102 <family>AR PL KaitiM Big5</family>
2ba729ed 103 <family>MS ゴシック</family>
06a48f20 104 <family>Baekmuk Dotum</family>
899e3526 105 <family>SimSun</family>
e5871b5c 106 <family>FreeSans</family>
24330d27
KP
107 <default><family>sans-serif</family></default>
108 </alias>
109<!--
110 Monospace faces
111 -->
112 <alias>
b1e98ed9 113 <family>Bitstream Vera Sans Mono</family>
24330d27 114 <family>Courier</family>
24330d27 115 <family>Courier New</family>
24330d27 116 <family>Andale Mono</family>
fb9545b1 117 <family>Luxi Mono</family>
192296d8 118 <family>Cumberland AMT</family>
06a48f20 119 <family>Nimbus Mono L</family>
899e3526 120 <family>NSimSun</family>
e5871b5c 121 <family>FreeMono</family>
24330d27
KP
122 <default><family>monospace</family></default>
123 </alias>
124<!--
125 If the font still has no generic name, add sans-serif
126 -->
127 <match target="pattern">
128 <test qual="all" name="family" compare="not_eq">
129 <string>sans-serif</string>
130 </test>
131 <test qual="all" name="family" compare="not_eq">
132 <string>serif</string>
133 </test>
134 <test qual="all" name="family" compare="not_eq">
135 <string>monospace</string>
136 </test>
137 <edit name="family" mode="append_last">
138 <string>sans-serif</string>
139 </edit>
140 </match>
e5871b5c 141
192296d8
KP
142<!--
143 URW provides metric and shape compatible fonts for these 3 Adobe families
144 Mark these as effective replacements by binding the replacement
145 family names strongly
146 -->
147 <match target="pattern">
148 <test name="family"><string>Times</string></test>
149 <edit name="family" mode="append" binding="same">
150 <string>Nimbus Roman No9 L</string>
151 </edit>
152 </match>
153 <match target="pattern">
154 <test name="family"><string>Helvetica</string></test>
155 <edit name="family" mode="append" binding="same">
156 <string>Nimbus Sans L</string>
157 </edit>
158 </match>
159 <match target="pattern">
160 <test name="family"><string>Courier</string></test>
161 <edit name="family" mode="append" binding="same">
162 <string>Nimbus Mono L</string>
163 </edit>
164 </match>
165
166<!--
167 AMT provides metric and shape compatible fonts for these three web font
168 families. Bind them weakly as matching here is not as important as
169 with web fonts.
170 -->
171 <alias>
172 <family>Times New Roman</family>
173 <accept><family>Thorndale AMT</family></accept>
2ba729ed 174 </alias>
192296d8
KP
175 <alias>
176 <family>Arial</family>
177 <accept><family>Albany AMT</family></accept>
2ba729ed 178 </alias>
192296d8
KP
179 <alias>
180 <family>Courier New</family>
181 <accept><family>Cumberland AMT</family></accept>
2ba729ed 182 </alias>
192296d8 183
cc168fa6
KP
184<!--
185 Some Asian fonts misadvertise themselves as monospaced when
186 in fact they are dual-spaced (half and full). This makes
187 FreeType very confused as it forces all widths to match.
188 Undo this magic by disabling the width forcing code -->
189 <match target="font">
190 <test name="family"><string>GulimChe</string></test>
191 <edit name="globaladvance"><bool>false</bool></edit>
192 </match>
e5871b5c 193
cc168fa6
KP
194 <match target="font">
195 <test name="family"><string>DotumChe</string></test>
196 <edit name="globaladvance"><bool>false</bool></edit>
197 </match>
198
df43986c
KP
199 <match target="font">
200 <test name="family"><string>BatangChe</string></test>
201 <edit name="globaladvance"><bool>false</bool></edit>
202 </match>
203
204 <match target="font">
205 <test name="family"><string>GungsuhChe</string></test>
206 <edit name="globaladvance"><bool>false</bool></edit>
207 </match>
208
b1e98ed9
KP
209<!--
210 The Bitstream Vera fonts have GASP entries suggesting that hinting be
211 disabled below 8 ppem, but FreeType ignores those, preferring to use
212 the data found in the instructed hints. The initial Vera release
213 didn't include the right instructions in the 'prep' table. Fix this
214 by disabling hinting manually at smaller sizes (< 8ppem)
215 -->
e5871b5c 216
b1e98ed9
KP
217 <match target="font">
218 <test name="family">
219 <string>Bitstream Vera Sans</string>
220 </test>
221 <test name="pixelsize" compare="less">
222 <double>7.5</double>
223 </test>
224 <edit name="hinting">
225 <bool>false</bool>
226 </edit>
227 </match>
e5871b5c 228
b1e98ed9
KP
229 <match target="font">
230 <test name="family">
231 <string>Bitstream Vera Serif</string>
232 </test>
233 <test name="pixelsize" compare="less">
234 <double>7.5</double>
235 </test>
236 <edit name="hinting">
237 <bool>false</bool>
238 </edit>
239 </match>
e5871b5c 240
b1e98ed9
KP
241 <match target="font">
242 <test name="family">
243 <string>Bitstream Vera Sans Mono</string>
244 </test>
245 <test name="pixelsize" compare="less">
246 <double>7.5</double>
247 </test>
248 <edit name="hinting">
249 <bool>false</bool>
250 </edit>
251 </match>
e5871b5c 252
24330d27
KP
253<!--
254 Load per-user customization file
255-->
256 <include ignore_missing="yes">~/.fonts.conf</include>
257
938bc633
KP
258<!--
259 Load local system customization file
260-->
2d9c79c0 261 <include ignore_missing="yes">conf.d</include>
938bc633
KP
262 <include ignore_missing="yes">local.conf</include>
263
24330d27
KP
264<!--
265 Provide required aliases for standard names
266-->
267 <alias>
268 <family>serif</family>
269 <prefer>
b1e98ed9 270 <family>Bitstream Vera Serif</family>
24330d27 271 <family>Times New Roman</family>
192296d8 272 <family>Thorndale AMT</family>
24330d27 273 <family>Luxi Serif</family>
192296d8 274 <family>Nimbus Roman No9 L</family>
24330d27 275 <family>Times</family>
6d3a90a4 276 <family>Frank Ruehl</family>
06a48f20
KP
277 <family>Kochi Mincho</family>
278 <family>AR PL SungtiL GB</family>
899e3526 279 <family>AR PL Mingti2L Big5</family>
2ba729ed 280 <family>MS 明朝</family>
e5871b5c
KP
281 <family>Baekmuk Batang</family>
282 <family>FreeSerif</family>
24330d27
KP
283 </prefer>
284 </alias>
285 <alias>
286 <family>sans-serif</family>
287 <prefer>
b1e98ed9 288 <family>Bitstream Vera Sans</family>
24330d27 289 <family>Verdana</family>
24330d27 290 <family>Arial</family>
192296d8
KP
291 <family>Albany AMT</family>
292 <family>Luxi Sans</family>
293 <family>Nimbus Sans L</family>
24330d27 294 <family>Helvetica</family>
6d3a90a4 295 <family>Nachlieli</family>
06a48f20
KP
296 <family>Kochi Gothic</family>
297 <family>AR PL KaitiM GB</family>
899e3526 298 <family>AR PL KaitiM Big5</family>
2ba729ed 299 <family>MS ゴシック</family>
06a48f20 300 <family>Baekmuk Dotum</family>
899e3526 301 <family>SimSun</family>
e5871b5c 302 <family>FreeSans</family>
24330d27
KP
303 </prefer>
304 </alias>
305 <alias>
306 <family>monospace</family>
307 <prefer>
b1e98ed9 308 <family>Bitstream Vera Sans Mono</family>
24330d27
KP
309 <family>Andale Mono</family>
310 <family>Courier New</family>
192296d8 311 <family>Cumberland AMT</family>
24330d27 312 <family>Luxi Mono</family>
06a48f20 313 <family>Nimbus Mono L</family>
192296d8 314 <family>Courier</family>
6d3a90a4 315 <family>Miriam Mono</family>
06a48f20
KP
316 <family>Kochi Gothic</family>
317 <family>AR PL KaitiM GB</family>
318 <family>Baekmuk Dotum</family>
e5871b5c 319 <family>FreeMono</family>
24330d27
KP
320 </prefer>
321 </alias>
322
c689ec22
KP
323<!--
324 Artificial oblique for fonts without an italic or oblique version
325 -->
326
327 <match target="font">
328 <!-- check to see if the font is roman -->
938bc633 329 <test name="slant">
c689ec22
KP
330 <const>roman</const>
331 </test>
332 <!-- check to see if the pattern requested non-roman -->
938bc633 333 <test target="pattern" name="slant" compare="not_eq">
c689ec22
KP
334 <const>roman</const>
335 </test>
336 <!-- multiply the matrix to slant the font -->
337 <edit name="matrix" mode="assign">
338 <times>
339 <name>matrix</name>
ddde1797 340 <matrix><double>1</double><double>0.2</double>
c689ec22
KP
341 <double>0</double><double>1</double>
342 </matrix>
343 </times>
344 </edit>
345 <!-- pretend the font is oblique now -->
346 <edit name="slant" mode="assign">
347 <const>oblique</const>
348 </edit>
349 </match>
350
46a10637
KP
351<!--
352 Synthetic emboldening for fonts that do not have bold face available
353 -->
354
355 <match target="font">
356 <!-- check to see if the font is just regular -->
357 <test name="weight" compare="less_eq">
358 <int>100</int>
359 </test>
360 <!-- check to see if the pattern requests bold -->
361 <test target="pattern" name="weight" compare="more_eq">
362 <int>200</int>
363 </test>
364 <!-- set the embolden flag -->
365 <edit name="embolden" mode="assign">
366 <bool>true</bool>
367 </edit>
368 </match>
369
370
fb9545b1 371 <config>
24330d27
KP
372<!--
373 These are the default Unicode chars that are expected to be blank
374 in fonts. All other blank chars are assumed to be broken and
375 won't appear in the resulting charsets
376 -->
fb9545b1 377 <blank>
9cc93576
KP
378 <int>0x0020</int> <!-- SPACE -->
379 <int>0x00a0</int> <!-- NO-BREAK SPACE -->
380 <int>0x00ad</int> <!-- SOFT HYPHEN -->
381 <int>0x115f</int> <!-- HANGUL CHOSEONG FILLER -->
382 <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
383 <int>0x1680</int> <!-- OGHAM SPACE MARK -->
384 <int>0x2000</int> <!-- EN QUAD -->
385 <int>0x2001</int> <!-- EM QUAD -->
386 <int>0x2002</int> <!-- EN SPACE -->
387 <int>0x2003</int> <!-- EM SPACE -->
388 <int>0x2004</int> <!-- THREE-PER-EM SPACE -->
389 <int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
390 <int>0x2006</int> <!-- SIX-PER-EM SPACE -->
391 <int>0x2007</int> <!-- FIGURE SPACE -->
392 <int>0x2008</int> <!-- PUNCTUATION SPACE -->
393 <int>0x2009</int> <!-- THIN SPACE -->
394 <int>0x200a</int> <!-- HAIR SPACE -->
395 <int>0x200b</int> <!-- ZERO WIDTH SPACE -->
396 <int>0x200c</int> <!-- ZERO WIDTH NON-JOINER -->
397 <int>0x200d</int> <!-- ZERO WIDTH JOINER -->
398 <int>0x200e</int> <!-- LEFT-TO-RIGHT MARK -->
399 <int>0x200f</int> <!-- RIGHT-TO-LEFT MARK -->
400 <int>0x2028</int> <!-- LINE SEPARATOR -->
401 <int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
402 <int>0x202a</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
403 <int>0x202b</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
404 <int>0x202c</int> <!-- POP DIRECTIONAL FORMATTING -->
405 <int>0x202d</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
406 <int>0x202e</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
407 <int>0x202f</int> <!-- NARROW NO-BREAK SPACE -->
408 <int>0x205f</int> <!-- MEDIUM MATHEMATICAL SPACE -->
409 <int>0x2060</int> <!-- WORD JOINER -->
410 <int>0x2061</int> <!-- FUNCTION APPLICATION -->
411 <int>0x2062</int> <!-- INVISIBLE TIMES -->
412 <int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
ce50587c
KP
413 <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
414 <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
415 <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
416 <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
417 <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
418 <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
9cc93576 419 <int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
f9ad97b0 420 <int>0x3164</int> <!-- HANGUL FILLER -->
9cc93576 421 <int>0xfeff</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
10bac9b5
KP
422 <int>0xffa0</int> <!-- HALFWIDTH HANGUL FILLER -->
423 <int>0xfff9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
424 <int>0xfffa</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
3d72cadd 425 <int>0xfffb</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
fb9545b1
KP
426 </blank>
427<!--
428 Rescan configuration every 30 seconds when FcFontSetList is called
429 -->
430 <rescan>
431 <int>30</int>
432 </rescan>
433 </config>
24330d27
KP
434
435</fontconfig>