3 Provides unit tests and examples for the <Fonts> lens.
9 let conf = "<?xml version=\"1.0\"?>
10 <!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">
11 <!-- /etc/fonts/fonts.conf file to configure system font access -->
15 DO NOT EDIT THIS FILE.
16 IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
17 LOCAL CHANGES BELONG IN 'local.conf'.
19 The intent of this standard configuration file is to be adequate for
20 most environments. If you have a reasonably normal environment and
21 have found problems with this configuration, they are probably
22 things that others will also want fixed. Please submit any
23 problems to the fontconfig bugzilla system located at fontconfig.org
25 Note that the normal 'make install' procedure for fontconfig is to
26 replace any existing fonts.conf file with the new version. Place
27 any local customizations in local.conf which this file references.
32 <!-- Font directory list -->
34 <dir>/usr/share/fonts</dir>
35 <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/usr/local/share/fonts</dir>
39 Accept deprecated 'mono' alias, replacing it with 'monospace'
41 <match target=\"pattern\">
42 <test qual=\"any\" name=\"family\">
45 <edit name=\"family\" mode=\"assign\">
46 <string>monospace</string>
51 Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
53 <match target=\"pattern\">
54 <test qual=\"any\" name=\"family\">
55 <string>sans serif</string>
57 <edit name=\"family\" mode=\"assign\">
58 <string>sans-serif</string>
63 Accept deprecated 'sans' alias, replacing it with 'sans-serif'
65 <match target=\"pattern\">
66 <test qual=\"any\" name=\"family\">
69 <edit name=\"family\" mode=\"assign\">
70 <string>sans-serif</string>
75 Load local system customization file
77 <include ignore_missing=\"yes\">conf.d</include>
79 <!-- Font cache directory list -->
81 <cachedir>/var/cache/fontconfig</cachedir>
82 <cachedir>~/.fontconfig</cachedir>
86 These are the default Unicode chars that are expected to be blank
87 in fonts. All other blank chars are assumed to be broken and
88 won't appear in the resulting charsets
91 <int>0x0020</int> <!-- SPACE -->
92 <int>0x00A0</int> <!-- NO-BREAK SPACE -->
93 <int>0x00AD</int> <!-- SOFT HYPHEN -->
94 <int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
95 <int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
96 <int>0x0601</int> <!-- ARABIC SIGN SANAH -->
97 <int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
98 <int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
99 <int>0x06DD</int> <!-- ARABIC END OF AYAH -->
100 <int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
101 <int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
102 <int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
103 <int>0x1680</int> <!-- OGHAM SPACE MARK -->
104 <int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
105 <int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
106 <int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
107 <int>0x2000</int> <!-- EN QUAD -->
108 <int>0x2001</int> <!-- EM QUAD -->
109 <int>0x2002</int> <!-- EN SPACE -->
110 <int>0x2003</int> <!-- EM SPACE -->
111 <int>0x2004</int> <!-- THREE-PER-EM SPACE -->
112 <int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
113 <int>0x2006</int> <!-- SIX-PER-EM SPACE -->
114 <int>0x2007</int> <!-- FIGURE SPACE -->
115 <int>0x2008</int> <!-- PUNCTUATION SPACE -->
116 <int>0x2009</int> <!-- THIN SPACE -->
117 <int>0x200A</int> <!-- HAIR SPACE -->
118 <int>0x200B</int> <!-- ZERO WIDTH SPACE -->
119 <int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
120 <int>0x200D</int> <!-- ZERO WIDTH JOINER -->
121 <int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
122 <int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
123 <int>0x2028</int> <!-- LINE SEPARATOR -->
124 <int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
125 <int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
126 <int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
127 <int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
128 <int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
129 <int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
130 <int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
131 <int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
132 <int>0x2060</int> <!-- WORD JOINER -->
133 <int>0x2061</int> <!-- FUNCTION APPLICATION -->
134 <int>0x2062</int> <!-- INVISIBLE TIMES -->
135 <int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
136 <int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
137 <int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
138 <int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
139 <int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
140 <int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
141 <int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
142 <int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
143 <int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
144 <int>0x3164</int> <!-- HANGUL FILLER -->
145 <int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
146 <int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
147 <int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
148 <int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
149 <int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
152 Rescan configuration every 30 seconds when FcFontSetList is called
162 (* Test: Fonts.lns *)
163 test Fonts.lns get conf =
166 { "version" = "1.0" }
169 { "!DOCTYPE" = "fontconfig"
170 { "SYSTEM" = "fonts.dtd" }
172 { "#comment" = " /etc/fonts/fonts.conf file to configure system font access " }
178 DO NOT EDIT THIS FILE.
179 IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
180 LOCAL CHANGES BELONG IN 'local.conf'.
182 The intent of this standard configuration file is to be adequate for
183 most environments. If you have a reasonably normal environment and
184 have found problems with this configuration, they are probably
185 things that others will also want fixed. Please submit any
186 problems to the fontconfig bugzilla system located at fontconfig.org
188 Note that the normal 'make install' procedure for fontconfig is to
189 replace any existing fonts.conf file with the new version. Place
190 any local customizations in local.conf which this file references.
197 { "#comment" = " Font directory list " }
202 { "#text" = "/usr/share/fonts" }
206 { "#text" = "/usr/X11R6/lib/X11/fonts" }
210 { "#text" = "/usr/local/share/fonts" }
214 { "#text" = "~/.fonts" }
219 Accept deprecated 'mono' alias, replacing it with 'monospace'
225 { "target" = "pattern" }
232 { "name" = "family" }
244 { "name" = "family" }
245 { "mode" = "assign" }
250 { "#text" = "monospace" }
259 Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
265 { "target" = "pattern" }
272 { "name" = "family" }
277 { "#text" = "sans serif" }
284 { "name" = "family" }
285 { "mode" = "assign" }
290 { "#text" = "sans-serif" }
299 Accept deprecated 'sans' alias, replacing it with 'sans-serif'
305 { "target" = "pattern" }
312 { "name" = "family" }
324 { "name" = "family" }
325 { "mode" = "assign" }
330 { "#text" = "sans-serif" }
339 Load local system customization file
345 { "ignore_missing" = "yes" }
347 { "#text" = "conf.d" }
351 { "#comment" = " Font cache directory list " }
356 { "#text" = "/var/cache/fontconfig" }
360 { "#text" = "~/.fontconfig" }
368 These are the default Unicode chars that are expected to be blank
369 in fonts. All other blank chars are assumed to be broken and
370 won't appear in the resulting charsets
378 { "#text" = "0x0020" }
381 { "#comment" = " SPACE " }
385 { "#text" = "0x00A0" }
388 { "#comment" = " NO-BREAK SPACE " }
392 { "#text" = "0x00AD" }
395 { "#comment" = " SOFT HYPHEN " }
399 { "#text" = "0x034F" }
402 { "#comment" = " COMBINING GRAPHEME JOINER " }
406 { "#text" = "0x0600" }
409 { "#comment" = " ARABIC NUMBER SIGN " }
413 { "#text" = "0x0601" }
416 { "#comment" = " ARABIC SIGN SANAH " }
420 { "#text" = "0x0602" }
423 { "#comment" = " ARABIC FOOTNOTE MARKER " }
427 { "#text" = "0x0603" }
430 { "#comment" = " ARABIC SIGN SAFHA " }
434 { "#text" = "0x06DD" }
437 { "#comment" = " ARABIC END OF AYAH " }
441 { "#text" = "0x070F" }
444 { "#comment" = " SYRIAC ABBREVIATION MARK " }
448 { "#text" = "0x115F" }
451 { "#comment" = " HANGUL CHOSEONG FILLER " }
455 { "#text" = "0x1160" }
458 { "#comment" = " HANGUL JUNGSEONG FILLER " }
462 { "#text" = "0x1680" }
465 { "#comment" = " OGHAM SPACE MARK " }
469 { "#text" = "0x17B4" }
472 { "#comment" = " KHMER VOWEL INHERENT AQ " }
476 { "#text" = "0x17B5" }
479 { "#comment" = " KHMER VOWEL INHERENT AA " }
483 { "#text" = "0x180E" }
486 { "#comment" = " MONGOLIAN VOWEL SEPARATOR " }
490 { "#text" = "0x2000" }
493 { "#comment" = " EN QUAD " }
497 { "#text" = "0x2001" }
500 { "#comment" = " EM QUAD " }
504 { "#text" = "0x2002" }
507 { "#comment" = " EN SPACE " }
511 { "#text" = "0x2003" }
514 { "#comment" = " EM SPACE " }
518 { "#text" = "0x2004" }
521 { "#comment" = " THREE-PER-EM SPACE " }
525 { "#text" = "0x2005" }
528 { "#comment" = " FOUR-PER-EM SPACE " }
532 { "#text" = "0x2006" }
535 { "#comment" = " SIX-PER-EM SPACE " }
539 { "#text" = "0x2007" }
542 { "#comment" = " FIGURE SPACE " }
546 { "#text" = "0x2008" }
549 { "#comment" = " PUNCTUATION SPACE " }
553 { "#text" = "0x2009" }
556 { "#comment" = " THIN SPACE " }
560 { "#text" = "0x200A" }
563 { "#comment" = " HAIR SPACE " }
567 { "#text" = "0x200B" }
570 { "#comment" = " ZERO WIDTH SPACE " }
574 { "#text" = "0x200C" }
577 { "#comment" = " ZERO WIDTH NON-JOINER " }
581 { "#text" = "0x200D" }
584 { "#comment" = " ZERO WIDTH JOINER " }
588 { "#text" = "0x200E" }
591 { "#comment" = " LEFT-TO-RIGHT MARK " }
595 { "#text" = "0x200F" }
598 { "#comment" = " RIGHT-TO-LEFT MARK " }
602 { "#text" = "0x2028" }
605 { "#comment" = " LINE SEPARATOR " }
609 { "#text" = "0x2029" }
612 { "#comment" = " PARAGRAPH SEPARATOR " }
616 { "#text" = "0x202A" }
619 { "#comment" = " LEFT-TO-RIGHT EMBEDDING " }
623 { "#text" = "0x202B" }
626 { "#comment" = " RIGHT-TO-LEFT EMBEDDING " }
630 { "#text" = "0x202C" }
633 { "#comment" = " POP DIRECTIONAL FORMATTING " }
637 { "#text" = "0x202D" }
640 { "#comment" = " LEFT-TO-RIGHT OVERRIDE " }
644 { "#text" = "0x202E" }
647 { "#comment" = " RIGHT-TO-LEFT OVERRIDE " }
651 { "#text" = "0x202F" }
654 { "#comment" = " NARROW NO-BREAK SPACE " }
658 { "#text" = "0x205F" }
661 { "#comment" = " MEDIUM MATHEMATICAL SPACE " }
665 { "#text" = "0x2060" }
668 { "#comment" = " WORD JOINER " }
672 { "#text" = "0x2061" }
675 { "#comment" = " FUNCTION APPLICATION " }
679 { "#text" = "0x2062" }
682 { "#comment" = " INVISIBLE TIMES " }
686 { "#text" = "0x2063" }
689 { "#comment" = " INVISIBLE SEPARATOR " }
693 { "#text" = "0x206A" }
696 { "#comment" = " INHIBIT SYMMETRIC SWAPPING " }
700 { "#text" = "0x206B" }
703 { "#comment" = " ACTIVATE SYMMETRIC SWAPPING " }
707 { "#text" = "0x206C" }
710 { "#comment" = " INHIBIT ARABIC FORM SHAPING " }
714 { "#text" = "0x206D" }
717 { "#comment" = " ACTIVATE ARABIC FORM SHAPING " }
721 { "#text" = "0x206E" }
724 { "#comment" = " NATIONAL DIGIT SHAPES " }
728 { "#text" = "0x206F" }
731 { "#comment" = " NOMINAL DIGIT SHAPES " }
735 { "#text" = "0x2800" }
738 { "#comment" = " BRAILLE PATTERN BLANK " }
742 { "#text" = "0x3000" }
745 { "#comment" = " IDEOGRAPHIC SPACE " }
749 { "#text" = "0x3164" }
752 { "#comment" = " HANGUL FILLER " }
756 { "#text" = "0xFEFF" }
759 { "#comment" = " ZERO WIDTH NO-BREAK SPACE " }
763 { "#text" = "0xFFA0" }
766 { "#comment" = " HALFWIDTH HANGUL FILLER " }
770 { "#text" = "0xFFF9" }
773 { "#comment" = " INTERLINEAR ANNOTATION ANCHOR " }
777 { "#text" = "0xFFFA" }
780 { "#comment" = " INTERLINEAR ANNOTATION SEPARATOR " }
784 { "#text" = "0xFFFB" }
787 { "#comment" = " INTERLINEAR ANNOTATION TERMINATOR " }
792 Rescan configuration every 30 seconds when FcFontSetList is called