95b5555f21fcfa54912afa49af5f49259d2946bf
[platform/upstream/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 <!--
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
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
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>
75                 <family>Bitstream Vera Serif</family>
76                 <family>Times New Roman</family>
77                 <family>Thorndale AMT</family>
78                 <family>Times</family>
79                 <family>Nimbus Roman No9 L</family>
80                 <family>Luxi Serif</family>
81                 <family>Kochi Mincho</family>
82                 <family>AR PL SungtiL GB</family>
83                 <family>AR PL Mingti2L Big5</family>
84                 <family>MS 明朝</family>
85                 <family>Baekmuk Batang</family>
86                 <family>FreeSerif</family>
87                 <default><family>serif</family></default>
88         </alias>
89 <!--
90   Sans-serif faces
91  -->
92         <alias>
93                 <family>Bitstream Vera Sans</family>
94                 <family>Helvetica</family>
95                 <family>Arial</family>
96                 <family>Verdana</family>
97                 <family>Albany AMT</family>
98                 <family>Nimbus Sans L</family>
99                 <family>Luxi Sans</family>
100                 <family>Kochi Gothic</family>
101                 <family>AR PL KaitiM GB</family>
102                 <family>AR PL KaitiM Big5</family>
103                 <family>MS ゴシック</family>
104                 <family>Baekmuk Dotum</family>
105                 <family>SimSun</family>
106                 <family>FreeSans</family>
107                 <default><family>sans-serif</family></default>
108         </alias>
109 <!--
110   Monospace faces
111  -->
112         <alias>
113                 <family>Bitstream Vera Sans Mono</family>
114                 <family>Courier</family>
115                 <family>Courier New</family>
116                 <family>Andale Mono</family>
117                 <family>Luxi Mono</family>
118                 <family>Cumberland AMT</family>
119                 <family>Nimbus Mono L</family>
120                 <family>NSimSun</family>
121                 <family>FreeMono</family>
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>
141
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>
174         </alias>
175         <alias>
176                 <family>Arial</family>
177                 <accept><family>Albany AMT</family></accept>
178         </alias>
179         <alias>
180                 <family>Courier New</family>
181                 <accept><family>Cumberland AMT</family></accept>
182         </alias>
183  
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>
193
194         <match target="font">
195                 <test name="family"><string>DotumChe</string></test>
196                 <edit name="globaladvance"><bool>false</bool></edit>
197         </match>
198
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
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  -->
216
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>
228
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>
240
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>
252
253 <!--
254   Load per-user customization file
255 -->
256         <include ignore_missing="yes">~/.fonts.conf</include>
257
258 <!--
259   Load local system customization file
260 -->
261         <include ignore_missing="yes">conf.d</include>
262         <include ignore_missing="yes">local.conf</include>
263
264 <!--
265   Provide required aliases for standard names
266 -->
267         <alias>
268                 <family>serif</family>
269                 <prefer>
270                         <family>Bitstream Vera Serif</family>
271                         <family>Times New Roman</family>
272                         <family>Thorndale AMT</family>
273                         <family>Luxi Serif</family>
274                         <family>Nimbus Roman No9 L</family>
275                         <family>Times</family>
276                         <family>Frank Ruehl</family>
277                         <family>Kochi Mincho</family>
278                         <family>AR PL SungtiL GB</family>
279                         <family>AR PL Mingti2L Big5</family>
280                         <family>MS 明朝</family>
281                         <family>Baekmuk Batang</family>
282                         <family>FreeSerif</family>
283                 </prefer>
284         </alias>
285         <alias>
286                 <family>sans-serif</family>
287                 <prefer>
288                         <family>Bitstream Vera Sans</family>
289                         <family>Verdana</family>
290                         <family>Arial</family>
291                         <family>Albany AMT</family>
292                         <family>Luxi Sans</family>
293                         <family>Nimbus Sans L</family>
294                         <family>Helvetica</family>
295                         <family>Nachlieli</family>
296                         <family>Kochi Gothic</family>
297                         <family>AR PL KaitiM GB</family>
298                         <family>AR PL KaitiM Big5</family>
299                         <family>MS ゴシック</family>
300                         <family>Baekmuk Dotum</family>
301                         <family>SimSun</family>
302                         <family>FreeSans</family>
303                 </prefer>
304         </alias>
305         <alias>
306                 <family>monospace</family>
307                 <prefer>
308                         <family>Bitstream Vera Sans Mono</family>
309                         <family>Andale Mono</family>
310                         <family>Courier New</family>
311                         <family>Cumberland AMT</family>
312                         <family>Luxi Mono</family>
313                         <family>Nimbus Mono L</family>
314                         <family>Courier</family>
315                         <family>Miriam Mono</family>
316                         <family>Kochi Gothic</family>
317                         <family>AR PL KaitiM GB</family>
318                         <family>Baekmuk Dotum</family>
319                         <family>FreeMono</family>
320                 </prefer>
321         </alias>
322
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 -->
329                 <test name="slant">
330                         <const>roman</const>
331                 </test>
332                 <!-- check to see if the pattern requested non-roman -->
333                 <test target="pattern" name="slant" compare="not_eq">
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>
340                                 <matrix><double>1</double><double>0.2</double>
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
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
371         <config>
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  -->
377                 <blank>
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 -->
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 -->
419                         <int>0x3000</int>       <!-- IDEOGRAPHIC SPACE -->
420                         <int>0x3164</int>       <!-- HANGUL FILLER -->
421                         <int>0xfeff</int>       <!-- ZERO WIDTH NO-BREAK SPACE -->
422                         <int>0xffa0</int>       <!-- HALFWIDTH HANGUL FILLER -->
423                         <int>0xfff9</int>       <!-- INTERLINEAR ANNOTATION ANCHOR -->
424                         <int>0xfffa</int>       <!-- INTERLINEAR ANNOTATION SEPARATOR -->
425                         <int>0xfffb</int>       <!-- INTERLINEAR ANNOTATION TERMINATOR -->
426                 </blank>
427 <!--
428   Rescan configuration every 30 seconds when FcFontSetList is called
429  -->
430                 <rescan>
431                         <int>30</int>
432                 </rescan>
433         </config>
434
435 </fontconfig>