]> git.wh0rd.org - fontconfig.git/blob - fonts.conf.in
Write caches to first directory with permission. Valid cache in FcDirCacheOpen.
[fontconfig.git] / fonts.conf.in
1 <?xml version="1.0"?>
2 <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
3 <!-- /etc/fonts/fonts.conf file to configure system font access -->
4 <fontconfig>
5
6 <!--
7 DO NOT EDIT THIS FILE.
8 IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
9 LOCAL CHANGES BELONG IN 'local.conf'.
10
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
14 things that others will also want fixed. Please submit any
15 problems to the fontconfig bugzilla system located at fontconfig.org
16
17 Note that the normal 'make install' procedure for fontconfig is to
18 replace any existing fonts.conf file with the new version. Place
19 any local customizations in local.conf which this file references.
20
21 Keith Packard
22 -->
23
24 <!-- Font directory list -->
25
26 <dir>@FC_DEFAULT_FONTS@</dir>
27 @FC_FONTPATH@
28 <dir>~/.fonts</dir>
29
30 <!-- Font cache directory list -->
31
32 <cachedir>@FC_CACHEDIR@</cachedir>
33 <cachedir>~/.fontconfig</cachedir>
34
35 <!--
36 Accept deprecated 'mono' alias, replacing it with 'monospace'
37 -->
38 <match target="pattern">
39 <test qual="any" name="family">
40 <string>mono</string>
41 </test>
42 <edit name="family" mode="assign">
43 <string>monospace</string>
44 </edit>
45 </match>
46
47 <!--
48 Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
49 -->
50 <match target="pattern">
51 <test qual="any" name="family">
52 <string>sans serif</string>
53 </test>
54 <edit name="family" mode="assign">
55 <string>sans-serif</string>
56 </edit>
57 </match>
58
59 <!--
60 Accept deprecated 'sans' alias, replacing it with 'sans-serif'
61 -->
62 <match target="pattern">
63 <test qual="any" name="family">
64 <string>sans</string>
65 </test>
66 <edit name="family" mode="assign">
67 <string>sans-serif</string>
68 </edit>
69 </match>
70
71 <!--
72 Mark common families with their generics so we'll get
73 something reasonable
74 -->
75
76 <!--
77 Serif faces
78 -->
79 <alias>
80 <family>DejaVu Serif</family>
81 <family>Bitstream Vera Serif</family>
82 <family>Times New Roman</family>
83 <family>Thorndale AMT</family>
84 <family>Times</family>
85 <family>Nimbus Roman No9 L</family>
86 <family>Luxi Serif</family>
87 <family>Kochi Mincho</family>
88 <family>AR PL SungtiL GB</family>
89 <family>AR PL Mingti2L Big5</family>
90 <family>MS 明朝</family>
91 <family>Baekmuk Batang</family>
92 <family>FreeSerif</family>
93 <family>MgOpen Canonica</family>
94 <default><family>serif</family></default>
95 </alias>
96 <!--
97 Sans-serif faces
98 -->
99 <alias>
100 <family>DejaVu Sans</family>
101 <family>Bitstream Vera Sans</family>
102 <family>Helvetica</family>
103 <family>Arial</family>
104 <family>Verdana</family>
105 <family>Albany AMT</family>
106 <family>Nimbus Sans L</family>
107 <family>Luxi Sans</family>
108 <family>Kochi Gothic</family>
109 <family>AR PL KaitiM GB</family>
110 <family>AR PL KaitiM Big5</family>
111 <family>MS ゴシック</family>
112 <family>Baekmuk Dotum</family>
113 <family>SimSun</family>
114 <family>FreeSans</family>
115 <family>MgOpen Modata</family>
116 <default><family>sans-serif</family></default>
117 </alias>
118 <!--
119 Monospace faces
120 -->
121 <alias>
122 <family>DejaVu Sans Mono</family>
123 <family>Courier</family>
124 <family>Courier New</family>
125 <family>Andale Mono</family>
126 <family>Luxi Mono</family>
127 <family>Cumberland AMT</family>
128 <family>Nimbus Mono L</family>
129 <family>NSimSun</family>
130 <family>FreeMono</family>
131 <default><family>monospace</family></default>
132 </alias>
133 <!--
134 If the font still has no generic name, add sans-serif
135 -->
136 <match target="pattern">
137 <test qual="all" name="family" compare="not_eq">
138 <string>sans-serif</string>
139 </test>
140 <test qual="all" name="family" compare="not_eq">
141 <string>serif</string>
142 </test>
143 <test qual="all" name="family" compare="not_eq">
144 <string>monospace</string>
145 </test>
146 <edit name="family" mode="append_last">
147 <string>sans-serif</string>
148 </edit>
149 </match>
150
151 <!--
152 URW provides metric and shape compatible fonts for these 10 Adobe families.
153 -->
154 <alias>
155 <family>Avant Garde</family>
156 <accept><family>URW Gothic L</family></accept>
157 </alias>
158 <alias>
159 <family>Bookman</family>
160 <accept><family>URW Bookman L</family></accept>
161 </alias>
162 <alias>
163 <family>Courier</family>
164 <accept><family>Nimbus Mono L</family></accept>
165 </alias>
166 <alias>
167 <family>Helvetica</family>
168 <accept><family>Nimbus Sans L</family></accept>
169 </alias>
170 <alias>
171 <family>New Century Schoolbook</family>
172 <accept><family>Century Schoolbook L</family></accept>
173 </alias>
174 <alias>
175 <family>Palatino</family>
176 <accept><family>URW Palladio L</family></accept>
177 </alias>
178 <alias>
179 <family>Times</family>
180 <accept><family>Nimbus Roman No9 L</family></accept>
181 </alias>
182 <alias>
183 <family>Zapf Chancery</family>
184 <accept><family>URW Chancery L</family></accept>
185 </alias>
186 <alias>
187 <family>Zapf Dingbats</family>
188 <accept><family>Dingbats</family></accept>
189 </alias>
190 <match target="pattern">
191 <test name="family">
192 <string>Symbol</string>
193 </test>
194 <edit name="family" mode="append" binding="strong">
195 <string>Standard Symbols L</string>
196 </edit>
197 </match>
198 <!--
199 AMT provides metric and shape compatible fonts for these three web font
200 families.
201 -->
202 <alias>
203 <family>Times New Roman</family>
204 <accept><family>Thorndale AMT</family></accept>
205 </alias>
206 <alias>
207 <family>Arial</family>
208 <accept><family>Albany AMT</family></accept>
209 </alias>
210 <alias>
211 <family>Courier New</family>
212 <accept><family>Cumberland AMT</family></accept>
213 </alias>
214
215 <!--
216 Some Asian fonts misadvertise themselves as monospaced when
217 in fact they are dual-spaced (half and full). This makes
218 FreeType very confused as it forces all widths to match.
219 Undo this magic by disabling the width forcing code -->
220 <match target="font">
221 <test name="family"><string>GulimChe</string></test>
222 <edit name="globaladvance"><bool>false</bool></edit>
223 </match>
224
225 <match target="font">
226 <test name="family"><string>DotumChe</string></test>
227 <edit name="globaladvance"><bool>false</bool></edit>
228 </match>
229
230 <match target="font">
231 <test name="family"><string>BatangChe</string></test>
232 <edit name="globaladvance"><bool>false</bool></edit>
233 </match>
234
235 <match target="font">
236 <test name="family"><string>GungsuhChe</string></test>
237 <edit name="globaladvance"><bool>false</bool></edit>
238 </match>
239
240 <!--
241 The Bitstream Vera fonts have GASP entries suggesting that hinting be
242 disabled below 8 ppem, but FreeType ignores those, preferring to use
243 the data found in the instructed hints. The initial Vera release
244 didn't include the right instructions in the 'prep' table. Fix this
245 by disabling hinting manually at smaller sizes (< 8ppem)
246 -->
247
248 <match target="font">
249 <test name="family">
250 <string>Bitstream Vera Sans</string>
251 </test>
252 <test name="pixelsize" compare="less">
253 <double>7.5</double>
254 </test>
255 <edit name="hinting">
256 <bool>false</bool>
257 </edit>
258 </match>
259
260 <match target="font">
261 <test name="family">
262 <string>Bitstream Vera Serif</string>
263 </test>
264 <test name="pixelsize" compare="less">
265 <double>7.5</double>
266 </test>
267 <edit name="hinting">
268 <bool>false</bool>
269 </edit>
270 </match>
271
272 <match target="font">
273 <test name="family">
274 <string>Bitstream Vera Sans Mono</string>
275 </test>
276 <test name="pixelsize" compare="less">
277 <double>7.5</double>
278 </test>
279 <edit name="hinting">
280 <bool>false</bool>
281 </edit>
282 </match>
283
284 <!--
285 Load per-user customization file
286 -->
287 <include ignore_missing="yes">~/.fonts.conf</include>
288
289 <!--
290 Load local system customization file
291 -->
292 <include ignore_missing="yes">conf.d</include>
293 <include ignore_missing="yes">local.conf</include>
294
295 <!--
296 Provide required aliases for standard names
297 -->
298 <alias>
299 <family>serif</family>
300 <prefer>
301 <family>DejaVu Serif</family>
302 <family>Bitstream Vera Serif</family>
303 <family>Times New Roman</family>
304 <family>Thorndale AMT</family>
305 <family>Luxi Serif</family>
306 <family>Nimbus Roman No9 L</family>
307 <family>Times</family>
308 <family>Frank Ruehl</family>
309 <family>MgOpen Canonica</family>
310 <family>FreeSerif</family>
311 <family>Kochi Mincho</family>
312 <family>AR PL SungtiL GB</family>
313 <family>AR PL Mingti2L Big5</family>
314 <family>MS 明朝</family>
315 <family>Baekmuk Batang</family>
316 </prefer>
317 </alias>
318 <alias>
319 <family>sans-serif</family>
320 <prefer>
321 <family>DejaVu Sans</family>
322 <family>Bitstream Vera Sans</family>
323 <family>Verdana</family>
324 <family>Arial</family>
325 <family>Albany AMT</family>
326 <family>Luxi Sans</family>
327 <family>Nimbus Sans L</family>
328 <family>Helvetica</family>
329 <family>Nachlieli</family>
330 <family>MgOpen Modata</family>
331 <family>FreeSans</family>
332 <family>Kochi Gothic</family>
333 <family>AR PL KaitiM GB</family>
334 <family>AR PL KaitiM Big5</family>
335 <family>MS ゴシック</family>
336 <family>Baekmuk Dotum</family>
337 <family>SimSun</family>
338 </prefer>
339 </alias>
340 <alias>
341 <family>monospace</family>
342 <prefer>
343 <family>DejaVu Sans Mono</family>
344 <family>Bitstream Vera Sans Mono</family>
345 <family>Andale Mono</family>
346 <family>Courier New</family>
347 <family>Cumberland AMT</family>
348 <family>Luxi Mono</family>
349 <family>Nimbus Mono L</family>
350 <family>Courier</family>
351 <family>Miriam Mono</family>
352 <family>FreeMono</family>
353 <family>Kochi Gothic</family>
354 <family>AR PL KaitiM GB</family>
355 <family>Baekmuk Dotum</family>
356 </prefer>
357 </alias>
358
359 <!--
360 Artificial oblique for fonts without an italic or oblique version
361 -->
362
363 <match target="font">
364 <!-- check to see if the font is roman -->
365 <test name="slant">
366 <const>roman</const>
367 </test>
368 <!-- check to see if the pattern requested non-roman -->
369 <test target="pattern" name="slant" compare="not_eq">
370 <const>roman</const>
371 </test>
372 <!-- multiply the matrix to slant the font -->
373 <edit name="matrix" mode="assign">
374 <times>
375 <name>matrix</name>
376 <matrix><double>1</double><double>0.2</double>
377 <double>0</double><double>1</double>
378 </matrix>
379 </times>
380 </edit>
381 <!-- pretend the font is oblique now -->
382 <edit name="slant" mode="assign">
383 <const>oblique</const>
384 </edit>
385 <!-- and disable embedded bitmaps for artificial oblique -->
386 <edit name="embeddedbitmap" mode="assign">
387 <bool>false</bool>
388 </edit>
389 </match>
390
391 <!--
392 Synthetic emboldening for fonts that do not have bold face available
393 -->
394
395 <match target="font">
396 <!-- check to see if the font is just regular -->
397 <test name="weight" compare="less_eq">
398 <const>medium</const>
399 </test>
400 <!-- check to see if the pattern requests bold -->
401 <test target="pattern" name="weight" compare="more">
402 <const>medium</const>
403 </test>
404 <!--
405 set the embolden flag
406 needed for applications using cairo, e.g. gucharmap, gedit, ...
407 -->
408 <edit name="embolden" mode="assign">
409 <bool>true</bool>
410 </edit>
411 <!--
412 set weight to bold
413 needed for applications using Xft directly, e.g. Firefox, ...
414 -->
415 <edit name="weight" mode="assign">
416 <const>bold</const>
417 </edit>
418 </match>
419
420
421 <config>
422 <!--
423 These are the default Unicode chars that are expected to be blank
424 in fonts. All other blank chars are assumed to be broken and
425 won't appear in the resulting charsets
426 -->
427 <blank>
428 <int>0x0020</int> <!-- SPACE -->
429 <int>0x00A0</int> <!-- NO-BREAK SPACE -->
430 <int>0x00AD</int> <!-- SOFT HYPHEN -->
431 <int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
432 <int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
433 <int>0x0601</int> <!-- ARABIC SIGN SANAH -->
434 <int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
435 <int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
436 <int>0x06DD</int> <!-- ARABIC END OF AYAH -->
437 <int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
438 <int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
439 <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
440 <int>0x1680</int> <!-- OGHAM SPACE MARK -->
441 <int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
442 <int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
443 <int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
444 <int>0x2000</int> <!-- EN QUAD -->
445 <int>0x2001</int> <!-- EM QUAD -->
446 <int>0x2002</int> <!-- EN SPACE -->
447 <int>0x2003</int> <!-- EM SPACE -->
448 <int>0x2004</int> <!-- THREE-PER-EM SPACE -->
449 <int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
450 <int>0x2006</int> <!-- SIX-PER-EM SPACE -->
451 <int>0x2007</int> <!-- FIGURE SPACE -->
452 <int>0x2008</int> <!-- PUNCTUATION SPACE -->
453 <int>0x2009</int> <!-- THIN SPACE -->
454 <int>0x200A</int> <!-- HAIR SPACE -->
455 <int>0x200B</int> <!-- ZERO WIDTH SPACE -->
456 <int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
457 <int>0x200D</int> <!-- ZERO WIDTH JOINER -->
458 <int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
459 <int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
460 <int>0x2028</int> <!-- LINE SEPARATOR -->
461 <int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
462 <int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
463 <int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
464 <int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
465 <int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
466 <int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
467 <int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
468 <int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
469 <int>0x2060</int> <!-- WORD JOINER -->
470 <int>0x2061</int> <!-- FUNCTION APPLICATION -->
471 <int>0x2062</int> <!-- INVISIBLE TIMES -->
472 <int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
473 <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
474 <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
475 <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
476 <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
477 <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
478 <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
479 <int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
480 <int>0x3164</int> <!-- HANGUL FILLER -->
481 <int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
482 <int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
483 <int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
484 <int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
485 <int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
486 </blank>
487 <!--
488 Rescan configuration every 30 seconds when FcFontSetList is called
489 -->
490 <rescan>
491 <int>30</int>
492 </rescan>
493 </config>
494
495 </fontconfig>