�ɲɾ�����ӯ�����һ��ˣ��������С���˴��ͣ�������P���ҹ��ñ˽��ά�Բ��������˸߸ԣ�������ơ��ҹ��ñ�����ά�Բ���ˡ���˳^�ӣ������ӡ� ���ͯj�ӣ��ƺ���ӣ� ? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!? PNG ?%k25u25%fgd5n!PKN91]mrD)RR fonts.dtdnu[ PKn;1]s7cache/49d7c6e3-2918-4777-b402-2da0b811d695-le64.cache-7nu[@Xelo /usr/share/fonts0P/usr/share/fonts/dejavu/usr/share/fonts/google-droid/usr/share/fonts/urw-base35PKn;1]oxx7cache/7c14fbe2-38c9-400c-876a-5f2f7f6bc763-le64.cache-7nu[x@``{etG/usr/share/fonts/urw-base35EE9 Y9I$)*.149@DAK)PaVA[qaQfYlqw{ف9)ɛ١II  ! 9)"(-3A8Y>CHMSaXI^bhmsA  )!9"#$)%q(./02C059enBold Italicen1C059-BdItaC059 Bold Italic)enendi@Y@UKWN/usr/share/fonts/urw-base35/C059-BdIta.otf8Xx8X !"#%&0?b <? ? G V NQEx P?O 7 <$،@i igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFC059-BdItaAYy AQa!q"#%(./0)29C059Bold Italic)enendi@Y@urw/usr/share/fonts/urw-base35/C059-BdIta.t1igVy^jw?My&Type 1C059-BdIta1q  !)"9#y$%(./0)29C059enBolden1C059-BoldC059 Bold)eneni@Y@UKWN/usr/share/fonts/urw-base35/C059-Bold.otf igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFC059-BoldAYq 9IY!i"y#%(./0!21C059Bold)eneni@Y@urw/usr/share/fonts/urw-base35/C059-Bold.t1igVy^jw?My&Type 1C059-Bold1q  !)"9#y$%(./0)29C059enItalicen1C059-ItalicC059 Italic)enendT@Y@UKWN/usr/share/fonts/urw-base35/C059-Italic.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFC059-ItalicAYq 9IY!i"y#%(./0!21C059Italic)enendY@Y@urw/usr/share/fonts/urw-base35/C059-Italic.t1igVy^jw?My&Type 1C059-Italic1q  !)"9#y$%(./0)29C059enRomanen1C059-RomanC059 Roman)enenT@Y@UKWN/usr/share/fonts/urw-base35/C059-Roman.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFC059-RomanAYq 9IY!i"y#%(./0!21C059Roman)enenY@Y@urw/usr/share/fonts/urw-base35/C059-Roman.t1)igVy^jw?My&Type 1C059-Romanq! 1AY!"!#a%q(./02D050000LenRegularenD050000LenT@Y@URW /usr/share/fonts/urw-base35/D050000L.otf ?"L%VB ``"2IQ&CFFD050000LAay 9IY!i"#%(. /)092ID050000LRegular)enenT@Y@urw/usr/share/fonts/urw-base35/D050000L.t1H@`!$%&'4@ @HiGType 1D050000LY  9IY!i"y#$%().9/a0q2Nimbus Mono PSenBolden9NimbusMonoPS-BoldNimbus Mono PS Bold)eneni@Y@dUKWN/usr/share/fonts/urw-base35/NimbusMonoPS-Bold.otf1igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusMonoPS-BoldQq   !iy!"#%(.!/I0Y2iNimbus Mono PSBold)eneni@Y@durw/usr/share/fonts/urw-base35/NimbusMonoPS-Bold.t1igVy^jw?My&Type 1NimbusMonoPS-Boldi  IYi!y"#$%!(9.I/q02Nimbus Mono PSenBold Italicen9NimbusMonoPS-BoldItalicNimbus Mono PS Bold Italic)enendi@Y@dUKWN/usr/share/fonts/urw-base35/NimbusMonoPS-BoldItalic.otf igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusMonoPS-BoldItalicQq  )q!"#%(.)/Q0a2qNimbus Mono PSBold Italic)enendi@Y@durw/usr/share/fonts/urw-base35/NimbusMonoPS-BoldItalic.t1ɷigVy^jw?My&Type 1NimbusMonoPS-BoldItalicY  9IY!i"y#$%().9/a0q2Nimbus Mono PSenItalicen9NimbusMonoPS-ItalicNimbus Mono PS Italic)enendT@Y@dUKWN/usr/share/fonts/urw-base35/NimbusMonoPS-Italic.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusMonoPS-ItalicQq   !iy!"#%(.!/I0Y2iNimbus Mono PSItalic)enendT@Y@durw/usr/share/fonts/urw-base35/NimbusMonoPS-Italic.t1igVy^jw?My&Type 1NimbusMonoPS-ItalicQ  1AQ!a"q#$% (!.1/Y0i2yNimbus Mono PSenRegularen9NimbusMonoPS-RegularNimbus Mono PS)enenT@Y@dUKWN/usr/share/fonts/urw-base35/NimbusMonoPS-Regular.otf٦igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusMonoPS-RegularQq   !iy!"#%(.!/I0Y2iNimbus Mono PSRegular)enenT@Y@durw/usr/share/fonts/urw-base35/NimbusMonoPS-Regular.t1igVy^jw?My&Type 1NimbusMonoPS-RegularI )9!I"Y#$%( ./A0Q2aNimbus RomanenBolden9NimbusRoman-BoldNimbus Roman Bold)eneni@Y@UKWN/usr/share/fonts/urw-base35/NimbusRoman-Bold.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusRoman-BoldAay AQa!q"#%(./!012ANimbus RomanBold)eneni@Y@urw/usr/share/fonts/urw-base35/NimbusRoman-Bold.t1igVy^jw?My&Type 1NimbusRoman-BoldY )9I!Y"i#$%(.)/Q0a2qNimbus RomanenBold Italicen9NimbusRoman-BoldItalicNimbus Roman Bold Italic)enendi@Y@UKWN/usr/share/fonts/urw-base35/NimbusRoman-BoldItalic.otf1igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusRoman-BoldItalicAa  Qaq!"#%(. /10A2QNimbus RomanBold Italic)enendi@Y@urw/usr/share/fonts/urw-base35/NimbusRoman-BoldItalic.t1!igVy^jw?My&Type 1NimbusRoman-BoldItalicI )9!I"Y#$%( ./A0Q2aNimbus RomanenItalicen9NimbusRoman-ItalicNimbus Roman Italic)enendT@Y@UKWN/usr/share/fonts/urw-base35/NimbusRoman-Italic.otfqigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusRoman-ItalicAay IYi!y"#%(./)092INimbus RomanItalic)enendT@Y@urw/usr/share/fonts/urw-base35/NimbusRoman-Italic.t1iigVy^jw?My&Type 1NimbusRoman-ItalicA !1!A"Q#$%(./90I2YNimbus RomanenRegularen9NimbusRoman-RegularNimbus Roman)enenT@Y@UKWN/usr/share/fonts/urw-base35/NimbusRoman-Regular.otf{igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusRoman-RegularAay IYi!y"#%(./)092INimbus RomanRegular)enenT@Y@urw/usr/share/fonts/urw-base35/NimbusRoman-Regular.t1vigVy^jw?My&Type 1NimbusRoman-RegularA  )!9"I#$%(. /)092INimbus SansenBolden1NimbusSans-BoldNimbus Sans Bold)eneni@Y@UKWN/usr/share/fonts/urw-base35/NimbusSans-Bold.otfqigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSans-BoldAay AQa!q"#%(./0)29Nimbus SansBold)eneni@Y@urw/usr/share/fonts/urw-base35/NimbusSans-Bold.t1!ligVy^jw?My&Type 1NimbusSans-BoldQ !1A!Q"a#$%(.!/I0Y2iNimbus SansenBold Italicen9NimbusSans-BoldItalicNimbus Sans Bold Italic)enendi@Y@UKWN/usr/share/fonts/urw-base35/NimbusSans-BoldItalic.otfqfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSans-BoldItalicAa  Qaq!"#%(. /10A2QNimbus SansBold Italic)enendi@Y@urw/usr/share/fonts/urw-base35/NimbusSans-BoldItalic.t1aaigVy^jw?My&Type 1NimbusSans-BoldItalicI )9!I"Y#$%( ./A0Q2aNimbus SansenItalicen9NimbusSans-ItalicNimbus Sans Italic)enendT@Y@UKWN/usr/share/fonts/urw-base35/NimbusSans-Italic.otf[igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSans-ItalicAay IYi!y"#%(./)092INimbus SansItalic)enendT@Y@urw/usr/share/fonts/urw-base35/NimbusSans-Italic.t1VigVy^jw?My&Type 1NimbusSans-ItalicA !1!A"Q#$%(./90I2YNimbus SansenRegularen9NimbusSans-RegularNimbus Sans)enenT@Y@UKWN/usr/share/fonts/urw-base35/NimbusSans-Regular.otfQigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSans-RegularAay IYi!y"#%(./)092INimbus SansRegular)enenT@Y@urw/usr/share/fonts/urw-base35/NimbusSans-Regular.t1KigVy^jw?My&Type 1NimbusSans-RegularQ !1A!Q"a#$%(.!/I0Y2iNimbus Sans NarrowenBolden9NimbusSansNarrow-BoldNimbus Sans Narrow Bold)eneni@U@UKWN/usr/share/fonts/urw-base35/NimbusSansNarrow-Bold.otfAFigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSansNarrow-BoldAi  Qaq!"#%(. /10A2QNimbus Sans NarrowBold)eneni@Y@urw/usr/share/fonts/urw-base35/NimbusSansNarrow-Bold.t11AigVy^jw?My&Type 1NimbusSansNarrow-Boldi AQa!q"#$%(1.A/q02Nimbus Sans NarrowenBold ObliqueenANimbusSansNarrow-BoldObliqueNimbus Sans Narrow Bold Oblique)enenni@U@UKWN/usr/share/fonts/urw-base35/NimbusSansNarrow-BoldOblique.otfY;igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSansNarrow-BoldObliqueAi aq!"#%( ./I0Y2iNimbus Sans NarrowBold Oblique)enenni@Y@urw/usr/share/fonts/urw-base35/NimbusSansNarrow-BoldOblique.t116igVy^jw?My&Type 1NimbusSansNarrow-BoldObliquea 9IY!i"y#$%().9/i0y2Nimbus Sans NarrowenObliqueenANimbusSansNarrow-ObliqueNimbus Sans Narrow Oblique)enennT@U@UKWN/usr/share/fonts/urw-base35/NimbusSansNarrow-Oblique.otfY0igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSansNarrow-ObliqueAi  Qaq!"#%(. /90I2YNimbus Sans NarrowOblique)enennT@Y@urw/usr/share/fonts/urw-base35/NimbusSansNarrow-Oblique.t1A+igVy^jw?My&Type 1NimbusSansNarrow-ObliqueY 1AQ!a"q#$% (!.1/a0q2Nimbus Sans NarrowenRegularenANimbusSansNarrow-RegularNimbus Sans Narrow)enenT@U@UKWN/usr/share/fonts/urw-base35/NimbusSansNarrow-Regular.otfq%igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFNimbusSansNarrow-RegularAi  Qaq!"#%(. /90I2YNimbus Sans NarrowRegular)enenT@Y@urw/usr/share/fonts/urw-base35/NimbusSansNarrow-Regular.t1Y igVy^jw?My&Type 1NimbusSansNarrow-Regular1q  !)"9#y$%(./0)29P052enBolden1P052-BoldP052 Bold)eneni@Y@UKWN/usr/share/fonts/urw-base35/P052-Bold.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFP052-BoldAYq 9IY!i"y#%(./0!21P052Bold)eneni@Y@urw/usr/share/fonts/urw-base35/P052-Bold.t1igVy^jw?My&Type 1P052-BoldA  )!9"I#$%(. /)092IP052enBold Italicen1P052-BoldItalicP052 Bold Italic)enendi@Y@UKWN/usr/share/fonts/urw-base35/P052-BoldItalic.otf9igVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFP052-BoldItalicAYy AQa!q"#%(./0)29P052Bold Italic)enendi@Y@urw/usr/share/fonts/urw-base35/P052-BoldItalic.t1A igVy^jw?My&Type 1P052-BoldItalic1q  !)"9#y$%(./0)29P052enItalicen1P052-ItalicP052 Italic)enendT@Y@UKWN/usr/share/fonts/urw-base35/P052-Italic.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFP052-ItalicAYq 9IY!i"y#%(./0!21P052Italic)enendT@Y@urw/usr/share/fonts/urw-base35/P052-Italic.t1igVy^jw?My&Type 1P052-Italic1q  !)"9#y$%(./0)29P052enRomanen1P052-RomanP052 Roman)enenT@Y@UKWN/usr/share/fonts/urw-base35/P052-Roman.otfAigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFP052-RomanAYq 9IY!i"y#%(./0!21P052Roman)enenY@Y@urw/usr/share/fonts/urw-base35/P052-Roman.t1QigVy^jw?My&Type 1P052-RomanAi  Qaq!"y#%(./0)29Standard Symbols PSRegular)enenT@Y@urw/usr/share/fonts/urw-base35/StandardSymbolsPS.t1 pp0Pp !"#%&k8#fD @  틦d 3 iType 1StandardSymbolsPSA  )!9"I#$%(. /)092IURW BookmanenDemien1URWBookman-DemiURW Bookman Demi)enenf@Y@UKWN/usr/share/fonts/urw-base35/URWBookman-Demi.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWBookman-DemiAay AQa!q"#%(./0)29URW BookmanDemi)enenf@Y@urw/usr/share/fonts/urw-base35/URWBookman-Demi.t1!igVy^jw?My&Type 1URWBookman-DemiQ !1A!Q"a#$%(.!/I0Y2iURW BookmanenDemi Italicen9URWBookman-DemiItalicURW Bookman Demi Italic)enendf@Y@UKWN/usr/share/fonts/urw-base35/URWBookman-DemiItalic.otfqigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWBookman-DemiItalicAa  Qaq!"#%(. /10A2QURW BookmanDemi Italic)enendf@Y@urw/usr/share/fonts/urw-base35/URWBookman-DemiItalic.t1aigVy^jw?My&Type 1URWBookman-DemiItalicI )9!I"Y#$%( ./A0Q2aURW BookmanenLighten9URWBookman-LightURW Bookman Light)enenI@Y@UKWN/usr/share/fonts/urw-base35/URWBookman-Light.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWBookman-LightAay AQa!q"#%(./!012AURW BookmanLight)enenI@Y@urw/usr/share/fonts/urw-base35/URWBookman-Light.t1igVy^jw?My&Type 1URWBookman-LightY )9I!Y"i#$%(.)/Q0a2qURW BookmanenLight Italicen9URWBookman-LightItalicURW Bookman Light Italic)enendI@Y@UKWN/usr/share/fonts/urw-base35/URWBookman-LightItalic.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWBookman-LightItalicAa  Qaq!"#%(. /10A2QURW BookmanLight Italic)enendI@Y@urw/usr/share/fonts/urw-base35/URWBookman-LightItalic.t1igVy^jw?My&Type 1URWBookman-LightItalic9y !!1"A#$%(./!012AURW GothicenBooken1URWGothic-BookURW Gothic Book)enenT@Y@UKWN/usr/share/fonts/urw-base35/URWGothic-Book.otfIigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWGothic-BookAay AQa!q"#%(./0)29URW GothicBook)enenR@Y@urw/usr/share/fonts/urw-base35/URWGothic-Book.t1QigVy^jw?My&Type 1URWGothic-BookQ !1A!Q"a#$%(.!/I0Y2iURW GothicenBook Obliqueen9URWGothic-BookObliqueURW Gothic Book Oblique)enennT@Y@UKWN/usr/share/fonts/urw-base35/URWGothic-BookOblique.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWGothic-BookObliqueAa  Qaq!"#%(. /10A2QURW GothicBook Oblique)enennR@Y@urw/usr/share/fonts/urw-base35/URWGothic-BookOblique.t1igVy^jw?My&Type 1URWGothic-BookOblique9y !!1"A#$%(./!012AURW GothicenDemien1URWGothic-DemiURW Gothic Demi)enenf@Y@UKWN/usr/share/fonts/urw-base35/URWGothic-Demi.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWGothic-DemiAay AQa!q"#%(./0)29URW GothicDemi)enenf@Y@urw/usr/share/fonts/urw-base35/URWGothic-Demi.t1igVy^jw?My&Type 1URWGothic-DemiQ !1A!Q"a#$%(.!/I0Y2iURW GothicenDemi Obliqueen9URWGothic-DemiObliqueURW Gothic Demi Oblique)enennf@Y@UKWN/usr/share/fonts/urw-base35/URWGothic-DemiOblique.otfQigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFURWGothic-DemiObliqueAa  Qaq!"#%(. /10A2QURW GothicDemi Oblique)enennf@Y@urw/usr/share/fonts/urw-base35/URWGothic-DemiOblique.t1AigVy^jw?My&Type 1URWGothic-DemiObliqueI )9!I"Y#$%( ./A0Q2aZ003enMedium Italicen9Z003-MediumItalicZ003 Medium Italic)enendY@Y@UKWN/usr/share/fonts/urw-base35/Z003-MediumItalic.otfigVy^jw?My&otlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnCFFZ003-MediumItalicAYy IYi!y"#%(./)092IZ003Medium Italic)enendY@Y@urw/usr/share/fonts/urw-base35/Z003-MediumItalic.t1igVy^jw?My&Type 1Z003-MediumItalicPKn;1]~H!QQ7cache/5563114d-b133-4475-aab3-8467e51fa380-le64.cache-7nu[Q@XXe0u/usr/share/fonts/dejavu Y)"*39;BJ)9 IYq!" # $ % (1 .A /a 0q 2 DejaVu SansenBoldenDejaVu Sans Boldeni@Y@PfEd/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf10Pp0Pp0Pp0Pp0Pp0Pp !"#$%&'()*+,-.Ms|? Y!?%;_?3???@) ??????'K?8$( G` ?  ??<@0<0~ _<>{_?`"j.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSans-Bold!9I Yi!"#$)%Q(q./02DejaVu SansenBold ObliqueenDejaVu Sans Bold Obliqueenni@Y@PfEd/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf/00Pp0Pp0Pp80PpXx0 !"#$%&'()*+,-.M?{_{Aj{.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSans-BoldOblique9Qy !1A!Q"#$%(9.I/q021DejaVu SansDejaVu Sans Light)enenExtraLightenDejaVu Sans ExtraLightenD@Y@PfEd/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf(Hh(Hh(Hhh0 !"#)*,.? ;ߛ?X?1|`>30 ?? s'L?@<@008 soSA~jc?Y{.Yotlayout:DFLT otlayout:cyrl otlayout:grek otlayout:latnTrueTypeDejaVuSans-ExtraLight)9 IYq!"!#a$q%(./02DejaVu SansenObliqueenDejaVu Sans ObliqueennT@Y@PfEd/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf/ @`@ @`H @@`@@ h` @` !"#$%&'()*+,-.M{Aj{.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSans-Oblique !1 AQi!"q#$%( ./90I2YDejaVu SansenBookenDejaVu SansenT@Y@PfEd/usr/share/fonts/dejavu/DejaVuSans.ttf2x8Xx8Xx8Xx8Xx88X !"#$%&'()*+,-.M{_ ^j.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSansa 1y!"#$ %1(Q.a/021DejaVu SansDejaVu Sans Condensed)enen1Condensed BoldBold)enenDejaVu Sans Condensed Boldeni@U@PfEd/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttfj.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSansCondensed-Boldq !1I!"#$)%Q(q./021DejaVu SansDejaVu Sans Condensed)enen9Condensed Bold ObliqueBold Oblique)enenDejaVu Sans Condensed Bold Obliqueenni@U@PfEd/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf{Aj{.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSansCondensed-BoldObliquei !9!"#$%9(Y.i/021DejaVu SansDejaVu Sans Condensed)enen9Condensed ObliqueOblique)enenDejaVu Sans Condensed ObliqueennT@U@PfEd/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf{Aj{.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSansCondensed-Obliquea )iy!"#$%!(A.Q/y021DejaVu SansDejaVu Sans Condensed)enen1CondensedBook)enenDejaVu Sans CondensedenT@U@PfEd/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf!j.Yotlayout:DFLT otlayout:arab otlayout:armn otlayout:brai otlayout:cans otlayout:cher otlayout:cyrl otlayout:geor otlayout:grek otlayout:hani otlayout:hebr otlayout:kana otlayout:lao otlayout:latn otlayout:math otlayout:nko otlayout:ogam otlayout:runr otlayout:tfng otlayout:thaiTrueTypeDejaVuSansCondensedPKn;1])JIss7cache/d435d610-9ee0-4679-ae87-9b45657a81c6-le64.cache-7nu[s@``eX7,/usr/share/fonts/google-droidi!'i-<QBHNagYm !1 AQi!"#$%(.!/A0Q2aDroid SansenBoldenDroid Sans Boldeni@Y@1ASC/usr/share/fonts/google-droid/DroidSans-Bold.ttf8Xx8X !"%? F? G  HD@xDD10i{^jw?My. otlayout:latnTrueTypeDroidSans-Bold !1 AQi!"#)$9%Y(y./02Droid SansenRegularenDroid SansenT@Y@1ASC/usr/share/fonts/google-droid/DroidSans.ttfi{^jw?My. otlayout:latnTrueTypeDroidSans !1 AQi!"Y#$%(./0)29Droid SansenRegularenDroid SansenT@Y@1ASC/usr/share/fonts/google-droid/DroidSansArabic.ttfXPp0 '?N@D?<?@otlayout:arabTrueTypeDroidSansArabicq! 1AY!"y#%(./!012ADroid SansenRegularenDroid SansenT@Y@MONO/usr/share/fonts/google-droid/DroidSansArmenian.ttf0 @` TrueTypeDroidSansArmenian !1 AQi!"#Q$a%(./02 Droid SansenRegularenDroid SansenT@Y@MONO/usr/share/fonts/google-droid/DroidSansDevanagari-Regular.ttfH@` "%x?03@ otlayout:dev2 otlayout:devaTrueTypeDroidSansDevanagari !1 AQi!"# $%I(i.y/02Droid SansenBoldenDroid Sans Boldeni@Y@1ASC/usr/share/fonts/google-droid/DroidSansEthiopic-Bold.ttf@8Xx-======~~~ otlayout:ethi otlayout:latnTrueTypeDroidSansEthiopic-Bold !1 AQi!"#9$I%y(./02Droid SansenRegularenDroid SansenT@Y@1ASC/usr/share/fonts/google-droid/DroidSansEthiopic-Regular.ttf otlayout:ethi otlayout:latnTrueTypeDroidSansEthiopic !1 AQi!"y # $ % (1 .A /i 0y 2 Droid SansenRegularenDroid SansenT@Y@1ASC/usr/share/fonts/google-droid/DroidSansFallback.ttf0Pp0Pp0Pp 0 P  !"#$%&')0123MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@C7W . @U ?o[>7pD0@QM{3<-X(JF(x_0  ?<4|`P?G`~x @&xo9 ??@ @B(91 "otlayout:cyrl otlayout:grek otlayout:hani otlayout:latnTrueTypeDroidSansFallbackq! 1AY!"Y#%(./02!Droid SansenRegularenDroid SansenT@Y@MONO/usr/share/fonts/google-droid/DroidSansGeorgian.ttf0h @-?? TrueTypeDroidSansGeorgian !1 AQi!"#$%(1.A/i0y2Droid SansenBoldenDroid Sans Boldenf@Y@1ASC/usr/share/fonts/google-droid/DroidSansHebrew-Bold.ttf@8XPx %_@ otlayout:hebrTrueTypeDroidSansHebrew-Bold !1 AQi!"#9$I%i(./02Droid SansenRegularenDroid SansenT@Y@1ASC/usr/share/fonts/google-droid/DroidSansHebrew-Regular.ttf@ otlayout:hebrTrueTypeDroidSansHebrew !1 A Qay!"#Q%a(./02Droid SansenRegularenDroid SansenT@Y@Z1ASC/usr/share/fonts/google-droid/DroidSansJapanese.ttfUXx8Xx8Xx8Xx8Xx8Xx 8 X x  8 X x  8 X x  8 X x  8 X x 0NOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@?xxoCB$F, @e_6wyI8`4Q5~iHB)`D:hE`Vz?@a t!! 0@$bD` t{$eu p:@8&cgM FPH8?# >2R",f& 'UA»@acI Њ>Az@{EG8Q4 qfc$ЀQ Cq0X_Ab@ VP%@PAM @ L! R  IH\ e "3$ G %B(IO0؇>a~AóW!$H*(J@ ` @ !`CD pJ @E@)x +|@yKiJ!c+@3BYA,HXH P42LhIhLB. !P|(IࢢQU2F>Cg2(03#e:N,%=:Ԍ|1 K }(@DSZDD?HwWBk(I ABY":䷟;K D4HYE BP@@1PD@@,D0j ϐVd!1 cLS2z 3 pQC!DHS@6A }ҥBK?Р4GRe:@3Oa*škP.3nQ8vsD2@Ȋ| c)$N`' F` T   0DgR^Y.`AahA@ d1MH 2*.  li2XV Q($&CR]({Ed@DA$$4:`F: "PW@ O0JD"@1F"B@R`R 0BCp @ 5ebDD\@ 23 0% @ e@!dAh$| I@@ B8p*hP>.ف$(.s$4K *DE}II@L%غDIq j H@!0I 4 p Tb  @@T%!3 D  &i@M QA,oATKah`W P3$Ӛ q" Q1(@*ib%DDхTMu,-|AHNAn" 7퀌&u2NHnJ,pf& ]@ p3OUdD#b4C {H@DH-&XP@n21  B@H;`H (4)E# %\w^TA(` + |Bv!FH " "TH(x"1@BN R.CPAB0 O'@P!00N `1Ԁ (AjKM' ZIEP ,J bB U0j )BH>0s ` @ 0@Qʍ– 4 Uɩ($ZB7HMz2*E{1D\hEP.CB@@ TMBU!$vaݹe \]$@΀mAV'P7=2N@YC$HRr V@'L `&{!:A(H 0TrueTypeDroidSansJapanese !1 AQi!"#$%)(I.Y/02Droid SansenBoldenDroid Sans Boldeni@Y@MONO/usr/share/fonts/google-droid/DroidSansTamil-Bold.ttfH@` "%x 0==otlayout:taml otlayout:tml2TrueTypeDroidSansTamil-Bold !1 AQi!"#9$I%y(./02Droid SansenRegularenDroid SansenT@Y@MONO/usr/share/fonts/google-droid/DroidSansTamil-Regular.ttfotlayout:taml otlayout:tml2TrueTypeDroidSansTamil !1 AQi!"i#$%(. /)092IDroid SansenRegularenDroid SansenT@Y@1ASC/usr/share/fonts/google-droid/DroidSansThai.ttf8(HP %otlayout:thaiTrueTypeDroidSansThaiPKn;1]L-cache/CACHEDIR.TAGnu[Signature: 8a477f597d28d172789f06886806bc55 # This file is a cache directory tag created by fontconfig. # For information about cache directory tags, see: # http://www.brynosaurus.com/cachedir/ PKB1]pCconf.avail/50-user.confnu[ Load per-user customization files fontconfig/conf.d fontconfig/fonts.conf ~/.fonts.conf.d ~/.fonts.conf PKB1]conf.avail/10-no-sub-pixel.confnu[ Disable sub-pixel rendering none PKB1]ݍKconf.avail/10-unhinted.confnu[ Disable hinting false PKB1]d5conf.avail/57-dejavu-sans.confnu[ Arev Sans DejaVu Sans Bepa DejaVu Sans Bitstream Prima Sans DejaVu Sans Bitstream Vera Sans DejaVu Sans DejaVu LGC Sans DejaVu Sans Hunky Sans DejaVu Sans Olwen Sans DejaVu Sans SUSE Sans DejaVu Sans Verajja DejaVu Sans VerajjaPDA DejaVu Sans DejaVu Sans sans-serif sans-serif DejaVu Sans PKB1]Ǡ$conf.avail/11-lcdfilter-default.confnu[ Use lcddefault as default for LCD filter lcddefault PKB1]@ 8XX+conf.avail/20-unhint-small-dejavu-sans.confnu[ DejaVu Sans 7.5 false PKB1]conf.avail/60-latin.confnu[ Set preferable fonts for Latin serif Bitstream Vera Serif DejaVu Serif Times New Roman Thorndale AMT Luxi Serif Nimbus Roman No9 L Nimbus Roman Times sans-serif Bitstream Vera Sans DejaVu Sans Verdana Arial Albany AMT Luxi Sans Nimbus Sans L Nimbus Sans Helvetica Lucida Sans Unicode BPG Glaho International Tahoma monospace Bitstream Vera Sans Mono DejaVu Sans Mono Inconsolata Andale Mono Courier New Cumberland AMT Luxi Mono Nimbus Mono L Nimbus Mono Nimbus Mono PS Courier fantasy Impact Copperplate Gothic Std Cooper Std Bauhaus Std cursive ITC Zapf Chancery Std Zapfino Comic Sans MS PKB1]conf.avail/70-yes-bitmaps.confnu[ Accept bitmap fonts false PKB1]M!conf.avail/10-sub-pixel-vbgr.confnu[ Enable sub-pixel rendering with the vertical BGR stripes layout vbgr PKB1]7Mconf.avail/61-urw-d050000l.confnu[ fantasy D050000L D050000L fantasy D050000L ITC Zapf Dingbats ITC Zapf Dingbats D050000L ITC Zapf Dingbats Std D050000L Zapf Dingbats D050000L PKB1]3r#conf.avail/11-lcdfilter-legacy.confnu[ Use lcdlegacy as default for LCD filter lcdlegacy PKB1]gBconf.avail/10-hinting-full.confnu[ Set hintfull to hintstyle hintfull PKB1]!conf.avail/61-urw-p052.confnu[ serif P052 P052 serif P052 Palatino Palatino P052 Palatino Linotype P052 Tex Gyre Pagella P052 PKB1]0Vl "conf.avail/25-unhint-nonlatin.confnu[ Disable hinting for CJK fonts Kochi Mincho false Kochi Gothic false Sazanami Mincho false Sazanami Gothic false Baekmuk Batang false Baekmuk Dotum false Baekmuk Gulim false Baekmuk Headline false AR PL Mingti2L Big5 false AR PL ShanHeiSun Uni false AR PL KaitiM Big5 false AR PL ZenKai Uni false AR PL SungtiL GB false AR PL KaitiM GB false ZYSong18030 false PKB1]m$conf.avail/20-unhint-small-vera.confnu[ Disable hinting for Bitstream Vera fonts when the size is less than 8ppem Bitstream Vera Sans 7.5 false Bitstream Vera Serif 7.5 false Bitstream Vera Sans Mono 7.5 false PKB1]NAaaconf.avail/61-urw-z003.confnu[ cursive Z003 Z003 cursive Z003 ITC Zapf Chancery ITC Zapf Chancery Z003 TeX Gyre Chorus Z003 PKB1]şt conf.avail/45-generic.confnu[ Set substitutions for emoji/math fonts Noto Color Emoji emoji Apple Color Emoji emoji Segoe UI Emoji emoji Twitter Color Emoji emoji EmojiOne Mozilla emoji Emoji Two emoji Emoji One emoji Noto Emoji emoji Android Emoji emoji emoji und-zsye und-zsye emoji emoji XITS Math math STIX Two Math math Cambria Math math Latin Modern Math math Minion Math math Lucida Math math Asana Math math math und-zmth und-zmth math math PKB1]tconf.avail/61-urw-gothic.confnu[ sans-serif URW Gothic URW Gothic sans-serif URW Gothic ITC Avant Garde Gothic ITC Avant Garde Gothic URW Gothic TeX Gyre Adventor URW Gothic PKB1]DSq}}conf.avail/90-synthetic.confnu[ roman roman matrix 10.2 01 oblique false medium bold true bold PKB1]=k$conf.avail/65-google-droid-sans.confnu[ Droid Sans 12 Droid Sans Hebrew Droid Sans Droid Sans 11 Droid Sans Hebrew Bold Droid Sans Droid Sans Bold 11 Droid Sans Armenian Droid Sans Droid Sans 10 Droid Sans Georgian Droid Sans Droid Sans 9 Droid Sans Ethiopic Droid Sans Droid Sans 8 Droid Sans Ethiopic Bold Droid Sans Droid Sans Bold 8 Droid Sans Arabic Droid Sans Droid Sans 7 Droid Sans Devanagari Droid Sans Droid Sans 6 Droid Sans Tamil Droid Sans Droid Sans 5 Droid Sans Tamil Bold Droid Sans Droid Sans Bold 5 Droid Sans Thai Droid Sans Droid Sans 4 zh-cn zh-sg zh-hk zh-tw zh Droid Sans Japanese Droid Sans Droid Sans 3 Droid Sans Fallback Droid Sans Droid Sans 2 zh-cn zh-sg zh-hk zh-tw zh Droid Sans Japanese Droid Sans Droid Sans 1 Droid Sans Arabic Droid Sans Droid Sans Armenian Droid Sans Droid Sans Devanagari Droid Sans Droid Sans Ethiopic Droid Sans Droid Sans Fallback Droid Sans Droid Sans Georgian Droid Sans Droid Sans Hebrew Droid Sans Droid Sans Japanese Droid Sans Droid Sans Tamil Droid Sans Droid Sans Thai Droid Sans sans-serif Droid Sans Droid Sans sans-serif PKB1]conf.avail/51-local.confnu[ Load local customization file local.conf PKB1][mm#conf.avail/61-urw-nimbus-roman.confnu[ serif Nimbus Roman Nimbus Roman serif Nimbus Roman Times Times Nimbus Roman TeX Gyre Termes Nimbus Roman PKB1](ҟ&&"conf.avail/61-urw-nimbus-sans.confnu[ sans-serif Nimbus Sans sans-serif Nimbus Sans Narrow Nimbus Sans sans-serif Nimbus Sans Narrow sans-serif Nimbus Sans Helvetica Nimbus Sans Narrow Helvetica Narrow Helvetica Nimbus Sans Helvetica Narrow Nimbus Sans Narrow TeX Gyre Heroes Nimbus Sans TeX Gyre Heroes Cn Nimbus Sans Narrow PKB1]mconf.avail/49-sansserif.confnu[ Add sans-serif to the family when no generic name sans-serif serif monospace sans-serif PKB1]"]OOconf.avail/69-unifont.confnu[ serif FreeSerif Code2000 Code2001 sans-serif FreeSans Arial Unicode MS Arial Unicode Code2000 Code2001 monospace FreeMono PKB1]T) )conf.avail/61-urw-fallback-backwards.confnu[ Century Schoolbook L C059 Century SchoolBook URW C059 Dingbats D050000L Nimbus Mono Nimbus Mono PS Nimbus Mono L Nimbus Mono PS Nimbus Roman No9 L Nimbus Roman Nimbus Sans L Nimbus Sans Palladio URW P052 URW Palladio L P052 Standard Symbols L Standard Symbols PS Bookman URW URW Bookman URW Bookman L URW Bookman URW Gothic L URW Gothic Chancery URW Z003 URW Chancery L Z003 PKB1]5S%%*conf.avail/61-urw-standard-symbols-ps.confnu[ serif Standard Symbols PS Standard Symbols PS serif Standard Symbols PS Symbol Symbol Standard Symbols PS SymbolNeu Standard Symbols PS Symbol Neu for Powerline Standard Symbols PS PKB1]33!conf.avail/30-metric-aliases.confnu[ Set substitutions for similar/metric-compatible families Nimbus Sans L Helvetica Nimbus Sans Helvetica TeX Gyre Heros Helvetica Nimbus Sans Narrow Helvetica Narrow TeX Gyre Heros Cn Helvetica Narrow Nimbus Roman No9 L Times Nimbus Roman Times TeX Gyre Termes Times Nimbus Mono L Courier Nimbus Mono Courier Nimbus Mono PS Courier TeX Gyre Cursor Courier Avant Garde ITC Avant Garde Gothic URW Gothic L ITC Avant Garde Gothic URW Gothic ITC Avant Garde Gothic TeX Gyre Adventor ITC Avant Garde Gothic Bookman ITC Bookman URW Bookman L ITC Bookman Bookman URW ITC Bookman URW Bookman ITC Bookman TeX Gyre Bonum ITC Bookman Bookman Old Style ITC Bookman Zapf Chancery ITC Zapf Chancery URW Chancery L ITC Zapf Chancery Chancery URW ITC Zapf Chancery Z003 ITC Zapf Chancery TeX Gyre Chorus ITC Zapf Chancery URW Palladio L Palatino Palladio URW Palatino P052 Palatino TeX Gyre Pagella Palatino Palatino Linotype Palatino Century Schoolbook L New Century Schoolbook Century SchoolBook URW New Century Schoolbook C059 New Century Schoolbook TeX Gyre Schola New Century Schoolbook Century Schoolbook New Century Schoolbook Arimo Arial Liberation Sans Arial Liberation Sans Narrow Arial Narrow Albany Arial Albany AMT Arial Tinos Times New Roman Liberation Serif Times New Roman Thorndale Times New Roman Thorndale AMT Times New Roman Cousine Courier New Liberation Mono Courier New Cumberland Courier New Cumberland AMT Courier New Gelasio Georgia Caladea Cambria Carlito Calibri SymbolNeu Symbol Helvetica Arial Helvetica Narrow Arial Narrow Times Times New Roman Courier Courier New Arial Helvetica Arial Narrow Helvetica Narrow Times New Roman Times Courier New Courier Helvetica TeX Gyre Heros Helvetica Narrow TeX Gyre Heros Cn Times TeX Gyre Termes Courier TeX Gyre Cursor ITC Avant Garde Gothic TeX Gyre Adventor ITC Bookman Bookman Old Style TeX Gyre Bonum ITC Zapf Chancery TeX Gyre Chorus Palatino Palatino Linotype TeX Gyre Pagella New Century Schoolbook Century Schoolbook TeX Gyre Schola Arial Arimo Liberation Sans Albany Albany AMT Arial Narrow Liberation Sans Narrow Times New Roman Tinos Liberation Serif Thorndale Thorndale AMT Courier New Cousine Liberation Mono Cumberland Cumberland AMT Georgia Gelasio Cambria Caladea Calibri Carlito Symbol SymbolNeu PKB1]G conf.avail/10-sub-pixel-rgb.confnu[ Enable sub-pixel rendering with the RGB stripes layout rgb PKB1]ݸ!conf.avail/10-hinting-slight.confnu[ Set hintslight to hintstyle hintslight PKB1]b'conf.avail/70-no-bitmaps.confnu[ Reject bitmap fonts false PKB1]7컃%conf.avail/61-urw-nimbus-mono-ps.confnu[ monospace Nimbus Mono PS Nimbus Mono PS monospace Nimbus Mono PS Courier Courier Nimbus Mono PS TeX Gyre Cursor Nimbus Mono PS PKB1]conf.avail/61-urw-c059.confnu[ serif C059 C059 serif C059 New Century Schoolbook New Century Schoolbook C059 Century Schoolbook C059 Tex Gyre Schola C059 PKB1]0*conf.avail/65-nonlatin.confnu[ Set preferable fonts for non-Latin serif Artsounk BPG UTF8 M Kinnari Norasi Frank Ruehl Dror JG LaoTimes Saysettha Unicode Pigiarniq B Davat B Compset Kacst-Qr Urdu Nastaliq Unicode Raghindi Mukti Narrow malayalam Sampige padmaa Hapax Berbère MS Mincho SimSun PMingLiu WenQuanYi Zen Hei WenQuanYi Bitmap Song AR PL ShanHeiSun Uni AR PL New Sung ZYSong18030 HanyiSong MgOpen Canonica Sazanami Mincho IPAMonaMincho IPAMincho Kochi Mincho AR PL SungtiL GB AR PL Mingti2L Big5 AR PL Zenkai Uni MS 明朝 ZYSong18030 NanumMyeongjo UnBatang Baekmuk Batang KacstQura Frank Ruehl CLM Lohit Bengali Lohit Gujarati Lohit Hindi Lohit Marathi Lohit Maithili Lohit Kashmiri Lohit Konkani Lohit Nepali Lohit Sindhi Lohit Punjabi Lohit Tamil Rachana Lohit Malayalam Lohit Kannada Lohit Telugu Lohit Oriya LKLUG sans-serif Nachlieli Lucida Sans Unicode Yudit Unicode Kerkis ArmNet Helvetica Artsounk BPG UTF8 M Waree Loma Garuda Umpush Saysettha Unicode JG Lao Old Arial GF Zemen Unicode Pigiarniq B Davat B Compset Kacst-Qr Urdu Nastaliq Unicode Raghindi Mukti Narrow malayalam Sampige padmaa Hapax Berbère MS Gothic UmePlus P Gothic Microsoft YaHei Microsoft JhengHei WenQuanYi Zen Hei WenQuanYi Bitmap Song AR PL ShanHeiSun Uni AR PL New Sung MgOpen Modata VL Gothic IPAMonaGothic IPAGothic Sazanami Gothic Kochi Gothic AR PL KaitiM GB AR PL KaitiM Big5 AR PL ShanHeiSun Uni AR PL SungtiL GB AR PL Mingti2L Big5 MS ゴシック ZYSong18030 TSCu_Paranar NanumGothic UnDotum Baekmuk Dotum Baekmuk Gulim KacstQura Lohit Bengali Lohit Gujarati Lohit Hindi Lohit Marathi Lohit Maithili Lohit Kashmiri Lohit Konkani Lohit Nepali Lohit Sindhi Lohit Punjabi Lohit Tamil Meera Lohit Malayalam Lohit Kannada Lohit Telugu Lohit Oriya LKLUG monospace Miriam Mono VL Gothic IPAMonaGothic IPAGothic Sazanami Gothic Kochi Gothic AR PL KaitiM GB MS Gothic UmePlus Gothic NSimSun MingLiu AR PL ShanHeiSun Uni AR PL New Sung Mono HanyiSong AR PL SungtiL GB AR PL Mingti2L Big5 ZYSong18030 NanumGothicCoding NanumGothic UnDotum Baekmuk Dotum Baekmuk Gulim TlwgTypo TlwgTypist TlwgTypewriter TlwgMono Hasida Mitra Mono GF Zemen Unicode Hapax Berbère Lohit Bengali Lohit Gujarati Lohit Hindi Lohit Marathi Lohit Maithili Lohit Kashmiri Lohit Konkani Lohit Nepali Lohit Sindhi Lohit Punjabi Lohit Tamil Meera Lohit Malayalam Lohit Kannada Lohit Telugu Lohit Oriya LKLUG PKB1]zconf.avail/60-generic.confnu[ Set preferable fonts for emoji/math fonts und-zsye true false true emoji Noto Color Emoji Apple Color Emoji Segoe UI Emoji Twitter Color Emoji EmojiOne Mozilla Emoji Two Emoji One Noto Emoji Android Emoji math XITS Math STIX Two Math Cambria Math Latin Modern Math Minion Math Lucida Math Asana Math PKB1]k0conf.avail/10-hinting-none.confnu[ Set hintnone to hintstyle hintnone PKB1]O?!conf.avail/10-hinting-medium.confnu[ Set hintmedium to hintstyle hintmedium PKB1]mconf.avail/65-khmer.confnu[ serif Khmer OS" sans-serif Khmer OS" PKB1]x$5(5( conf.avail/65-fonts-persian.confnu[ Nesf Nesf2 Nesf2 Persian_sansserif_default Nazanin Nazli Lotus Lotoos Yaqut Yaghoot Yaghut Yaghoot Traffic Terafik Ferdowsi Ferdosi Fantezy Fantezi Jadid Persian_title Titr Persian_title Kamran Persian_fantasy Homa Homa Persian_fantasy Kamran Fantezi Persian_fantasy Tabassom Persian_fantasy Arshia Persian_square Nasim Persian_square Elham Persian_square Farnaz Farnaz Persian_square Elham Sina Persian_square Persian_title Titr Jadid Persian_serif Persian_fantasy Homa Kamran Fantezi Tabassom Persian_square Persian_square Arshia Elham Farnaz Nasim Sina Persian_serif Elham farsiweb Homa farsiweb Koodak farsiweb Nazli farsiweb Roya farsiweb Terafik farsiweb Titr farsiweb TURNED-OFF farsiweb roman roman matrix 1-0.2 01 oblique farsiweb false false false serif Nazli Lotoos Mitra Ferdosi Badr Zar sans-serif Roya Koodak Terafik monospace Terafik fantasy Homa Kamran Fantezi Tabassom cursive IranNastaliq Nafees Nastaleeq serif 200 24 Titr sans-serif 200 24 Titr Persian_sansserif_default 200 24 Titr Persian_sansserif_default Roya PKB1]#%conf.avail/10-scale-bitmap-fonts.confnu[ Bitmap scaling false pixelsize pixelsize false false true pixelsizefixupfactor 1.2 pixelsizefixupfactor 0.8 true 1.0 false 1.0 matrix pixelsizefixupfactor 0 0 pixelsizefixupfactor size pixelsizefixupfactor PKB1]%00conf.avail/40-nonlatin.confnu[ Set substitutions for non-Latin fonts Nazli serif Lotoos serif Mitra serif Ferdosi serif Badr serif Zar serif Titr serif Jadid serif Kochi Mincho serif AR PL SungtiL GB serif AR PL Mingti2L Big5 serif MS 明朝 serif NanumMyeongjo serif UnBatang serif Baekmuk Batang serif MgOpen Canonica serif Sazanami Mincho serif AR PL ZenKai Uni serif ZYSong18030 serif FreeSerif serif SimSun serif Arshia sans-serif Elham sans-serif Farnaz sans-serif Nasim sans-serif Sina sans-serif Roya sans-serif Koodak sans-serif Terafik sans-serif Kochi Gothic sans-serif AR PL KaitiM GB sans-serif AR PL KaitiM Big5 sans-serif MS ゴシック sans-serif NanumGothic sans-serif UnDotum sans-serif Baekmuk Dotum sans-serif MgOpen Modata sans-serif Sazanami Gothic sans-serif AR PL ShanHeiSun Uni sans-serif ZYSong18030 sans-serif FreeSans sans-serif NSimSun monospace ZYSong18030 monospace NanumGothicCoding monospace FreeMono monospace Homa fantasy Kamran fantasy Fantezi fantasy Tabassom fantasy IranNastaliq cursive Nafees Nastaleeq cursive PKB1]$ conf.avail/10-sub-pixel-bgr.confnu[ Enable sub-pixel rendering with the BGR stripes layout bgr PKB1]jJz!conf.avail/10-sub-pixel-vrgb.confnu[ Enable sub-pixel rendering with the vertical RGB stripes layout vrgb PKB1]2Oconf.avail/10-autohint.confnu[ Enable autohinter true PKB1]U3[conf.avail/61-urw-bookman.confnu[ serif URW Bookman URW Bookman serif URW Bookman ITC Bookman ITC Bookman URW Bookman Bookman Old Style URW Bookman TeX Gyre Bonum URW Bookman PKB1]%conf.avail/45-latin.confnu[ Set substitutions for Latin fonts Bitstream Vera Serif serif Cambria serif Constantia serif DejaVu Serif serif Elephant serif Garamond serif Georgia serif Liberation Serif serif Luxi Serif serif MS Serif serif Nimbus Roman No9 L serif Nimbus Roman serif Palatino Linotype serif Thorndale AMT serif Thorndale serif Times New Roman serif Times serif Albany AMT sans-serif Albany sans-serif Arial Unicode MS sans-serif Arial sans-serif Bitstream Vera Sans sans-serif Britannic sans-serif Calibri sans-serif Candara sans-serif Century Gothic sans-serif Corbel sans-serif DejaVu Sans sans-serif Helvetica sans-serif Haettenschweiler sans-serif Liberation Sans sans-serif MS Sans Serif sans-serif Nimbus Sans L sans-serif Nimbus Sans sans-serif Luxi Sans sans-serif Tahoma sans-serif Trebuchet MS sans-serif Twentieth Century sans-serif Verdana sans-serif Andale Mono monospace Bitstream Vera Sans Mono monospace Consolas monospace Courier New monospace Courier monospace Cumberland AMT monospace Cumberland monospace DejaVu Sans Mono monospace Fixedsys monospace Inconsolata monospace Liberation Mono monospace Luxi Mono monospace Nimbus Mono L monospace Nimbus Mono monospace Nimbus Mono PS monospace Terminal monospace Bauhaus Std fantasy Cooper Std fantasy Copperplate Gothic Std fantasy Impact fantasy Comic Sans MS cursive ITC Zapf Chancery Std cursive Zapfino cursive PKB1]"conf.avail/11-lcdfilter-light.confnu[ Use lcdlight as default for LCD filter lcdlight PKB1]nUUconf.avail/80-delicious.confnu[ Delicious Heavy heavy PK91]sΦ fcfreetype.hnu[/* * fontconfig/fontconfig/fcfreetype.h * * Copyright © 2001 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of the author(s) not be used in * advertising or publicity pertaining to distribution of the software without * specific, written prior permission. The authors make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _FCFREETYPE_H_ #define _FCFREETYPE_H_ #include #include FT_FREETYPE_H #ifndef FcPublic #define FcPublic #endif _FCFUNCPROTOBEGIN FcPublic FT_UInt FcFreeTypeCharIndex (FT_Face face, FcChar32 ucs4); FcPublic FcCharSet * FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing); FcPublic FcCharSet * FcFreeTypeCharSet (FT_Face face, FcBlanks *blanks); FcPublic FcResult FcPatternGetFTFace (const FcPattern *p, const char *object, int n, FT_Face *f); FcPublic FcBool FcPatternAddFTFace (FcPattern *p, const char *object, const FT_Face f); FcPublic FcPattern * FcFreeTypeQueryFace (const FT_Face face, const FcChar8 *file, unsigned int id, FcBlanks *blanks); _FCFUNCPROTOEND #endif PK91]p fcprivate.hnu[/* * fontconfig/fontconfig/fcprivate.h * * Copyright © 2001 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of the author(s) not be used in * advertising or publicity pertaining to distribution of the software without * specific, written prior permission. The authors make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _FCPRIVATE_H_ #define _FCPRIVATE_H_ /* * I tried this with functions that took va_list* arguments * but portability concerns made me change these functions * into macros (sigh). */ #define FcPatternVapBuild(result, orig, va) \ { \ FcPattern *__p__ = (orig); \ const char *__o__; \ FcValue __v__; \ \ if (!__p__) \ { \ __p__ = FcPatternCreate (); \ if (!__p__) \ goto _FcPatternVapBuild_bail0; \ } \ for (;;) \ { \ __o__ = va_arg (va, const char *); \ if (!__o__) \ break; \ __v__.type = va_arg (va, int); \ switch (__v__.type) { \ case FcTypeUnknown: \ case FcTypeVoid: \ goto _FcPatternVapBuild_bail1; \ case FcTypeInteger: \ __v__.u.i = va_arg (va, int); \ break; \ case FcTypeDouble: \ __v__.u.d = va_arg (va, double); \ break; \ case FcTypeString: \ __v__.u.s = va_arg (va, const FcChar8 *); \ break; \ case FcTypeBool: \ __v__.u.b = va_arg (va, FcBool); \ break; \ case FcTypeMatrix: \ __v__.u.m = va_arg (va, const FcMatrix *); \ break; \ case FcTypeCharSet: \ __v__.u.c = va_arg (va, const FcCharSet *); \ break; \ case FcTypeFTFace: \ __v__.u.f = va_arg (va, FT_Face); \ break; \ case FcTypeLangSet: \ __v__.u.l = va_arg (va, const FcLangSet *); \ break; \ case FcTypeRange: \ __v__.u.r = va_arg (va, const FcRange *); \ break; \ } \ if (!FcPatternAdd (__p__, __o__, __v__, FcTrue)) \ goto _FcPatternVapBuild_bail1; \ } \ result = __p__; \ goto _FcPatternVapBuild_return; \ \ _FcPatternVapBuild_bail1: \ if (!orig) \ FcPatternDestroy (__p__); \ _FcPatternVapBuild_bail0: \ result = (void*)0; \ \ _FcPatternVapBuild_return: \ ; \ } #define FcObjectSetVapBuild(__ret__, __first__, __va__) \ { \ FcObjectSet *__os__; \ const char *__ob__; \ \ __ret__ = 0; \ __os__ = FcObjectSetCreate (); \ if (!__os__) \ goto _FcObjectSetVapBuild_bail0; \ __ob__ = __first__; \ while (__ob__) \ { \ if (!FcObjectSetAdd (__os__, __ob__)) \ goto _FcObjectSetVapBuild_bail1; \ __ob__ = va_arg (__va__, const char *); \ } \ __ret__ = __os__; \ \ _FcObjectSetVapBuild_bail1: \ if (!__ret__ && __os__) \ FcObjectSetDestroy (__os__); \ _FcObjectSetVapBuild_bail0: \ ; \ } #ifndef FC_ATTRIBUTE_VISIBILITY_HIDDEN #define FC_ATTRIBUTE_VISIBILITY_HIDDEN __attribute((visibility("hidden"))) #endif #ifndef FC_ATTRIBUTE_VISIBILITY_EXPORT #define FC_ATTRIBUTE_VISIBILITY_EXPORT __attribute((visibility("default"))) #endif #endif /* _FCPRIVATE_H_ */ PK91]+-o-o fontconfig.hnu[/* * fontconfig/fontconfig/fontconfig.h * * Copyright © 2001 Keith Packard * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of the author(s) not be used in * advertising or publicity pertaining to distribution of the software without * specific, written prior permission. The authors make no * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ #ifndef _FONTCONFIG_H_ #define _FONTCONFIG_H_ #include #include #include #include #if defined(__GNUC__) && (__GNUC__ >= 4) #define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0))) #else #define FC_ATTRIBUTE_SENTINEL(x) #endif #ifndef FcPublic #define FcPublic #endif typedef unsigned char FcChar8; typedef unsigned short FcChar16; typedef unsigned int FcChar32; typedef int FcBool; /* * Current Fontconfig version number. This same number * must appear in the fontconfig configure.in file. Yes, * it'a a pain to synchronize version numbers like this. */ #define FC_MAJOR 2 #define FC_MINOR 13 #define FC_REVISION 1 #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION)) /* * Current font cache file format version * This is appended to the cache files so that multiple * versions of the library will peacefully coexist * * Change this value whenever the disk format for the cache file * changes in any non-compatible way. Try to avoid such changes as * it means multiple copies of the font information. */ #define FC_CACHE_VERSION_NUMBER 7 #define _FC_STRINGIFY_(s) #s #define _FC_STRINGIFY(s) _FC_STRINGIFY_(s) #define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER) #define FcFalse 0 #define FcTrue 1 #define FcDontCare 2 #define FC_FAMILY "family" /* String */ #define FC_STYLE "style" /* String */ #define FC_SLANT "slant" /* Int */ #define FC_WEIGHT "weight" /* Int */ #define FC_SIZE "size" /* Range (double) */ #define FC_ASPECT "aspect" /* Double */ #define FC_PIXEL_SIZE "pixelsize" /* Double */ #define FC_SPACING "spacing" /* Int */ #define FC_FOUNDRY "foundry" /* String */ #define FC_ANTIALIAS "antialias" /* Bool (depends) */ #define FC_HINTING "hinting" /* Bool (true) */ #define FC_HINT_STYLE "hintstyle" /* Int */ #define FC_VERTICAL_LAYOUT "verticallayout" /* Bool (false) */ #define FC_AUTOHINT "autohint" /* Bool (false) */ /* FC_GLOBAL_ADVANCE is deprecated. this is simply ignored on freetype 2.4.5 or later */ #define FC_GLOBAL_ADVANCE "globaladvance" /* Bool (true) */ #define FC_WIDTH "width" /* Int */ #define FC_FILE "file" /* String */ #define FC_INDEX "index" /* Int */ #define FC_FT_FACE "ftface" /* FT_Face */ #define FC_RASTERIZER "rasterizer" /* String (deprecated) */ #define FC_OUTLINE "outline" /* Bool */ #define FC_SCALABLE "scalable" /* Bool */ #define FC_COLOR "color" /* Bool */ #define FC_VARIABLE "variable" /* Bool */ #define FC_SCALE "scale" /* double (deprecated) */ #define FC_SYMBOL "symbol" /* Bool */ #define FC_DPI "dpi" /* double */ #define FC_RGBA "rgba" /* Int */ #define FC_MINSPACE "minspace" /* Bool use minimum line spacing */ #define FC_SOURCE "source" /* String (deprecated) */ #define FC_CHARSET "charset" /* CharSet */ #define FC_LANG "lang" /* String RFC 3066 langs */ #define FC_FONTVERSION "fontversion" /* Int from 'head' table */ #define FC_FULLNAME "fullname" /* String */ #define FC_FAMILYLANG "familylang" /* String RFC 3066 langs */ #define FC_STYLELANG "stylelang" /* String RFC 3066 langs */ #define FC_FULLNAMELANG "fullnamelang" /* String RFC 3066 langs */ #define FC_CAPABILITY "capability" /* String */ #define FC_FONTFORMAT "fontformat" /* String */ #define FC_EMBOLDEN "embolden" /* Bool - true if emboldening needed*/ #define FC_EMBEDDED_BITMAP "embeddedbitmap" /* Bool - true to enable embedded bitmaps */ #define FC_DECORATIVE "decorative" /* Bool - true if style is a decorative variant */ #define FC_LCD_FILTER "lcdfilter" /* Int */ #define FC_FONT_FEATURES "fontfeatures" /* String */ #define FC_FONT_VARIATIONS "fontvariations" /* String */ #define FC_NAMELANG "namelang" /* String RFC 3866 langs */ #define FC_PRGNAME "prgname" /* String */ #define FC_HASH "hash" /* String (deprecated) */ #define FC_POSTSCRIPT_NAME "postscriptname" /* String */ #define FC_CACHE_SUFFIX ".cache-" FC_CACHE_VERSION #define FC_DIR_CACHE_FILE "fonts.cache-" FC_CACHE_VERSION #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION /* Adjust outline rasterizer */ #define FC_CHARWIDTH "charwidth" /* Int */ #define FC_CHAR_WIDTH FC_CHARWIDTH #define FC_CHAR_HEIGHT "charheight"/* Int */ #define FC_MATRIX "matrix" /* FcMatrix */ #define FC_WEIGHT_THIN 0 #define FC_WEIGHT_EXTRALIGHT 40 #define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT #define FC_WEIGHT_LIGHT 50 #define FC_WEIGHT_DEMILIGHT 55 #define FC_WEIGHT_SEMILIGHT FC_WEIGHT_DEMILIGHT #define FC_WEIGHT_BOOK 75 #define FC_WEIGHT_REGULAR 80 #define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR #define FC_WEIGHT_MEDIUM 100 #define FC_WEIGHT_DEMIBOLD 180 #define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD #define FC_WEIGHT_BOLD 200 #define FC_WEIGHT_EXTRABOLD 205 #define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD #define FC_WEIGHT_BLACK 210 #define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK #define FC_WEIGHT_EXTRABLACK 215 #define FC_WEIGHT_ULTRABLACK FC_WEIGHT_EXTRABLACK #define FC_SLANT_ROMAN 0 #define FC_SLANT_ITALIC 100 #define FC_SLANT_OBLIQUE 110 #define FC_WIDTH_ULTRACONDENSED 50 #define FC_WIDTH_EXTRACONDENSED 63 #define FC_WIDTH_CONDENSED 75 #define FC_WIDTH_SEMICONDENSED 87 #define FC_WIDTH_NORMAL 100 #define FC_WIDTH_SEMIEXPANDED 113 #define FC_WIDTH_EXPANDED 125 #define FC_WIDTH_EXTRAEXPANDED 150 #define FC_WIDTH_ULTRAEXPANDED 200 #define FC_PROPORTIONAL 0 #define FC_DUAL 90 #define FC_MONO 100 #define FC_CHARCELL 110 /* sub-pixel order */ #define FC_RGBA_UNKNOWN 0 #define FC_RGBA_RGB 1 #define FC_RGBA_BGR 2 #define FC_RGBA_VRGB 3 #define FC_RGBA_VBGR 4 #define FC_RGBA_NONE 5 /* hinting style */ #define FC_HINT_NONE 0 #define FC_HINT_SLIGHT 1 #define FC_HINT_MEDIUM 2 #define FC_HINT_FULL 3 /* LCD filter */ #define FC_LCD_NONE 0 #define FC_LCD_DEFAULT 1 #define FC_LCD_LIGHT 2 #define FC_LCD_LEGACY 3 typedef enum _FcType { FcTypeUnknown = -1, FcTypeVoid, FcTypeInteger, FcTypeDouble, FcTypeString, FcTypeBool, FcTypeMatrix, FcTypeCharSet, FcTypeFTFace, FcTypeLangSet, FcTypeRange } FcType; typedef struct _FcMatrix { double xx, xy, yx, yy; } FcMatrix; #define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, \ (m)->xy = (m)->yx = 0) /* * A data structure to represent the available glyphs in a font. * This is represented as a sparse boolean btree. */ typedef struct _FcCharSet FcCharSet; typedef struct _FcObjectType { char *object; FcType type; } FcObjectType; typedef struct _FcConstant { const FcChar8 *name; const char *object; int value; } FcConstant; typedef enum _FcResult { FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId, FcResultOutOfMemory } FcResult; typedef enum _FcValueBinding { FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame, /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */ FcValueBindingEnd = INT_MAX } FcValueBinding; typedef struct _FcPattern FcPattern; typedef struct _FcPatternIter { void *dummy1; void *dummy2; } FcPatternIter; typedef struct _FcLangSet FcLangSet; typedef struct _FcRange FcRange; typedef struct _FcValue { FcType type; union { const FcChar8 *s; int i; FcBool b; double d; const FcMatrix *m; const FcCharSet *c; void *f; const FcLangSet *l; const FcRange *r; } u; } FcValue; typedef struct _FcFontSet { int nfont; int sfont; FcPattern **fonts; } FcFontSet; typedef struct _FcObjectSet { int nobject; int sobject; const char **objects; } FcObjectSet; typedef enum _FcMatchKind { FcMatchPattern, FcMatchFont, FcMatchScan, FcMatchKindEnd, FcMatchKindBegin = FcMatchPattern } FcMatchKind; typedef enum _FcLangResult { FcLangEqual = 0, FcLangDifferentCountry = 1, FcLangDifferentTerritory = 1, FcLangDifferentLang = 2 } FcLangResult; typedef enum _FcSetName { FcSetSystem = 0, FcSetApplication = 1 } FcSetName; typedef struct _FcConfigFileInfoIter { void *dummy1; void *dummy2; void *dummy3; } FcConfigFileInfoIter; typedef struct _FcAtomic FcAtomic; #if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */ #define _FCFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */ #define _FCFUNCPROTOEND } #else #define _FCFUNCPROTOBEGIN #define _FCFUNCPROTOEND #endif typedef enum { FcEndianBig, FcEndianLittle } FcEndian; typedef struct _FcConfig FcConfig; typedef struct _FcGlobalCache FcFileCache; typedef struct _FcBlanks FcBlanks; typedef struct _FcStrList FcStrList; typedef struct _FcStrSet FcStrSet; typedef struct _FcCache FcCache; _FCFUNCPROTOBEGIN /* fcblanks.c */ FcPublic FcBlanks * FcBlanksCreate (void); FcPublic void FcBlanksDestroy (FcBlanks *b); FcPublic FcBool FcBlanksAdd (FcBlanks *b, FcChar32 ucs4); FcPublic FcBool FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4); /* fccache.c */ FcPublic const FcChar8 * FcCacheDir(const FcCache *c); FcPublic FcFontSet * FcCacheCopySet(const FcCache *c); FcPublic const FcChar8 * FcCacheSubdir (const FcCache *c, int i); FcPublic int FcCacheNumSubdir (const FcCache *c); FcPublic int FcCacheNumFont (const FcCache *c); FcPublic FcBool FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config); FcPublic FcBool FcDirCacheValid (const FcChar8 *cache_file); FcPublic FcBool FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose); FcPublic void FcCacheCreateTagFile (const FcConfig *config); FcPublic FcBool FcDirCacheCreateUUID (FcChar8 *dir, FcBool force, FcConfig *config); FcPublic FcBool FcDirCacheDeleteUUID (const FcChar8 *dir, FcConfig *config); /* fccfg.c */ FcPublic FcChar8 * FcConfigHome (void); FcPublic FcBool FcConfigEnableHome (FcBool enable); FcPublic FcChar8 * FcConfigFilename (const FcChar8 *url); FcPublic FcConfig * FcConfigCreate (void); FcPublic FcConfig * FcConfigReference (FcConfig *config); FcPublic void FcConfigDestroy (FcConfig *config); FcPublic FcBool FcConfigSetCurrent (FcConfig *config); FcPublic FcConfig * FcConfigGetCurrent (void); FcPublic FcBool FcConfigUptoDate (FcConfig *config); FcPublic FcBool FcConfigBuildFonts (FcConfig *config); FcPublic FcStrList * FcConfigGetFontDirs (FcConfig *config); FcPublic FcStrList * FcConfigGetConfigDirs (FcConfig *config); FcPublic FcStrList * FcConfigGetConfigFiles (FcConfig *config); FcPublic FcChar8 * FcConfigGetCache (FcConfig *config); FcPublic FcBlanks * FcConfigGetBlanks (FcConfig *config); FcPublic FcStrList * FcConfigGetCacheDirs (const FcConfig *config); FcPublic int FcConfigGetRescanInterval (FcConfig *config); FcPublic FcBool FcConfigSetRescanInterval (FcConfig *config, int rescanInterval); FcPublic FcFontSet * FcConfigGetFonts (FcConfig *config, FcSetName set); FcPublic FcBool FcConfigAppFontAddFile (FcConfig *config, const FcChar8 *file); FcPublic FcBool FcConfigAppFontAddDir (FcConfig *config, const FcChar8 *dir); FcPublic void FcConfigAppFontClear (FcConfig *config); FcPublic FcBool FcConfigSubstituteWithPat (FcConfig *config, FcPattern *p, FcPattern *p_pat, FcMatchKind kind); FcPublic FcBool FcConfigSubstitute (FcConfig *config, FcPattern *p, FcMatchKind kind); FcPublic const FcChar8 * FcConfigGetSysRoot (const FcConfig *config); FcPublic void FcConfigSetSysRoot (FcConfig *config, const FcChar8 *sysroot); FcPublic void FcConfigFileInfoIterInit (FcConfig *config, FcConfigFileInfoIter *iter); FcPublic FcBool FcConfigFileInfoIterNext (FcConfig *config, FcConfigFileInfoIter *iter); FcPublic FcBool FcConfigFileInfoIterGet (FcConfig *config, FcConfigFileInfoIter *iter, FcChar8 **name, FcChar8 **description, FcBool *enabled); /* fccharset.c */ FcPublic FcCharSet* FcCharSetCreate (void); /* deprecated alias for FcCharSetCreate */ FcPublic FcCharSet * FcCharSetNew (void); FcPublic void FcCharSetDestroy (FcCharSet *fcs); FcPublic FcBool FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4); FcPublic FcBool FcCharSetDelChar (FcCharSet *fcs, FcChar32 ucs4); FcPublic FcCharSet* FcCharSetCopy (FcCharSet *src); FcPublic FcBool FcCharSetEqual (const FcCharSet *a, const FcCharSet *b); FcPublic FcCharSet* FcCharSetIntersect (const FcCharSet *a, const FcCharSet *b); FcPublic FcCharSet* FcCharSetUnion (const FcCharSet *a, const FcCharSet *b); FcPublic FcCharSet* FcCharSetSubtract (const FcCharSet *a, const FcCharSet *b); FcPublic FcBool FcCharSetMerge (FcCharSet *a, const FcCharSet *b, FcBool *changed); FcPublic FcBool FcCharSetHasChar (const FcCharSet *fcs, FcChar32 ucs4); FcPublic FcChar32 FcCharSetCount (const FcCharSet *a); FcPublic FcChar32 FcCharSetIntersectCount (const FcCharSet *a, const FcCharSet *b); FcPublic FcChar32 FcCharSetSubtractCount (const FcCharSet *a, const FcCharSet *b); FcPublic FcBool FcCharSetIsSubset (const FcCharSet *a, const FcCharSet *b); #define FC_CHARSET_MAP_SIZE (256/32) #define FC_CHARSET_DONE ((FcChar32) -1) FcPublic FcChar32 FcCharSetFirstPage (const FcCharSet *a, FcChar32 map[FC_CHARSET_MAP_SIZE], FcChar32 *next); FcPublic FcChar32 FcCharSetNextPage (const FcCharSet *a, FcChar32 map[FC_CHARSET_MAP_SIZE], FcChar32 *next); /* * old coverage API, rather hard to use correctly */ FcPublic FcChar32 FcCharSetCoverage (const FcCharSet *a, FcChar32 page, FcChar32 *result); /* fcdbg.c */ FcPublic void FcValuePrint (const FcValue v); FcPublic void FcPatternPrint (const FcPattern *p); FcPublic void FcFontSetPrint (const FcFontSet *s); /* fcdefault.c */ FcPublic FcStrSet * FcGetDefaultLangs (void); FcPublic void FcDefaultSubstitute (FcPattern *pattern); /* fcdir.c */ FcPublic FcBool FcFileIsDir (const FcChar8 *file); FcPublic FcBool FcFileScan (FcFontSet *set, FcStrSet *dirs, FcFileCache *cache, FcBlanks *blanks, const FcChar8 *file, FcBool force); FcPublic FcBool FcDirScan (FcFontSet *set, FcStrSet *dirs, FcFileCache *cache, FcBlanks *blanks, const FcChar8 *dir, FcBool force); FcPublic FcBool FcDirSave (FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir); FcPublic FcCache * FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file); FcPublic FcCache * FcDirCacheRescan (const FcChar8 *dir, FcConfig *config); FcPublic FcCache * FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config); FcPublic FcCache * FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat); FcPublic void FcDirCacheUnload (FcCache *cache); /* fcfreetype.c */ FcPublic FcPattern * FcFreeTypeQuery (const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count); FcPublic unsigned int FcFreeTypeQueryAll(const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count, FcFontSet *set); /* fcfs.c */ FcPublic FcFontSet * FcFontSetCreate (void); FcPublic void FcFontSetDestroy (FcFontSet *s); FcPublic FcBool FcFontSetAdd (FcFontSet *s, FcPattern *font); /* fcinit.c */ FcPublic FcConfig * FcInitLoadConfig (void); FcPublic FcConfig * FcInitLoadConfigAndFonts (void); FcPublic FcBool FcInit (void); FcPublic void FcFini (void); FcPublic int FcGetVersion (void); FcPublic FcBool FcInitReinitialize (void); FcPublic FcBool FcInitBringUptoDate (void); /* fclang.c */ FcPublic FcStrSet * FcGetLangs (void); FcPublic FcChar8 * FcLangNormalize (const FcChar8 *lang); FcPublic const FcCharSet * FcLangGetCharSet (const FcChar8 *lang); FcPublic FcLangSet* FcLangSetCreate (void); FcPublic void FcLangSetDestroy (FcLangSet *ls); FcPublic FcLangSet* FcLangSetCopy (const FcLangSet *ls); FcPublic FcBool FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang); FcPublic FcBool FcLangSetDel (FcLangSet *ls, const FcChar8 *lang); FcPublic FcLangResult FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang); FcPublic FcLangResult FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb); FcPublic FcBool FcLangSetContains (const FcLangSet *lsa, const FcLangSet *lsb); FcPublic FcBool FcLangSetEqual (const FcLangSet *lsa, const FcLangSet *lsb); FcPublic FcChar32 FcLangSetHash (const FcLangSet *ls); FcPublic FcStrSet * FcLangSetGetLangs (const FcLangSet *ls); FcPublic FcLangSet * FcLangSetUnion (const FcLangSet *a, const FcLangSet *b); FcPublic FcLangSet * FcLangSetSubtract (const FcLangSet *a, const FcLangSet *b); /* fclist.c */ FcPublic FcObjectSet * FcObjectSetCreate (void); FcPublic FcBool FcObjectSetAdd (FcObjectSet *os, const char *object); FcPublic void FcObjectSetDestroy (FcObjectSet *os); FcPublic FcObjectSet * FcObjectSetVaBuild (const char *first, va_list va); FcPublic FcObjectSet * FcObjectSetBuild (const char *first, ...) FC_ATTRIBUTE_SENTINEL(0); FcPublic FcFontSet * FcFontSetList (FcConfig *config, FcFontSet **sets, int nsets, FcPattern *p, FcObjectSet *os); FcPublic FcFontSet * FcFontList (FcConfig *config, FcPattern *p, FcObjectSet *os); /* fcatomic.c */ FcPublic FcAtomic * FcAtomicCreate (const FcChar8 *file); FcPublic FcBool FcAtomicLock (FcAtomic *atomic); FcPublic FcChar8 * FcAtomicNewFile (FcAtomic *atomic); FcPublic FcChar8 * FcAtomicOrigFile (FcAtomic *atomic); FcPublic FcBool FcAtomicReplaceOrig (FcAtomic *atomic); FcPublic void FcAtomicDeleteNew (FcAtomic *atomic); FcPublic void FcAtomicUnlock (FcAtomic *atomic); FcPublic void FcAtomicDestroy (FcAtomic *atomic); /* fcmatch.c */ FcPublic FcPattern * FcFontSetMatch (FcConfig *config, FcFontSet **sets, int nsets, FcPattern *p, FcResult *result); FcPublic FcPattern * FcFontMatch (FcConfig *config, FcPattern *p, FcResult *result); FcPublic FcPattern * FcFontRenderPrepare (FcConfig *config, FcPattern *pat, FcPattern *font); FcPublic FcFontSet * FcFontSetSort (FcConfig *config, FcFontSet **sets, int nsets, FcPattern *p, FcBool trim, FcCharSet **csp, FcResult *result); FcPublic FcFontSet * FcFontSort (FcConfig *config, FcPattern *p, FcBool trim, FcCharSet **csp, FcResult *result); FcPublic void FcFontSetSortDestroy (FcFontSet *fs); /* fcmatrix.c */ FcPublic FcMatrix * FcMatrixCopy (const FcMatrix *mat); FcPublic FcBool FcMatrixEqual (const FcMatrix *mat1, const FcMatrix *mat2); FcPublic void FcMatrixMultiply (FcMatrix *result, const FcMatrix *a, const FcMatrix *b); FcPublic void FcMatrixRotate (FcMatrix *m, double c, double s); FcPublic void FcMatrixScale (FcMatrix *m, double sx, double sy); FcPublic void FcMatrixShear (FcMatrix *m, double sh, double sv); /* fcname.c */ /* Deprecated. Does nothing. Returns FcFalse. */ FcPublic FcBool FcNameRegisterObjectTypes (const FcObjectType *types, int ntype); /* Deprecated. Does nothing. Returns FcFalse. */ FcPublic FcBool FcNameUnregisterObjectTypes (const FcObjectType *types, int ntype); FcPublic const FcObjectType * FcNameGetObjectType (const char *object); /* Deprecated. Does nothing. Returns FcFalse. */ FcPublic FcBool FcNameRegisterConstants (const FcConstant *consts, int nconsts); /* Deprecated. Does nothing. Returns FcFalse. */ FcPublic FcBool FcNameUnregisterConstants (const FcConstant *consts, int nconsts); FcPublic const FcConstant * FcNameGetConstant (const FcChar8 *string); FcPublic FcBool FcNameConstant (const FcChar8 *string, int *result); FcPublic FcPattern * FcNameParse (const FcChar8 *name); FcPublic FcChar8 * FcNameUnparse (FcPattern *pat); /* fcpat.c */ FcPublic FcPattern * FcPatternCreate (void); FcPublic FcPattern * FcPatternDuplicate (const FcPattern *p); FcPublic void FcPatternReference (FcPattern *p); FcPublic FcPattern * FcPatternFilter (FcPattern *p, const FcObjectSet *os); FcPublic void FcValueDestroy (FcValue v); FcPublic FcBool FcValueEqual (FcValue va, FcValue vb); FcPublic FcValue FcValueSave (FcValue v); FcPublic void FcPatternDestroy (FcPattern *p); int FcPatternObjectCount (const FcPattern *pat); FcPublic FcBool FcPatternEqual (const FcPattern *pa, const FcPattern *pb); FcPublic FcBool FcPatternEqualSubset (const FcPattern *pa, const FcPattern *pb, const FcObjectSet *os); FcPublic FcChar32 FcPatternHash (const FcPattern *p); FcPublic FcBool FcPatternAdd (FcPattern *p, const char *object, FcValue value, FcBool append); FcPublic FcBool FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append); FcPublic FcResult FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v); FcPublic FcResult FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b); FcPublic FcBool FcPatternDel (FcPattern *p, const char *object); FcPublic FcBool FcPatternRemove (FcPattern *p, const char *object, int id); FcPublic FcBool FcPatternAddInteger (FcPattern *p, const char *object, int i); FcPublic FcBool FcPatternAddDouble (FcPattern *p, const char *object, double d); FcPublic FcBool FcPatternAddString (FcPattern *p, const char *object, const FcChar8 *s); FcPublic FcBool FcPatternAddMatrix (FcPattern *p, const char *object, const FcMatrix *s); FcPublic FcBool FcPatternAddCharSet (FcPattern *p, const char *object, const FcCharSet *c); FcPublic FcBool FcPatternAddBool (FcPattern *p, const char *object, FcBool b); FcPublic FcBool FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls); FcPublic FcBool FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r); FcPublic FcResult FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i); FcPublic FcResult FcPatternGetDouble (const FcPattern *p, const char *object, int n, double *d); FcPublic FcResult FcPatternGetString (const FcPattern *p, const char *object, int n, FcChar8 ** s); FcPublic FcResult FcPatternGetMatrix (const FcPattern *p, const char *object, int n, FcMatrix **s); FcPublic FcResult FcPatternGetCharSet (const FcPattern *p, const char *object, int n, FcCharSet **c); FcPublic FcResult FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b); FcPublic FcResult FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls); FcPublic FcResult FcPatternGetRange (const FcPattern *p, const char *object, int id, FcRange **r); FcPublic FcPattern * FcPatternVaBuild (FcPattern *p, va_list va); FcPublic FcPattern * FcPatternBuild (FcPattern *p, ...) FC_ATTRIBUTE_SENTINEL(0); FcPublic FcChar8 * FcPatternFormat (FcPattern *pat, const FcChar8 *format); /* fcrange.c */ FcPublic FcRange * FcRangeCreateDouble (double begin, double end); FcPublic FcRange * FcRangeCreateInteger (FcChar32 begin, FcChar32 end); FcPublic void FcRangeDestroy (FcRange *range); FcPublic FcRange * FcRangeCopy (const FcRange *r); FcPublic FcBool FcRangeGetDouble(const FcRange *range, double *begin, double *end); FcPublic void FcPatternIterStart (const FcPattern *pat, FcPatternIter *iter); FcPublic FcBool FcPatternIterNext (const FcPattern *pat, FcPatternIter *iter); FcPublic FcBool FcPatternIterEqual (const FcPattern *p1, FcPatternIter *i1, const FcPattern *p2, FcPatternIter *i2); FcPublic FcBool FcPatternFindIter (const FcPattern *pat, FcPatternIter *iter, const char *object); FcPublic FcBool FcPatternIterIsValid (const FcPattern *pat, FcPatternIter *iter); FcPublic const char * FcPatternIterGetObject (const FcPattern *pat, FcPatternIter *iter); FcPublic int FcPatternIterValueCount (const FcPattern *pat, FcPatternIter *iter); FcPublic FcResult FcPatternIterGetValue (const FcPattern *pat, FcPatternIter *iter, int id, FcValue *v, FcValueBinding *b); /* fcweight.c */ FcPublic int FcWeightFromOpenType (int ot_weight); FcPublic double FcWeightFromOpenTypeDouble (double ot_weight); FcPublic int FcWeightToOpenType (int fc_weight); FcPublic double FcWeightToOpenTypeDouble (double fc_weight); /* fcstr.c */ FcPublic FcChar8 * FcStrCopy (const FcChar8 *s); FcPublic FcChar8 * FcStrCopyFilename (const FcChar8 *s); FcPublic FcChar8 * FcStrPlus (const FcChar8 *s1, const FcChar8 *s2); FcPublic void FcStrFree (FcChar8 *s); /* These are ASCII only, suitable only for pattern element names */ #define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132)) #define FcIsLower(c) ((0141 <= (c) && (c) <= 0172)) #define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c)) FcPublic FcChar8 * FcStrDowncase (const FcChar8 *s); FcPublic int FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2); FcPublic int FcStrCmp (const FcChar8 *s1, const FcChar8 *s2); FcPublic const FcChar8 * FcStrStrIgnoreCase (const FcChar8 *s1, const FcChar8 *s2); FcPublic const FcChar8 * FcStrStr (const FcChar8 *s1, const FcChar8 *s2); FcPublic int FcUtf8ToUcs4 (const FcChar8 *src_orig, FcChar32 *dst, int len); FcPublic FcBool FcUtf8Len (const FcChar8 *string, int len, int *nchar, int *wchar); #define FC_UTF8_MAX_LEN 6 FcPublic int FcUcs4ToUtf8 (FcChar32 ucs4, FcChar8 dest[FC_UTF8_MAX_LEN]); FcPublic int FcUtf16ToUcs4 (const FcChar8 *src_orig, FcEndian endian, FcChar32 *dst, int len); /* in bytes */ FcPublic FcBool FcUtf16Len (const FcChar8 *string, FcEndian endian, int len, /* in bytes */ int *nchar, int *wchar); FcPublic FcChar8 * FcStrDirname (const FcChar8 *file); FcPublic FcChar8 * FcStrBasename (const FcChar8 *file); FcPublic FcStrSet * FcStrSetCreate (void); FcPublic FcBool FcStrSetMember (FcStrSet *set, const FcChar8 *s); FcPublic FcBool FcStrSetEqual (FcStrSet *sa, FcStrSet *sb); FcPublic FcBool FcStrSetAdd (FcStrSet *set, const FcChar8 *s); FcPublic FcBool FcStrSetAddFilename (FcStrSet *set, const FcChar8 *s); FcPublic FcBool FcStrSetDel (FcStrSet *set, const FcChar8 *s); FcPublic void FcStrSetDestroy (FcStrSet *set); FcPublic FcStrList * FcStrListCreate (FcStrSet *set); FcPublic void FcStrListFirst (FcStrList *list); FcPublic FcChar8 * FcStrListNext (FcStrList *list); FcPublic void FcStrListDone (FcStrList *list); /* fcxml.c */ FcPublic FcBool FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain); FcPublic FcBool FcConfigParseAndLoadFromMemory (FcConfig *config, const FcChar8 *buffer, FcBool complain); _FCFUNCPROTOEND #undef FC_ATTRIBUTE_SENTINEL #ifndef _FCINT_H_ /* * Deprecated functions are placed here to help users fix their code without * digging through documentation */ #define FcConfigGetRescanInverval FcConfigGetRescanInverval_REPLACE_BY_FcConfigGetRescanInterval #define FcConfigSetRescanInverval FcConfigSetRescanInverval_REPLACE_BY_FcConfigSetRescanInterval #endif #endif /* _FONTCONFIG_H_ */ PKv1]V0ˀ>>AUTHORSnu[Keith Packard Patrick Lam PKv1]T‡‡fontconfig-user.txtnu[ fonts-conf Name fonts.conf -- Font configuration files Synopsis /etc/fonts/fonts.conf /etc/fonts/fonts.dtd /etc/fonts/conf.d $XDG_CONFIG_HOME/fontconfig/conf.d $XDG_CONFIG_HOME/fontconfig/fonts.conf ~/.fonts.conf.d ~/.fonts.conf Description Fontconfig is a library designed to provide system-wide font configuration, customization and application access. Functional Overview Fontconfig contains two essential modules, the configuration module which builds an internal configuration from XML files and the matching module which accepts font patterns and returns the nearest matching font. Font Configuration The configuration module consists of the FcConfig datatype, libexpat and FcConfigParse which walks over an XML tree and amends a configuration with data found within. From an external perspective, configuration of the library consists of generating a valid XML tree and feeding that to FcConfigParse. The only other mechanism provided to applications for changing the running configuration is to add fonts and directories to the list of application-provided font files. The intent is to make font configurations relatively static, and shared by as many applications as possible. It is hoped that this will lead to more stable font selection when passing names from one application to another. XML was chosen as a configuration file format because it provides a format which is easy for external agents to edit while retaining the correct structure and syntax. Font configuration is separate from font matching; applications needing to do their own matching can access the available fonts from the library and perform private matching. The intent is to permit applications to pick and choose appropriate functionality from the library instead of forcing them to choose between this library and a private configuration mechanism. The hope is that this will ensure that configuration of fonts for all applications can be centralized in one place. Centralizing font configuration will simplify and regularize font installation and customization. Font Properties While font patterns may contain essentially any properties, there are some well known properties with associated types. Fontconfig uses some of these properties for font matching and font completion. Others are provided as a convenience for the applications' rendering mechanism. Property Type Description -------------------------------------------------------------- family String Font family names familylang String Languages corresponding to each family style String Font style. Overrides weight and slant stylelang String Languages corresponding to each style fullname String Font full names (often includes style) fullnamelang String Languages corresponding to each fullname slant Int Italic, oblique or roman weight Int Light, medium, demibold, bold or black size Double Point size width Int Condensed, normal or expanded aspect Double Stretches glyphs horizontally before hinting pixelsize Double Pixel size spacing Int Proportional, dual-width, monospace or charcell foundry String Font foundry name antialias Bool Whether glyphs can be antialiased hinting Bool Whether the rasterizer should use hinting hintstyle Int Automatic hinting style verticallayout Bool Use vertical layout autohint Bool Use autohinter instead of normal hinter globaladvance Bool Use font global advance data (deprecated) file String The filename holding the font index Int The index of the font within the file ftface FT_Face Use the specified FreeType face object rasterizer String Which rasterizer is in use (deprecated) outline Bool Whether the glyphs are outlines scalable Bool Whether glyphs can be scaled color Bool Whether any glyphs have color scale Double Scale factor for point->pixel conversions (deprecated) dpi Double Target dots per inch rgba Int unknown, rgb, bgr, vrgb, vbgr, none - subpixel geometry lcdfilter Int Type of LCD filter minspace Bool Eliminate leading from line spacing charset CharSet Unicode chars encoded by the font lang String List of RFC-3066-style languages this font supports fontversion Int Version number of the font capability String List of layout capabilities in the font fontformat String String name of the font format embolden Bool Rasterizer should synthetically embolden the font embeddedbitmap Bool Use the embedded bitmap instead of the outline decorative Bool Whether the style is a decorative variant fontfeatures String List of the feature tags in OpenType to be enabled namelang String Language name to be used for the default value of familylang, stylelang, and fullnamelang prgname String String Name of the running program postscriptname String Font family name in PostScript Font Matching Fontconfig performs matching by measuring the distance from a provided pattern to all of the available fonts in the system. The closest matching font is selected. This ensures that a font will always be returned, but doesn't ensure that it is anything like the requested pattern. Font matching starts with an application constructed pattern. The desired attributes of the resulting font are collected together in a pattern. Each property of the pattern can contain one or more values; these are listed in priority order; matches earlier in the list are considered "closer" than matches later in the list. The initial pattern is modified by applying the list of editing instructions specific to patterns found in the configuration; each consists of a match predicate and a set of editing operations. They are executed in the order they appeared in the configuration. Each match causes the associated sequence of editing operations to be applied. After the pattern has been edited, a sequence of default substitutions are performed to canonicalize the set of available properties; this avoids the need for the lower layers to constantly provide default values for various font properties during rendering. The canonical font pattern is finally matched against all available fonts. The distance from the pattern to the font is measured for each of several properties: foundry, charset, family, lang, spacing, pixelsize, style, slant, weight, antialias, rasterizer and outline. This list is in priority order -- results of comparing earlier elements of this list weigh more heavily than later elements. There is one special case to this rule; family names are split into two bindings; strong and weak. Strong family names are given greater precedence in the match than lang elements while weak family names are given lower precedence than lang elements. This permits the document language to drive font selection when any document specified font is unavailable. The pattern representing that font is augmented to include any properties found in the pattern but not found in the font itself; this permits the application to pass rendering instructions or any other data through the matching system. Finally, the list of editing instructions specific to fonts found in the configuration are applied to the pattern. This modified pattern is returned to the application. The return value contains sufficient information to locate and rasterize the font, including the file name, pixel size and other rendering data. As none of the information involved pertains to the FreeType library, applications are free to use any rasterization engine or even to take the identified font file and access it directly. The match/edit sequences in the configuration are performed in two passes because there are essentially two different operations necessary -- the first is to modify how fonts are selected; aliasing families and adding suitable defaults. The second is to modify how the selected fonts are rasterized. Those must apply to the selected font, not the original pattern as false matches will often occur. Font Names Fontconfig provides a textual representation for patterns that the library can both accept and generate. The representation is in three parts, first a list of family names, second a list of point sizes and finally a list of additional properties: -:=:=... Values in a list are separated with commas. The name needn't include either families or point sizes; they can be elided. In addition, there are symbolic constants that simultaneously indicate both a name and a value. Here are some examples: Name Meaning ---------------------------------------------------------- Times-12 12 point Times Roman Times-12:bold 12 point Times Bold Courier:italic Courier Italic in the default size Monospace:matrix=1 .1 0 1 The users preferred monospace font with artificial obliquing The '\', '-', ':' and ',' characters in family names must be preceded by a '\' character to avoid having them misinterpreted. Similarly, values containing '\', '=', '_', ':' and ',' must also have them preceded by a '\' character. The '\' characters are stripped out of the family name and values as the font name is read. Debugging Applications To help diagnose font and applications problems, fontconfig is built with a large amount of internal debugging left enabled. It is controlled by means of the FC_DEBUG environment variable. The value of this variable is interpreted as a number, and each bit within that value controls different debugging messages. Name Value Meaning --------------------------------------------------------- MATCH 1 Brief information about font matching MATCHV 2 Extensive font matching information EDIT 4 Monitor match/test/edit execution FONTSET 8 Track loading of font information at startup CACHE 16 Watch cache files being written CACHEV 32 Extensive cache file writing information PARSE 64 (no longer in use) SCAN 128 Watch font files being scanned to build caches SCANV 256 Verbose font file scanning information MEMORY 512 Monitor fontconfig memory usage CONFIG 1024 Monitor which config files are loaded LANGSET 2048 Dump char sets used to construct lang values MATCH2 4096 Display font-matching transformation in patterns Add the value of the desired debug levels together and assign that (in base 10) to the FC_DEBUG environment variable before running the application. Output from these statements is sent to stdout. Lang Tags Each font in the database contains a list of languages it supports. This is computed by comparing the Unicode coverage of the font with the orthography of each language. Languages are tagged using an RFC-3066 compatible naming and occur in two parts -- the ISO 639 language tag followed a hyphen and then by the ISO 3166 country code. The hyphen and country code may be elided. Fontconfig has orthographies for several languages built into the library. No provision has been made for adding new ones aside from rebuilding the library. It currently supports 122 of the 139 languages named in ISO 639-1, 141 of the languages with two-letter codes from ISO 639-2 and another 30 languages with only three-letter codes. Languages with both two and three letter codes are provided with only the two letter code. For languages used in multiple territories with radically different character sets, fontconfig includes per-territory orthographies. This includes Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese. Configuration File Format Configuration files for fontconfig are stored in XML format; this format makes external configuration tools easier to write and ensures that they will generate syntactically correct configuration files. As XML files are plain text, they can also be manipulated by the expert user using a text editor. The fontconfig document type definition resides in the external entity "fonts.dtd"; this is normally stored in the default font configuration directory (/etc/fonts). Each configuration file should contain the following structure: ... This is the top level element for a font configuration and can contain , , , and elements in any order. This element contains a directory name which will be scanned for font files to include in the set of available fonts. If 'prefix' is set to "xdg", the value in the XDG_DATA_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details. This element contains a directory name that is supposed to be stored or read the cache of font information. If multiple elements are specified in the configuration file, the directory that can be accessed first in the list will be used to store the cache files. If it starts with '~', it refers to a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details. The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files named ``-.cache-'', where is the fontconfig cache file version number (currently 7). This element contains the name of an additional configuration file or directory. If a directory, every file within that directory starting with an ASCII digit (U+0030 - U+0039) and ending with the string ``.conf'' will be processed in sorted order. When the XML datatype is traversed by FcConfigParse, the contents of the file(s) will also be incorporated into the configuration by passing the filename(s) to FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the default "no", a missing file or directory will elicit no warning message from the library. If 'prefix' is set to "xdg", the value in the XDG_CONFIG_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details. This element provides a place to consolidate additional configuration information. can contain and elements in any order. Fonts often include "broken" glyphs which appear in the encoding but are drawn as blanks on the screen. Within the element, place each Unicode characters which is supposed to be blank in an element. Characters outside of this set which are drawn as blank will be elided from the set of characters supported by the font. The element holds an element which indicates the default interval between automatic checks for font configuration changes. Fontconfig will validate all of the configuration files and directories and automatically rebuild the internal datastructures when this interval passes. This element is used to black/white list fonts from being listed or matched against. It holds acceptfont and rejectfont elements. Fonts matched by an acceptfont element are "whitelisted"; such fonts are explicitly included in the set of fonts used to resolve list and match requests; including them in this list protects them from being "blacklisted" by a rejectfont element. Acceptfont elements include glob and pattern elements which are used to match fonts. Fonts matched by an rejectfont element are "blacklisted"; such fonts are excluded from the set of fonts used to resolve list and match requests as if they didn't exist in the system. Rejectfont elements include glob and pattern elements which are used to match fonts. Glob elements hold shell-style filename matching patterns (including ? and *) which match fonts based on their complete pathnames. This can be used to exclude a set of directories (/usr/share/fonts/uglyfont*), or particular font file types (*.pcf.gz), but the latter mechanism relies rather heavily on filenaming conventions which can't be relied upon. Note that globs only apply to directories, not to individual fonts. Pattern elements perform list-style matching on incoming fonts; that is, they hold a list of elements and associated values. If all of those elements have a matching value, then the pattern matches the font. This can be used to select fonts based on attributes of the font (scalable, bold, etc), which is a more reliable mechanism than using file extensions. Pattern elements include patelt elements. Patelt elements hold a single pattern element and list of values. They must have a 'name' attribute which indicates the pattern element name. Patelt elements include int, double, string, matrix, bool, charset and const elements. This element holds first a (possibly empty) list of elements and then a (possibly empty) list of elements. Patterns which match all of the tests are subjected to all the edits. If 'target' is set to "font" instead of the default "pattern", then this element applies to the font name resulting from a match rather than a font pattern to be matched. If 'target' is set to "scan", then this element applies when the font is scanned to build the fontconfig database. This element contains a single value which is compared with the target ('pattern', 'font', 'scan' or 'default') property "property" (substitute any of the property names seen above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", "more_eq", "contains" or "not_contains". 'qual' may either be the default, "any", in which case the match succeeds if any value associated with the property matches the test value, or "all", in which case all of the values associated with the property must match the test value. 'ignore-blanks' takes a boolean value. if 'ignore-blanks' is set "true", any blanks in the string will be ignored on its comparison. this takes effects only when compare="eq" or compare="not_eq". When used in a element, the target= attribute in the element selects between matching the original pattern or the font. "default" selects whichever target the outer element has selected. This element contains a list of expression elements (any of the value or operator elements). The expression elements are evaluated at run-time and modify the property "property". The modification depends on whether "property" was matched by one of the associated elements, if so, the modification may affect the first matched value. Any values inserted into the property are given the indicated binding ("strong", "weak" or "same") with "same" binding using the value from the matched pattern element. 'mode' is one of: Mode With Match Without Match --------------------------------------------------------------------- "assign" Replace matching value Replace all values "assign_replace" Replace all values Replace all values "prepend" Insert before matching Insert at head of list "prepend_first" Insert at head of list Insert at head of list "append" Append after matching Append at end of list "append_last" Append at end of list Append at end of list "delete" Delete matching value Delete all values "delete_all" Delete all values Delete all values , , , These elements hold a single value of the indicated type. elements hold either true or false. An important limitation exists in the parsing of floating point numbers -- fontconfig requires that the mantissa start with a digit, not a decimal point, so insert a leading zero for purely fractional values (e.g. use 0.5 instead of .5 and -0.5 instead of -.5). This element holds four numerical expressions of an affine transformation. At their simplest these will be four elements but they can also be more involved expressions. This element holds the two elements of a range representation. This element holds at least one element of an Unicode code point or more. This element holds at least one element of a RFC-3066-style languages or more. Holds a property name. Evaluates to the first value from the property of the pattern. If the 'target' attribute is not present, it will default to 'default', in which case the property is returned from the font pattern during a target="font" match, and to the pattern during a target="pattern" match. The attribute can also take the values 'font' or 'pattern' to explicitly choose which pattern to use. It is an error to use a target of 'font' in a match that has target="pattern". Holds the name of a constant; these are always integers and serve as symbolic names for common font values: Constant Property Value ------------------------------------- thin weight 0 extralight weight 40 ultralight weight 40 light weight 50 demilight weight 55 semilight weight 55 book weight 75 regular weight 80 normal weight 80 medium weight 100 demibold weight 180 semibold weight 180 bold weight 200 extrabold weight 205 black weight 210 heavy weight 210 roman slant 0 italic slant 100 oblique slant 110 ultracondensed width 50 extracondensed width 63 condensed width 75 semicondensed width 87 normal width 100 semiexpanded width 113 expanded width 125 extraexpanded width 150 ultraexpanded width 200 proportional spacing 0 dual spacing 90 mono spacing 100 charcell spacing 110 unknown rgba 0 rgb rgba 1 bgr rgba 2 vrgb rgba 3 vbgr rgba 4 none rgba 5 lcdnone lcdfilter 0 lcddefault lcdfilter 1 lcdlight lcdfilter 2 lcdlegacy lcdfilter 3 hintnone hintstyle 0 hintslight hintstyle 1 hintmedium hintstyle 2 hintfull hintstyle 3 , , , , , These elements perform the specified operation on a list of expression elements. and are boolean, not bitwise. , , , , , , , Inverts the boolean sense of its one expression element This element takes three expression elements; if the value of the first is true, it produces the value of the second, otherwise it produces the value of the third. Alias elements provide a shorthand notation for the set of common match operations needed to substitute one font family for another. They contain a element followed by optional , and elements. Fonts matching the element are edited to prepend the list of ed families before the matching , append the able families after the matching and append the families to the end of the family list. Holds a single font family name , , These hold a list of elements to be used by the element. EXAMPLE CONFIGURATION FILE System configuration file This is an example of a system-wide configuration file /usr/share/fonts /usr/X11R6/lib/X11/fonts mono monospace sans-serif serif monospace sans-serif fontconfig/fonts.conf conf.d local.conf Times Times New Roman serif Helvetica Arial sans Courier Courier New monospace serif Times New Roman sans Arial monospace Andale Mono <-- The example of the requirements of OR operator; If the 'family' contains 'Courier New' OR 'Courier' add 'monospace' as the alternative --> Courier New monospace Courier monospace User configuration file This is an example of a per-user configuration file that lives in $XDG_CONFIG_HOME/fontconfig/fonts.conf fonts rgb zh serif WenQuanYi Zen Hei ja sans-serif VL Gothic Files fonts.conf contains configuration information for the fontconfig library consisting of directories to look at for font information as well as instructions on editing program specified font patterns before attempting to match the available fonts. It is in XML format. conf.d is the conventional name for a directory of additional configuration files managed by external applications or the local administrator. The filenames starting with decimal digits are sorted in lexicographic order and used as additional configuration files. All of these files are in XML format. The master fonts.conf file references this directory in an directive. fonts.dtd is a DTD that describes the format of the configuration files. $XDG_CONFIG_HOME/fontconfig/conf.d and ~/.fonts.conf.d is the conventional name for a per-user directory of (typically auto-generated) configuration files, although the actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf.d is deprecated now. it will not be read by default in the future version. $XDG_CONFIG_HOME/fontconfig/fonts.conf and ~/.fonts.conf is the conventional location for per-user font configuration, although the actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf is deprecated now. it will not be read by default in the future version. $XDG_CACHE_HOME/fontconfig/*.cache-* and ~/.fontconfig/*.cache-* is the conventional repository of font information that isn't found in the per-directory caches. This file is automatically maintained by fontconfig. please note that ~/.fontconfig/*.cache-* is deprecated now. it will not be read by default in the future version. Environment variables FONTCONFIG_FILE is used to override the default configuration file. FONTCONFIG_PATH is used to override the default configuration directory. FONTCONFIG_SYSROOT is used to set a default sysroot directory. FC_DEBUG is used to output the detailed debugging messages. see [1]Debugging Applications section for more details. FC_DBG_MATCH_FILTER is used to filter out the patterns. this takes a comma-separated list of object names and effects only when FC_DEBUG has MATCH2. see [2]Debugging Applications section for more details. FC_LANG is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale. FONTCONFIG_USE_MMAP is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway. SOURCE_DATE_EPOCH is used to ensure fc-cache(1) generates files in a deterministic manner in order to support reproducible builds. When set to a numeric representation of UNIX timestamp, fontconfig will prefer this value over using the modification timestamps of the input files in order to identify which cache files require regeneration. If SOURCE_DATE_EPOCH is not set (or is newer than the mtime of the directory), the existing behaviour is unchanged. See Also fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1), [3]SOURCE_DATE_EPOCH. Version Fontconfig version 2.13.1 References Visible links 1. file:///tmp/html-cm5uzN#DEBUG 2. file:///tmp/html-cm5uzN#DEBUG 3. https://reproducible-builds.org/specs/source-date-epoch/ PKv1]ձLLREADMEnu[ Fontconfig Font configuration and customization library Version 2.13.1 2018-08-30 Check INSTALL for compilation and installation instructions. Report bugs to https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new. 2.13.1 Akira TAGOH (48): Use the builtin uuid for OSX Fix the build issue again on MinGW with enabling nls Add uuid to Requires.private in .pc only when pkgconfig macro found it Allow the constant names in the range Do not override locale if already set by app Add the value of the constant name to the implicit object in the pattern Add a testcase for FcNameParse Leave the locale setting to applications call setlocale Fix make check fail when srcdir != builddir. Do not ship fcobjshash.h Fix typo in doc Change the emboldening logic again Bug 43367 - RFE: iterator to peek objects in FcPattern Add a testrunner for conf Add a test case for 90-synthetic.conf Bug 106497 - better error description when problem reading font configuration Bug 106459 - fc-cache doesn't use -y option for .uuid files Fix leaks Fix -Wstringop-truncation warning Fix double-free Add a test case for bz#106618 Update CaseFolding.txt to Unicode 11 Remove .uuid when no font files exists on a directory Fix the leak of file handle Fix memory leak Fix memory leaks Fix memory leak Fix memory leak Fix memory leak Fix unterminated string issue Fix array access in a null pointer dereference Fix access in a null pointer dereference do not pass null pointer to memcpy Fix dereferencing null pointer Fix a typo Fix possibly dereferencing a null pointer Fix allocating insufficient memory for terminating null of the string Make a call fail on ENOMEM Allocate sufficient memory to terminate with null Drop the redundant code Fix memory leak Fix the build issue with gperf Fix missing closing bracket in FcStrIsAbsoluteFilename() Update the issue tracker URL Fix distcheck fail Add .gitlab-ci.yml Bump the libtool revision Alexander Larsson (3): Add FcCacheAllocate() helper Cache: Rewrite relocated paths in earlier Cache: Remove alias_table Behdad Esfahbod (4): Minor: fix warnings Fix name scanning Share name-mapping across instances Use FT_HAS_COLOR Chris Lamb (1): Ensure cache checksums are deterministic Matthieu Herrb (1): FcCacheFindByStat(): fix checking of nanoseconds field. Tom Anderson (7): Fix undefined-shift UBSAN errors Use realfilename for FcOpen in _FcConfigParse Add FONTCONFIG_SYSROOT environment variable Fix CFI builds Fix heap use-after-free Return canonicalized paths from FcConfigRealFilename Fix build with CFLAGS="-std=c11 -D_GNU_SOURCE" 2.13 Akira TAGOH (4): Add Simplified Chinese translations Fix a build issue on MinGW with enabling nls Initialize an array explicitly Bump the libtool revision 2.12.93 (2.13 RC3) Akira TAGOH (12): trivial fix Add files to enable ITS support in gettext Use the native ITS support in gettext Remove POTFILES.in until new release of gettext is coming... export GETTEXTDATADIR to refer the local .its/.loc file instead of using --its option clean up Do not add cflags and libs coming from pkg-config file. Revert some removal from 7ac6af6 Take effects on dir, cachedir, acceptfont, and rejectfont only when loading Do not mix up font dirs into the list of config dirs Ensure the user config dir is available in the list of config dirs on the fallback config Add missing files to ship Alexander Larsson (1): FcHashTableAddInternal: Compare against the right key Behdad Esfahbod (5): Remove hack for OS/2 weights 1..9 Support FC_WIDTH as double as well Fix leak Use FT_Done_MM_Var if available Fix undefined-behavior signed shifts Olivier Crête (1): Fix cross-compilation by passing CPPFLAGS to CPP Tom Anderson (1): Allow overriding symbol visibility. 2.12.92 (2.13 RC2) Akira TAGOH (13): cleanup files Update .uuid only when -r is given but not -f. Returns false if key is already available in the table Add missing doc of FcDirCacheCreateUUID Replace uuid in the table properly when -r Add a test case for uuid creation Do not update mtime with creating .uuid Disable uuid related code on Win32 Try to get current instance of FcConfig as far as possible do not check the existence of itstool on win32 Fix the mis-ordering of ruleset evaluation in a file with include element Fix compiler warnings Add FcReadLink to wrap up readlink impl. Alexander Larsson (1): fchash: Fix replace Behdad Esfahbod (7): Don't crash Remove a debug abort() Minor Set font-variations settings for standard axes in variable fonts Let pattern FC_FONT_VARIATIONS override standard axis variations Put back accidentally removed code Add FcWeightTo/FromOpenTypeDouble() 2.12.91 (2.13 RC1) Akira TAGOH (37): und_zsye.orth: polish to get for NotoEmoji-Regular.ttf Revert "Keep the same behavior to the return value of FcConfigParseAndLoad" Fix again to keep the same behavior to the return value of FcConfigParseAndLoad cleanup Fix a compiler warning Update libtool revision Bump version to 2.12.6 doc: trivial update Add the ruleset description support workaround to avoid modifying by gettextize missing an open parenthesis another workaround to avoid modifying by gettextize... Validate cache more carefully Allow autoreconf through autopoint for gettext things Correct debugging messages to load/scan config Add the check of PCF_CONFIG_OPTION_LONG_FAMILY_NAMES back Use uuid-based cache filename if uuid is assigned to dirs Add new API to find out a font from current search path Replace the font path in FcPattern to what it is actually located. Replace the original path to the new one Replace the path of subdirs in caches as well Don't call FcStat when the alias has already been added Destroy the alias and UUID tables when all of caches is unloaded cleanup abstract hash table functions update Fix memory leak Fix a typo Don't call FcStat when the alias has already been added Add a testcase for bind-mounted cachedir cleanup Use smaller prime for hash size Fix the testcase for env not enabled PCF_CONFIG_OPTION_LONG_FAMILY_NAMES in freetype thread-safe functions in fchash.c Fix distcheck error Fix "make check" fail again Bump the libtool revision Alban Browaeys (1): Fixes cleanup Alexander Kanavin (1): src/fcxml.c: avoid double free() of filename Bastien Nocera (1): conf: Prefer system emoji fonts to third-party ones Behdad Esfahbod (76): Minor Remove stray printf() [fc-query] Fix linking order Instead of loading glyphs (with FreeType), just check loca table Don't even check loca for glyph outline detection Check for non-empty outline for U+0000..U+001F Add back code for choosing strike, and cleanup Minor: adjust debug output Remove unnecessary check Remove a few unused blanks parameters Remove check that cannot fail Remove use of psnames for charset construction Remove unused variable Remove fc-glyphname Remove blanks facility from the library Remove blanks support from fc-scan Mark more parameters FC_UNUSED Move variables to narrower scope and indent Remove unneeded check Use multiplication instead of division Use inline functions instead of macros for a couple of things Simplify advance-width calculations Inline FcFreeTypeCheckGlyph() Call FT_Get_Advance() only as long as we need to determine font width type Minor Update documentation for removal of blanks Merge branch 'faster' Add FcFreeTypeQueryAll() Document FcFreeTypeQueryAll() Accept NULL in for spacing in FcFreeTypeCharSetAndSpacing() Remove FcCompareSize() Rename FcCompareSizeRange() to FcCompareRange() Rewrite FcCompareRange() In FcSubstituteDefault(), handle size range Check instance-index before accessing array Indent [varfonts] Add FC_FONT_VARIATIONS [varfonts] Add FC_VARIABLE [varfonts] Change id argument in FcFreeTypeQuery* to unsigned int Print ranges as closed as opposed to half-open [varfonts] Change FC_WEIGHT and FC_WIDTH into ranges [varfonts] Query varfonts if id >> 16 == 0x8000 Fix instance-num handling in collections [varfonts] Query variable font in FcFreeTypeQueryAll() [varfonts] Fetch optical-size for named instances In RenderPrepare(), handle ranges smartly [fc-query] Remove --ignore-blanks / -b [fc-match/fc-list/fc-query/fc-scan] Add --brief that is like --verbose without charset Add separate match compare function for size Fix range comparision operators implementation Adjust emboldening logic [varfonts] Map from OpenType to Fontconfig weight values Add FcDontCare value to FcBool Implement more config bool operations for boolean types Fix possible div-by-zero [varfonts] Use fvar data even if there's no variation in it Minor Revert "[varfonts] Use fvar data even if there's no variation in it" [varfonts] Minor [varfonts] Comment [varfonts] Don't set style for variable-font pattern [varfonts] Skip named-instance that is equivalent to base font [varfonts] Do not set postscriptname for varfont pattern [varfonts] Don't reopen face for each named instance Separate charset and spacing code [varfonts] Reuse charset for named instances Move whitespace-trimming code to apply to all name-table strings Fix whitespace-trimming loop and empty strings... Whitespace Don't convert nameds to UTF-8 unless we are going to use them Simplify name-table platform mathcing logic Use binary-search for finding name table entries [varfonts] Share lang across named-instances Merge branch 'varfonts2' Require freetype >= 2.8.1 Remove assert David Kaspar [Dee'Kej] (1): conf.d: Drop aliases for (URW)++ fonts Florian Müllner (1): build: Remove references to deleted file 2.12.6 Akira TAGOH (4): und_zsye.orth: polish to get for NotoEmoji-Regular.ttf Revert "Keep the same behavior to the return value of FcConfigParseAndLoad" Fix again to keep the same behavior to the return value of FcConfigParseAndLoad Update libtool revision Behdad Esfahbod (2): Minor [fc-query] Fix linking order David Kaspar [Dee'Kej] (1): conf.d: Drop aliases for (URW)++ fonts Florian Müllner (1): build: Remove references to deleted file 2.12.5 Akira TAGOH (17): Add FcPatternGetWithBinding() to obtain the binding type of the value in FcPattern. Add FcConfigParseAndLoadFromMemory() to load a configuration from memory. Bug 101726 - Sans config pulls in Microsoft Serifed font Fix gcc warnings with enabling libxml2 Add und-zsye.orth to support emoji in lang Add more code points to und-zsye.orth Keep the same behavior to the return value of FcConfigParseAndLoad Do not ship fcobjshash.gperf in archive Accept 4 digit script tag in FcLangNormalize(). Fix to work the debugging option on fc-validate Add und_zmth.orth to support Math in lang Polish und_zmth.orth for Libertinus Math Polish und_zmth.orth more for Cambria Math and Minion Math Update similar to emoji's fc-blanks: fall back to the static data available in repo if downloaded data is corrupted Update docs Update libtool versioning Behdad Esfahbod (14): Pass --pic to gperf Add generic family matching for "emoji" and "math" [fc-query] Support listing named instances Add Twitter Color Emoji Add EmojiOne Mozilla font [fc-lang] Allow using ".." instead of "-" in ranges Minor Remove unneeded codepoints Adjust color emoji config some more Ignore 'und-' prefix for in FcLangCompare Minor Fix sign-difference compare warning Fix warning Fix weight mapping 2.12.4 Akira TAGOH (5): Force regenerate fcobjshash.h when updating Makefile Fix the build failure when srcdir != builddir and have gperf 3.1 or later installed Add a testcase for Bug#131804 Update libtool revision Fix distcheck error Florent Rougon (6): FcCharSetHash(): use the 'numbers' values to compute the hash fc-lang: gracefully handle the case where the last language initial is < 'z' Fix an off-by-one error in FcLangSetIndex() Fix erroneous test on language id in FcLangSetPromote() FcLangSetCompare(): fix bug when two charsets come from different "buckets" FcCharSetFreezeOrig(), FcCharSetFindFrozen(): use all buckets of freezer->orig_hash_table Helmut Grohne (1): fix cross compilation Jan Alexander Steffens (heftig) (1): Fix testing PCF_CONFIG_OPTION_LONG_FAMILY_NAMES (CFLAGS need to be right) Josselin Mouette (1): Treat C.UTF-8 and C.utf8 locales as built in the C library. Masamichi Hosoda (1): Bug 99360 - Fix cache file update on MinGW 2.12.3 Akira TAGOH (1): Fix make check fail with freetype-2.7.1 and 2.8 with PCF_CONFIG_OPTION_LONG_FAMILY_NAMES enabled. 2.12.2 Akira TAGOH (8): Don't call perror() if no changes happens in errno Fix FcCacheOffsetsValid() Fix the build issue with gperf 3.1 Fix the build issue on GNU/Hurd Update a bit for the changes in FreeType 2.7.1 Add the description of FC_LANG envvar to the doc Bug 101202 - fontconfig FTBFS if docbook-utils is installed Update libtool revision Alan Coopersmith (1): Correct cache version info in doc/fontconfig-user.sgml Khem Raj (1): Avoid conflicts with integer width macros from TS 18661-1:2014 Masamichi Hosoda (2): Fix PostScript font alias name Update aliases for URW June 2016 2.12.1 Akira TAGOH (6): Add --with-default-hinting to configure Update CaseFolding.txt to Unicode 9.0 Check python installed in autogen.sh Fix some errors related to python3 Bug 96676 - Check range of FcWeightFromOpenType argument Update libtool revision Tobias Stoeckmann (1): Properly validate offsets in cache files. 2.12 Akira TAGOH (8): Modernize fc-blanks.py Update URL Bug 95477 - FcAtomicLock fails when SELinux denies link() syscall with EACCES 45-latin.conf: Add some Windows fonts to categorize them properly Correct one for the previous change Bug 95481 - Build fails on Android due to broken lconv struct Add the static raw data to generate fcblanks.h Remove unused code Erik de Castro Lopo (1): Fix a couple of minor memory leaks Petr Filipsky (1): Fix memory leak in FcDirCacheLock 2.11.95 (2.12 RC5) Akira TAGOH (22): Add one more debugging option to see transformation on font-matching Fix a crash when no objects are available after filtering No need to be public mark as private at this moment Don't return FcFalse even when no fonts dirs is configured Add a warning for blank in fonts.conf Fix a memory leak in FcFreeTypeQueryFace Update CaseFolding.txt to Unicode 8.0 Bug 90867 - Memory Leak during error case in fccharset Fix the broken cache more. Fail on make runtime as needed instead of configure if no python installed Use long long to see the same size between LP64 and LLP64 Fix build issue on MinGW Use int64_t instead of long long Fix compiler warnings on MinGW Fix assertion on 32bit arch remomve unnecessary code Bug 93075 - Possible fix for make check failure on msys/MinGW... Avoid an error message on testing when no fonts.conf installed Add hintstyle templates and make hintslight default Revert "Workaround another race condition issue" Update libtool revision Behdad Esfahbod (6): Revert changes made to FcConfigAppFontAddDir() recently Call FcFreeTypeQueryFace() from fcdir.c, instead of FcFreeTypeQuery() [GX] Support instance weight, width, and style name [GX] Enumerate all named-instances in TrueType GX fonts Improve OpenType to Fontconfig weight mapping [GX] Improve weight mapping Patrick Haller (1): Optimizations in FcStrSet 2.11.94 (2.12 RC4) Akira TAGOH (16): Remove the dead code Bug 89617 - FcConfigAppFontAddFile() returns false on any font file Fix unknown attribute in Win32 Fix SIGFPE Fix a typo for the latest cache version Fix a typo in fontconfig-user.sgml Drop unmaintained code Observe blanks to compute correct languages in fc-query/fc-scan Add missing description for usage Make FC_SCALE deprecated Bug 90148 - Don't warn if cachedir isn't specified Fix memory leaks after FcFini() Fix a typo Fix a crash Detect the overflow for the object ID Revert the previous change Behdad Esfahbod (11): Fix bitmap scaling Add su[pport for symbol fonts Write ranges using a [start finish) format Only set FC_SIZE for scalable fonts if OS/2 version 5 is present Add bitmap-only font size as Double, not Range Accept Integer for FC_SIZE Don't set FC_SIZE for bitmap fonts Fix compiler warnings Simplify FcRange Reduce number of places that cache version is specified to 1 Bump cache version number to 6, because of recent FcRange changes Руслан Ижбулатов (1): W32: Support cache paths relative to the root directory 2.11.93 (2.12 RC3) Akira TAGOH (18): Fix a typo in docs Add pkg.m4 to git Fix a build fail on some non-POSIX platforms ifdef'd the unnecessary code for win32 Fix pointer cast warning on win32 filter can be null Copy the real size of struct dirent Rework again to copy the struct dirent Hardcode the blanks in the library Update the script to recognize the escaped space Fix a build issue when $(srcdir) != $(builddir) Don't add FC_LANG when it has "und" Fix the array allocation Improve the performance on searching blanks Fix a segfault when OOM happened. Fix a bug in the previous change forFcBlanksIsMember() Fix an infinite loop in FcBlanksIsMember() Fix a trivial bug for dist Alan Coopersmith (1): Fix configure to work with Solaris Studio compilers Behdad Esfahbod (3): Fix symbol cmap handling Remove dead code after previous commit Simplify some more Michael Haubenwallner (1): Ensure config.h is included first, bug#89336. 2.11.92 (2.12 RC2) Akira TAGOH (1): Add missing docs 2.11.91 (2.12 RC1) Akira TAGOH (28): Bug 71287 - size specific design selection support in OS/2 table version 5 Fix a build issue with freetype <2.5.1 Fix missing docs Fix a typo Fix fc-cache fail with -r Rebase ja.orth against Joyo kanji characters Allow the modification on FcTypeVoid with FcTypeLangSet and FcTypeCharSet Workaround another race condition issue Read the config files and fonts on the sysroot when --sysroot is given to fc-cache Fix a segfault Update CaseFolding.txt to Unicode 7.0 Don't read/write from/to the XDG dirs if the home directory is disabled Rework for 5004e8e01f5de30ad01904e57ea0eda006ab3a0c Fix a crash when no sysroot is given and failed to load the default fonts.conf Fix a gcc warning Don't add duplicate lang fallback to the another method to lock when link() failed Increase the refcount in FcConfigSetCurrent() Fix the memory leak in fc-cat Note FcConfigSetCurrent() increases the refcount in document Add FcRangeGetDouble() Revert "Bug 73291 - poppler does not show fl ligature" Update aliases for new URW fonts Returns False if no fonts found fc-cache: make a fail if no fonts processed on a given path fc-cache: Add an option to raise an error if no fonts found Bump the cache version to 5 Fix a typo Behdad Esfahbod (39): Remove unused code Simplify hash code Further simplify hash code Rewrite hashing to use FT_Stream directly Allow passing NULL for file to FcFreeTypeQueryFace() [ko.orth] Remove U+3164 HANGUL FILLER Deprecate FC_HASH and don't compute it Remove unused FcHash code now that FC_HASH is deprecated Update list of blanks to Unicode 6.3.0 Update blanks to Unicode 7.0 Change charset parse/unparse format to be human readable Minor Fix charset unparse after recent changes Comments Remove HASH from matching priorities Fixup previous commit Update mingw32 MemoryBarrier from HarfBuzz More mingw32 MemoryBarrier() fixup Symlinks fix for DESTDIR Revert "Symlinks fix for DESTDIR" Call FcInitDebug from FcFreeTypeQueryFace Decode MacRoman encoding in name table without iconv Ouch, fix buffer Use lang=und instead of lang=xx for "undetermined" Remove unused regex code Improve / cleanup namelang matching Add FC_WEIGHT_DEMILIGHT Change DemiLight from 65 to 55 Linearly interpolate weight values Export recently added API Remove unneeded FcPublic Fix assertion failure If OS/2 table says weight is 1 to 9, multiply by 100 Trebuchet MS is a sans-serif font, not serif Fix previous commit Revert "[fcmatch] When matching, reserve score 0 for when elements don't exist" Fix buffer overflow in copying PS name Add FC_COLOR Treat color fonts as scalable Nick Alcock (1): Generate documentation for FcWeight* functions. 2.11.1 Akira TAGOH (31): do not build test-migration for Win32 Fix build issue on Debian/kFreeBSD 7.0 Update ax_pthread.m4 to the latest version Fix the dynamic loading issue on NetBSD Use stat() if there are no d_type in struct dirent Fix a build issue on Solaris 10 Change the default weight on match to FC_WEIGHT_NORMAL Warn if no nor elements in Correct DTD Re-scan font directories only when it contains subdirs Fix typo Bug 72086 - Check for gperf in autogen.sh Simplify to validate the availability of posix_fadvise Simplify to validate the availability of scandir Fix a typo Fix a build issue on platforms where doesn't support readlink() Improve the performance issue on rescanning directories Bug 73686 - confdir is not set correctly in fontconfig.pc Update zh_hk.orth clean up the unused files Add missing license headers Update the use of autotools' macro Fix a crash issue when empty strings are set to the BDF properties Add a doc for FcDirCacheRescan Add missing #include in fcstat.c Fix incompatible API on AIX with random_r and initstate_r Fallback to lstat() in case the filesystem doesn't support d_type in struct dirent Update doc to include the version info of `since when' Bug 73291 - poppler does not show fl ligature Add README describes the criteria to add/modify the orthography files Fix autoconf warning, warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS Alan Coopersmith (3): Leave room for null terminators in arrays Avoid memory leak when NULL path passed to FcStrBuildFilename Avoid null pointer dereference in FcNameParse if malloc fails Behdad Esfahbod (1): Bug 72380 - Never drop first font when trimming Frederic Crozat (2): Fix inversion between Tinos and Cousine in the comment Add metric aliases for additional Google ChromeOS fonts Jehan (1): Defaulting to LOCAL_APPDATA_FONTCONFIG_CACHE for Win32 build Ross Burton (1): fc-cache: --sysroot option takes an argument 2.11 Akira TAGOH (15): Do not create a config dir for migration when no config files nor dirs Add a test case of the migration for config place Fix memory leaks in FcFreeTypeQueryFace Bug 68955 - Deprecate / remove FC_RASTERIZER Copy all values from the font to the pattern if the pattern doesn't have the element Fix a crash when FcPattern is set to null on FcFontSetList() and FcFontList() Add the description of -q option to the man page avoid reading config.h twice clean up Add the relative path for to fonts.conf if the parent path is same to fonts.conf Workaround the race condition issue on updating cache exit with the error code when FcNameParse() failed Add missing doc for FcStrListFirst and fix a typo Bump libtool revision Update CaseFolding.txt to Unicode 6.3 Jan Alexander Steffens (heftig) (1): Further changes to 30-metric-aliases.conf W. Trevor King (1): doc/fccharset.fncs: Describe the map format in more detail 2.10.95 (2.11 RC5) Akira TAGOH (2): Fix a typo Fix a crash 2.10.94 (2.11 RC4) Akira TAGOH (25): Bug 64906 - FcNameParse() should ignore leading whitespace in parameters Fix a comparison of constant warning with clang Fix a shift count overflow on 32bit box Fix a incompatible pointer warning on NetBSD Add FcTypeUnknown to FcType to avoid comparison of constant -1 Fix the behavior of intermixed tests end edits in match Ignore scandir() check on mingw Use INT_MAX instead of unreliable hardcoding value Add FC_UNUSED to FC_ASSERT_STATIC macro to avoid compiler warning Rework to apply the intermixed test and edit elements in one-pass trivial code optimization Correct fontconfig.pc to add certain dependencies for build Correct fontconfig.pc to add certain dependencies for static build Fix wrong edit position Bug 67809 - Invalid read/write with valgrind when assigning something twice warn deprecated only when migration failed Bug 67845 - Match on FC_SCALABLE Bug 16818 - fontformat in match pattern is not respected? Bug 68340 - More metric compat fonts Bug 63399 - Add default aliases for Georgia, Garamond, Palatino Linotype, Trebuchet MS Fix a typo Fix a crash when non-builtin objects are edited Fix a wrong edit position when 'kind' is different Bug 68587 - copy qu.orth to quz.orth Add quz.orth to Makefile.am Behdad Esfahbod (2): Minor Fix assertion 2.10.93 (2.11 RC3) Akira TAGOH (10): Bug 62980 - matching native fonts with even :lang=en Ensure closing fp on error Obtain fonts data via FT_Face instead of opening a file directly Revert the previous change and rework to not export freetype API outside fcfreetype.c documented FC_HASH and FC_POSTSCRIPT_NAME Bug 63329 - make check fails: .. contents:: :depth: 2 Use the glob matching for filename Bug 63452 - conf.d/README outdated Fix missing OSAtomicCompareAndSwapPtrBarrier() on Mac OS X 10.4 Bug 63922 - FcFreeTypeQueryFace fails on postscripts fonts loaded from memory Sebastian Freundt (1): build-chain, replace INCLUDES directive by AM_CPPFLAGS 2.10.92 (2.11 RC2) Akira TAGOH (33): Fix the build fail on MinGW Bug 50497 - RFE: Add OpenType feature tags support Improve FcGetPrgname() to work on BSD Better fix for 2fe5ddfd Add missing file descriptor to F_DUPFD_CLOEXEC Fix mkstemp absence for some platform Fix installation on MinGW32 Add another approach to FC_PRGNAME for Solaris 10 or before remove the unnecessary code Bug 59385 - Do the right thing for intermixed edit and test elements Bug 23757 - Add mode="delete" to Modernize configure.ac Use AM_MISSING_PROG instead of hardcoding missing Revert "test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT" Use AM_MISSING_PROG instead of hardcoding missing Bug 50733 - Add font-file hash? Bug 60312 - DIST_SUBDIRS should never appear in a conditional Update _FcMatchers definition logic Bump the cache version to 4 Add Culmus foundry to the vendor list Bug 60748 - broken conf.d/10-autohint.conf and conf.d/10-unhinted.conf Bug 60783 - Add Liberation Sans Narrow to 30-metric-aliases.conf Fix a typo Fix a crash when the object is non-builtin object Fix broken sort order with FcFontSort() Fix a memory leak Bug 59456 - Adding a --sysroot like option to fc-cache Do not copy FC_*LANG_OBJECT even if it's not available on the pattern Fix a SIGSEGV on FcPatternGet* with NULL pattern Bug 38737 - Wishlist: support FC_POSTSCRIPT_NAME Minor cleanup Bump libtool revision Minor fix Behdad Esfahbod (12): Resepct $NOCONFIGURE Ensure we find the uninstalled fontconfig header Copy all values from pattern to font if the font doesn't have the element Minor Bug 59379 - FC_PRGNAME Remove unused checks for common functions Minor Fix fc-cache crash caused by looking up NULL object incorrectly Fix FC_PRGNAME default Fix readlink failure Accept digits as part of OpenType script tags Fix crash with FcConfigSetCurrent(NULL) Christoph J. Thompson (1): Use the PKG_INSTALLDIR macro. Colin Walters (1): build: Only use PKG_INSTALLDIR if available Quentin Glidic (2): test: Use SH_LOG_COMPILER and AM_TESTS_ENVIRONMENT Use LOG_COMPILER and AM_TESTS_ENVIRONMENT 2.10.91 (2.11 RC1) Akira TAGOH (19): Fix a potability issue about stdint.h Fix build issues on clean tree Do not show the deprecation warning if it is a symlink Fix a typo Fix the wrong estimation for the memory usage information in fontconfig Remove the duplicate null-check Remove the dead code clean up Fix a typo that accessing to the out of array Fix a memory leak Check the system font to be initialized Missing header file for _mkdir declaration Clean up the unused variable Bug 47705 - Using O_CLOEXEC missing header file to declare _mkdir Fix a build fail on mingw Fix a typo in the manpages template Bug 29312 - RFE: feature to indicate which characters are missing to satisfy the language support Update the date in README properly Behdad Esfahbod (73): Fix typo Parse matrices of expressions Fix compiler warnings Fix unused-parameter warnings Fix more warnings Fix sign-compare warnings Fix warning Fix more warnings Fixup from 4f6767470f52b287a2923e7e6d8de5fae1993f67 Remove memory accounting and reporting Allow target="font/pattern/default" in elements Don't warn if an unknown element is used in an expression Unbreak build when FC_ARCHITECTURE is defined Remove unneeded stuff Enable fcarch assert checks even when FC_ARCHITECTURE is explicitly given Make tests run on Windows Initialize matrix during name parsing Adjust docs for recent changes Warn if appears in Make FC_DBG_OBJTYPES debug messages into warnings Refuse to set value to unsupported types during config too Add NULL check Don't crash in FcPatternDestroy with NULL pattern Don't crash in FcPatternFormat() with NULL pattern Minor Whitespace Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants Use a static perfect hash table for object-name lookup Switch .gitignore to git.mk Remove shared-str pool Fix build stuff Add build stuff for threadsafety primitives Add thread-safety primitives Make refcounts, patterns, charsets, strings, and FcLang thread-safe Make FcGetDefaultLang and FcGetDefaultLangs thread-safe Make FcInitDebug() idempotent Make FcDefaultFini() threadsafe Refactor; contain default config in fccfg.c Minor Make default-FcConfig threadsafe Minor Make FcCacheIsMmapSafe() threadsafe Minor Make cache refcounting threadsafe Add a big cache lock Make random-state initialization threadsafe Make cache hash threadsafe Make FcDirCacheDispose() threadsafe Make fcobjs.c thread-safe Warn about undefined/invalid attributes during config parsing Fixup fcobjs.c Remove FcSharedStr* Fix compiler warnings Minor Fix build and warnings on win32 Use CC_FOR_BUILD to generate source files Fix more warnings. Trying to fix distcheck Fix build around true/false Work around Sun CPP Really fix cross-compiling and building of tools this time Second try to make Sun CPP happy Ugh, add Tools.mk Minor Don't use blanks for fc-query Remove FcInit() calls from tools Add 10-scale-bitmap-fonts.conf and enable by default Oops, add the actual file Fix pthreads setup Fix memory corruption! Add pthread test Add atomic ops for Solaris Make linker happy Jon TURNEY (1): Fix build when srcdir != builddir 2.10.2 Akira TAGOH (13): Bug 53585 - Two highly-visible typos in src/fcxml.c Fix for libtoolize's warnings Bug 54138 - X_OK permission is invalid for win32 access(..) calls Bug 52573 - patch required to build 2.10.x with oldish GNU C library headers deal with warnings as errors for the previous change Fix wrongly squashing for the network path on Win32. Fix syntax errors in fonts.dtd. autogen.sh: Add -I option to tell aclocal a place for external m4 files Use automake variable instead of cleaning files in clean-local Bug 56531 - autogen.sh fails due to missing 'm4' directory Bug 57114 - regression on FcFontMatch with namelang Update CaseFolding.txt to Unicode 6.2 Bug 57286 - Remove UnBatang and Baekmuk Batang from monospace in 65-nonlatin.conf Behdad Esfahbod (1): Fix N'ko orthography Jeremy Huddleston Sequoia (1): Remove _CONFIG_FIXUPS_H_ guards, so multiple includes of "config.h" result in the correct values 2.10.1 Akira TAGOH (2): Fix a typo in fontconfig.pc Install config files first 2.10.0 Akira TAGOH (5): Bug 34266 - configs silently ignored if libxml2 doesn't support SAX1 interface Update CaseFolding.txt to Unicode 6.1 Fix a build fail with gcc 2.95, not supporting the flexible array members. Bump libtool revision Update INSTALL 2.9.92 (2.10 RC2) Akira TAGOH (9): Bug 50835 - Deprecate FC_GLOBAL_ADVANCE Fix a typo and build fail. Fix a build fail on MINGW Fix the fail of make install with --disable-shared on Win32 clean up the lock file properly on even hardlink-not-supported filesystem. Rename configure.in to configure.ac Bug 18726 - RFE: help write locale-specific tests Bump libtool revision Update INSTALL Marius Tolzmann (2): Fix newline in warning about deprecated config includes Fix warning about deprecated, non-existent config includes 2.9.91 (2.10 RC1) Akira TAGOH (60): [doc] Update the path for cache files and the version. [doc] Update for cachedir. Revert "Fix a build fail on some environment." Revert "Fix a build fail on some environment" Fix a build issue due to the use of non-portable variables Get rid of the prerequisites from the sufix rules Bug 39914 - Please tag the cache directory with CACHEDIR.TAG fc-cache: improvement of the fix for Bug#39914. fcmatch: Set FcResultMatch at the end if the return value is valid. Bug 47703 - SimSun default family Bug 17722 - Don't overwrite user's configurations in default config Fix a memory leak in FcDirScanConfig() Bug 17832 - Memory leaks due to FcStrStaticName use for external patterns fcpat: Increase the number of buckets in the shared string hash table Fix the hardcoded cache file suffix Move workaround macros for fat binaries into the separate header file Bug 48020 - Fix for src/makealias on Solaris 10 Bug 24729 - [ne_NP] Fix ortho file doc: Add contains and not_contains operators and elements Use AC_HELP_STRING instead of formatting manually Use pkgconfig to check builddeps Bug 29341 - Make some fontconfig paths configurable Bug 22862 - ignores s Bug 26830 - Add search for libiconv non-default directory Bug 28491 - Allow matching on FC_FILE Bug 48573 - platform without regex do not have also REG_XXX defines Bug 27526 - Compatibility fix for old windows sytems Add --with-expat, --with-expat-includes and --with-expat-lib back. doc: Fix a typo of the environment variable name. Bug 25151 - Move cleanCacheDirectory() from fc-cache.c into Rework to avoid adding the unexpected value to ICONV_CFLAGS and ICONV_LIBS Fix a build issue again when no regex functions available C++11 requires a space between literal and identifier Bug 47721 - Add ChromeOS fonts to 30-metric-aliases.conf Create CACHEDIR.TAG when fc-cache is run or only when the cache directory is created at the runtime. Add --enable-iconv option to configure Bug 27765 - FcMatch() returns style in wrong language Disable iconv support anyway... Bug 39278 - make usage of mmap optional Output more verbose debugging log to show where to insert the element into the value list fonts.conf: keeps same binding for alternatives fcarch.c: get rid of the duplicate definition of FC_MAX Bug 19128 - Handling whitespace in aliases Bug 20411 - fontconfig doesn't match FreeDesktop directories specs Correct the example Bug 33644 - Fontconfig doesn't match correctly in fcatomic: fallback to create a directory with FcAtomicLock Move statfs/statvfs wrapper to fcstat.c and add a test for the mtime broken fs Fix the build fail on Solaris Fix a typo and polish the previous change Fix the wrong estimation for the memory usage information in fontconfig Bug 32853 - Export API to get the default language fcdefault: fallback if the environment variables are empty Add the default language to the pattern prior to do build the substitution fcdefault: no need to set FC_LANG in FcDefaultSubstitute() anymore fcdefault: Add the lang object at FcConfigSubstituteWithPat() only when kind is FcMatchPattern Bug 50525 - superfluous whitespace in the style Bump libtool revision doc: Fix distcheck error again... Generate bzip2-compressed tarball too Jeremy Huddleston (1): fcarch: Check for architecture signature at compile time rather than configure time Keith Packard (3): Use posix_fadvise to speed startup Extra ',' in AC_ARG_WITH(arch causes arch to never be autodetected Deal with architectures where ALIGNOF_DOUBLE < 4 Mark Brand (1): fix building for WIN32 Mikhail Gusarov (2): Move FcStat to separate compilation unit Fix cache aging for fonts on FAT filesystem under Linux 2.9 Akira TAGOH (28): Add charset editing feature. add some document for range and charset. Add the range support in blank element Add editing langset feature. add some documents Bug 24744 - No n'ko orthography Remove the unnecessary comment in ks.orth Bug 32965 - Asturian (ast-ES) language matching missing ḷḷḥ Add a missing file Bug 35517 - Remove Apple Roman cmap support Bug 40452 - Running 'fc-match --all' core dumps when no fonts are installed Get rid of the unexpected family name Bug 44826 - must contain only a single Bug 46169 - Pointer error in FcConfigGlobMatch Do not update stream->pos when seeking is failed. Bug 27385 - lcdfilter settings for freetype-2.3.12 not available in fontconfig-2.8.0 Add brx.orth and sat.orth Bug 41694 - FcCache functions have random-number-generator side effects Bug 23336 - unable to display bitmap-only (SFNT) TrueType or OpenType Check null value for given object to avoid possibly segfaulting Bug 19128 - Handling whitespace in aliases Fix distcheck error Update the version info Update to detect the uncommited changes properly Fix a build issue Fix a build fail on some environment Fix a build fail on some environment. Get rid of $< from Makefile.am Alan Coopersmith (1): Fix compiler warnings Behdad Esfahbod (54): [fc-cache] Document -r argument in man page [doc] Fix typo Bug 25508 configure assumes bash > 2.0 is on system Update INSTALL Add note about autogen.sh to INSTALL Fix doc typo More doc typo fixes Bug 18886 installation crashes if fontconfig already installed Bug 26157 Solaris/Sun C 5.8: compilation of 2.8.0 and 2.7.3 fails Bug 25152 Don't sleep(2) if all caches were uptodate Don't include unistd.h in fontconfig.h Accept TT_PLATFORM_MICROSOFT, TT_MS_ID_SYMBOL_CS from name table Whitespace More whitespace Remove all training whitespaces Fix comment Add fc-pattern cmdline tool Bug 29338 - fc-pattern.sgml, open para tag Add comments Bug 29995 - fc-cat does not invoke FcFini() Add new public API: FcCharSetDelChar() [fc-lang] Support excluding characters Bug 24729 - [ne_NP] Fix ortho file Add more copyright owners Cleanup copyright notices to replace "Keith Packard" with "the author(s)" Fix returned value Bug 28958 - lang=en matches other langs Make most generated-files cross-compiling-safe Make fc-arch stuff cross-compiling-safe Bump version Allow editing charset and lang in target="scan" Add support for into the DTD Skip elements with begin > end Doc nit Fix assertion failure on le32d4 Remove AM_MAINTAINER_MODE Update CaseFolding.txt to Unicode 6.0 Remove --enable-maintainer-mode from autogen.sh Bug 20113 - Uighur (ug) orthography incomplete Bug 30566 - fcformat.c:interpret_enumerate() passes uninitialized idx to FcPatternGetLangSet() Mark constant strings as constant More doc typo fixes Always define FcStat as a function Fix warning Bug 35587 - Add padding to make valgrind and glibc not hate each other [.gitignore] Update Bug 36577 - Updating cache with no-bitmaps disables bitmap fonts... Bug 26718 - "fc-match sans file" doesn't work Switch fc-match to use FcPatternFormat() Switch fc-cat to use FcPatternFormat() Fix stupid bug in FcFontSort() Bug 41171 - Invalid use of memset Fix parallel build Add FcPublic to FcLangSetUnion and FcLangSetSubtract Brad Hards (1): Documentation fixes Jeremy Huddleston (2): fontconfig.pc: Add variables for confdir and cachedir fontconfig.pc.in: Add sysconfdir, localstatedir, and PACKAGE Jinkyu Yi (1): Bug 42423 - make default Korean font from Un to Nanum MINAMI Hirokazu (1): Bug 43406 - typo of Japanese font name in conf.d/65-nonlatin.conf Mike Frysinger (9): FcStrPlus: optimize a little delete unused variables FcStat: change to FcChar8 for first arg fc-cat: fix pointer warning FcName{,Get}Constant: constify string input fc-{list,match}: constify format string fix build warnings when using --with-arch FcObjectValidType: tweak -1 checking makealias: handle missing funcs better Parag Nemade (2): Bug 25651 - Add ortho file for locale brx_IN Bug 25650 - Add ortho file for locale sat_IN Pravin Satpute (4): Bug 27195 - need updates to ks.orth file Bug 43321 - Required corrections in urdu.orth file Bug 25653 - Add ortho file for locale doi_IN Bug 25652 - Add ortho file for locale mni_IN 2.8 Behdad Esfahbod (24): Clarify default confdir and cachedir better. Move FcAlign to fcint.h [fc-arch] Add FcAlign to arch signature [int] Define MIN/MAX/ABS macros Bump cache version up from 2 to 3 and fix FcLangSet caching/crash Remove unused macros [int] Remove fc_storage_type() in favor of direct access to v->type [int] Remove fc_value_* macros that did nothing other than renaming Enable automake silent rules [int] Remove more unused macros [xml] Remove unused code [arch] Try to ensure proper FcLangSet alignment in arch [lang] Fix serializing LangSet from older versions Make sure fclang.h and fcarch.h are built Remove bogus comment [fc-glyphname] Cleanup Makefile.am [src] Create fcglyphname.h automatically [fc-glyphname] Rename internal arrays to prefix with _fc_ Clean up Makefile's a bit [fc-glyphname] Remove Adobe glyphlist [fc-case] Update CaseFolding.txt to Unicode 5.2.0 [fc-arch] Beautify the arch template [fc-arch] Rename architecture names to better reflect what they are Bump libtool revision in preparation for release 2.7.3 Behdad Esfahbod (2): Use default config in FcFileScan() and FcDirScan() Bump libtool version in preparation for release Roozbeh Pournader (2): Correct Ewe (ee) orthography to use U+025B (bug #20711) Updated Arabic, Persian, and Urdu orthographies 2.7.2 Behdad Esfahbod (6): Improve charset printing [ja.orth] Comment out FULLWIDTH YEN SIGN (#22942) Bug 22037 - No Fonts installed on a default install on Windows Server 2003 Bug 23419 - "contains" expression seems not working on the fontconfig rule Revert "Fix FcNameUnparseLangSet()" and redo it Bump libtool version for release Tor Lillqvist (3): Fix MinGW compilation Fix heap corruption on Windows in FcEndElement() Use multi-byte codepage aware string function on Windows 2.7.1 Behdad Esfahbod (16): git-tag -s again Fix win32 build Replace spaces with tabs in conf files Remove unused ftglue code Add Inconsolata to monospace config (#22710) Fix leak with string VStack objects Improve libtool version parsing (#22122) Use GetSystemWindowsDirectory() instead of GetWindowsDirectory() (#22037) Remove unused macros Fix FcNameUnparseLangSet() Fix doc syntax (#22902) TT_MS_ID_UCS_4 is really UTF-16BE, not UTF-32 [doc] Add ~/fonts.conf.d to user docs Hardcode /etc/fonts instead of @CONFDIR@ in docs (#22911) Bump libtool versions that 2.7.0 (I forgot to do back then) Update .gitignore Karl Tomlinson (1): Don't change the order of names unnecessarily (#20128) 2.7 Alexey Khoroshilov (1): Use human-readable file names in the docs (bug #16278) Behdad Esfahbod (119): Avoid C99ism in Win32 code (#16651) [doc] Fix inaccuracy in FcFontRenderPrepare docs (#16985) When canonizing filenames, squash // and remove final / (#bug 16286) Add orth file for Maithili mai.orth (#15821) Replace RCS Id tags with the file name [doc] Fix signatures of FcPatternGetFTFace and FcPatternGetLangSet (#16272) Update Thai default families (#16223) Add ~/.fonts.conf.d to default config (#17100) [fc-match] Fix list of getopt options in --help Update man pages Add fc-query (#13019) Implement fc-list --verbose (#13015) [doc] Add const decorator for FcPatternDuplicate() Add FcPatternFilter() (#13016) [doc] Document that a zero rescanInterval disables automatic checks (#17103) Get rid of $Id$ tags [doc] Fix signature of FcConfigHome() Fix docs re 'orig' argument of FcPatternBuild and family Update sr.orth to actul subset of Cyrillic used by Serbian (#17208) Add Sindhi .orth file. (#17140) Add WenQuanYi fonts to default conf (#17262, from Mandriva) Handle -h and --help according to GNU Coding Standards (#17104) Document when config can be NULL (#17105) Add FcConfigReference() (#17124) Document how to free return value of FcNameUnparse() Don't leak FcValues string loaded through fcxml.c (#17661) Don't call FcPatternGetCharSet in FcSortWalk unless we need to (#17361) Fix two more doc typos [.gitignore] Update Cleanup symlinks in "make uninstall" (bug #18885) [fccache] Consistently use FcStat() over stat() (bug #18195) Consistently use FcStat() over stat() in all places Use __builtin_popcount() when available (bug #17592) Fix compile with old FreeType that doesn't have FT_Select_Size() (bug #17498) Implement fc-list --quiet ala grep (bug #17141) [65-fonts-persian.conf] Set foundry in target=scan instead of target=font Don't use identifier named complex Explicitly chmod() directories (bug #18934) Remove special-casing of FC_FILE in FcPatternPrint() [.gitignore] Update Implement FcPatternFormat and use it in cmdline tools (bug #17107) Fix comparison of family names to ignore leading space properly [fcmatch.c] Fix debug formatting [fcmatch] Use larger multipliers to enforce order [fcmatch] When matching, reserve score 0 for when elements don't exist [fcmatch] Move FcFontSetMatch() functionality into FcFontSetMatchInternal() [doc] Note that fontset returned by FcConfigGetFonts should not be modified Make FcCharSetMerge() public Don't use FcCharSetCopy in FcCharSetMerge Oops. Fix usage output. Revive FcConfigScan() (bug #17121) Add fc-scan too that runs FcFileScan/FcDirScan Oops, fix FcPatternFilter [fc-match] Accept list of elements like fc-list (bug #13017) Cleanup all manpage.* files [fcmatch] Fix crash when no fonts are available. [fcfreetype] Fix typo in GB2312 encoding name string (#19845) Add ICONV_LIBS to fontconfig.pc.in (#19606) [win32] Fix usage of GetFullPathName() [win32] Expand "APPSHAREFONTDIR" to ../share/fonts relative to binary location [win32] Do not remove leading '\\' such that network paths work [fccache] Make sure the cache is current when reusing from open caches Update Sinhala orthography (#19288) [cache] After writing cache to file, update the internal copy to reflect this Further update Sinhala orthography (#19288) [fcformat] Add support for width modifiers [fcformat] Refactor and restructure code for upcoming changes [fcformat] Add support for subexpressions [fcformat] Add element filtering and deletion [fcformat] Add conditionals [fcformat] Add simple converters [fcformat] Implement 'cescape', 'shescape', and 'xmlescape' converters [FcStrBuf] better handle malloc failure [fcformat] Add value-count syntax [fcformat] Implement 'delete', 'escape', and 'translate' filter functions [fcformat] Start adding builtins [fcformat] Refactor code to avoid malloc [fcformat] Add support for builtin formats [fcformat] Support indexing simple tags [fcformat] Support 'default value' for simple tags [fcformat] Implement array enumeration [fclang] Implement FcLangSetGetLangs() (#18846) [fcformat] Enumerate langsets like we do arrays of values [fcformat] Add a 'pkgkit' builtin that prints tags for font packages [fcformat] Add list of undocumented language features [fc-lang] Continue parsing after an "include" (#20179) Fix Fanti (fat) orth file (#20390) Fix Makefile's to not create target file in case of failure [fcstr.c] Embed a static 64-byte buffer in FcStrBuf [fcstr,fcxml] Don't copy FcStrBuf contents when we would free it soon [fcxml] Don't allocate attr array if there are no attributes [fcxml] Embed 8 static FcPStack objects in FcConfigParse [fcxml] Embed 64 static FcVStack objects in FcConfigParse [fcxml.c] Embed a static 64-byte attr buffer in FcPStack Call git tools using "git cmd" instead of "git-cmd" syntax Replace 'KEITH PACKARD' with 'THE AUTHOR(S)' in license text in all files [fcformat] Fix default-value handling Document FcPatternFormat() format [Makefile.am] Don't clean ChangeLog in distclean Revert "[conf] Disable hinting when emboldening (#19904)" (#20599) [fc-lang] Fix bug in country map generation [fcstr] Remove unused variable [fc-lang] Make LangSet representation in the cache files stable [fc-cache] Remove obsolete sentence from man page Detect TrueType Collections by checking the font data header Mark matchers array const (#21935) Use/prefer WWS family/style (name table id 21/22) Simplify FcValueSave() semantics Add XXX note about Unicode Plane 16 Always set *changed in FcCharsetMerge [charset] Grow internal FcCharset arrays exponentially Remove unused prototypes and function [xml] Centralize FcExpr allocation [xml] Mark more symbols static [xml] Allocate FcExpr's in a pool in FcConfig [xml] Intern more strings Bug 22154 -- fontconfig.pc doesn't include libxml2 link flags Fix distcheck Remove keithp's GPG key id Benjamin Close (1): Remove build manpage logfile if it exists Chris Wilson (1): Reduce number of allocations during FcSortWalk(). Dan Nicholson (1): Let make expand fc_cachedir/FC_CACHEDIR (bug #18675) Harald Fernengel (1): Don't use variables named 'bool' (bug #18851) Harshula Jayasuriya (1): Fix Sinhala coverage (bug #19288) Karl Tomlinson (1): Change FcCharSetMerge API Mike FABIAN (1): [conf] Disable hinting when emboldening (#19904) Peter (1): Make sure alias files are built first (bug 16464) Rahul Bhalerao (1): Add config for new Indic fonts (bug #17856) Roozbeh Pournader (60): Correct Sindhi orthography to use Arabic script (bug #17140) Remove Sinhala characters not in modern use (bug #19288) Add Filipino orth, alias Tagalog to Filipino (bug #19846) Split Mongolian orth to Mongolia and China (bug #19847) Fix doubly encoded UTF-8 in comments (bug #19848) Change Turkmen orth from Cyrillic to Latin (bug #19849) Rename Venda from "ven" to "ve" (bug #19852) Rename "ku" to "ku_am", add "ku_iq" (bug #19853). Add Kashubian (csb) orth file (bug #19866) Add Malay (ms) orthography (bug #19867) Add Kinyarwanda (rw) orthography (bug #19868) Add Upper Sorbian (hsb) orthography (bug #19870) Add Berber orthographies in Latin and Tifinagh scripts (bug #19881) Renamed az to az_az (bug #19889) Rename Igbo from "ibo" to "ig" (bug #19892) Remove punctuation symbols from Asturian orthography (bug #19893) Add Chhattisgarhi (hne) orthography (bug #19891) Use newly added Cyrillic letters for Kurdish (bug #20049) Add Kurdish in Turkey (ku_tr) orthography (bug #19891) Add Aragonese (an) orthography (bug #19891) Add Haitian Creole (ht) orthography (bug #19891) Ad Ganda (lg) orthography (bug #19891) Add Limburgan (li) orthography (bug #19891) Add Sardinian (sc) orthography (bug #19891) Add Sidamo (sid) and Wolaitta (wal) orthographies (bug #19891) Fix Bengali (bn) and Assamese (as) orthographies (bug #22924) Remove Euro Sign from all orthographies (bug #19865) Add Ottoman Turkish (ota) orthography (bug #20114) Divide Panjabi (pa) to that of Pakistan and India (bug #19890) Add Blin (byn) orthography (bug #19891) Add Papiamento (pap_aw, pap_an) orthographies (bug #19891) Add Crimean Tatar (crh) orthography (bug #19891) Switch Uzbek (uz) orthography to Latin (bug #19851) Update Azerbaijani in Latin (az_az) to present usage (bug #20173) Rename Avaric orthography from 'ava' to 'av' (bug #20174) Rename Bambara orthography from 'bam' to 'bm' (bug #20175) Rename Fulah orthography from 'ful' to 'ff' (bug #20177) Change Kashmiri (ks) orthography to Arabic script (bug #20200) Tighten Central Khmer (km) orthography (bug #20202) Remove digits and symbols from some Indic orthographies (bug #20204) Add Divehi (dv) orthography (bug #20207) Extend Crimean Tatar (crh) orthography (bug #19891) Update Serbo-Croatian (sh) orthography (bug #20368) Add Ewe (ee) orthography (bug #20386) Add Herero (hz) orthograhy (bug #20387) Add Akan (ak) and Fanti (fat) orthographies (bug #20390) Added Quechua (qu) orthography (bug #20392) Add Sango (sg) orthography (bug #20393) Add Tahitian (ty) orthography (bug #20391) Add Navajo (nv) orthography (bug #20395) Add Rundi (rn) orthography (bug #20398) Add Zhuang (za) orthography (bug #20399) Add orthographies for Oshiwambo languages (bug #20401) Add Shona (sn) orthography (bug #20394) Add Sichuan Yi (ii) orthography (bug #20402) Add Javanese (jv) orthography (bug #20403) Add Nauru (na) orthography (bug #20418) Add Kanuri (kr) orthography (bug #20438) Add Sundanese (su) orthography (bug #20440) Reorganize Panjabi/Punjabi and Lahnda orthographies (bug #19890) Serge van den Boom (1): Correctly handle mmap() failure (#21062) 2.6 2.5.93 (2.6 RC3) Alexey Khoroshilov (1): Fix FcStrDirname documentation. (bug 16068) Behdad Esfahbod (1): Persian conf update. (bug 16066). Evgeniy Stepanov (1): Fix index/offset for 'decorative' matcher. Bug 15890. Glen Low (1): Fix Win32 build error: install tries to run fc-cache locally (bug 15928). Keith Packard (8): Call FcFini to make memory debugging easier Fix a few memory tracking mistakes. Add extended, caps, dunhill style mappings. Freetype 2.3.5 (2007-jul-02) fixes indic font hinting. re-enable (bug 15822) Add a copy of dolt.m4 to acinclude.m4. Libs.private needs freetype libraries Oops. Fix for bug 15928 used wrong path for installed fc-cache. Ignore empty elements Neskie Manuel (1): Add Secwepemctsin Orthography. Bug 15996. Sayamindu Dasgupta (1): FcConfigUptoDate breaks if directory mtime is in the future. Bug 14424. 2.5.92 (2.6 RC2) Carlo Bramini (1): Add FreeType-dependent functions to fontconfig.def file. (bug 15415) Changwoo Ryu (1): Korean font in the default config - replacing baekmuk with un (bug 13569) Dennis Schridde (1): Proper config path for static libraries in win32 Eric Anholt (1): Fix build with !ENABLE_DOCS and no built manpages. Frederic Crozat (1): Merge some of Mandriva configuration into upstream configuration. Bug 13247 Keith Packard (11): Use DOLT if available Work around for bitmap-only TrueType fonts that are missing the glyf table. Remove size and dpi values from bitmap fonts. Bug 8765. Add some sample cursive and fantasy families. Add --all flag to fc-match to show the untrimmed list. Bug 13018. Remove doltcompile in distclean Use of ":=" in src/Makefile.am is unportable (bug 14420) Make fc-match behave better when style is unknown (bug 15332) Deal with libtool 2.2 which doesn't let us use LT_ variables. (bug 15692) Allow for RC versions in README update git ignore doltcompile Ryan Schmidt (1): fontconfig build fails if "head" is missing or unusable (bug 14304) Sylvain Pasche (1): Fontconfig options for freetype sub-pixel filter configuration 2.5.91 (2.6 RC1) Hongbo Zhao (1): Not_contain should use strstr, not strcmp on strings. (bug 13632) Keith Packard (11): Move conf.avail/README to conf.d/README (bug 13392) Fix OOM failure case in FcPStackPush. Remove freetype requirement for build-time applications. Include fcftaliastail.h so that the freetype funcs are exported. Eliminate references to freetype from utility Makefile.am's Distribute new fcftint.h file Create new-version.sh to help with releases, update INSTALL instructions Distribute khmer font aliases Add more files to .gitignore new-version.sh was mis-editing files git-tag requires space after -m flag 2.5 Keith Packard (4): Document several function return values (Bug 13145). Document that Match calls FcFontRenderPrepare (bug 13162). Document that FcConfigGetFonts returns the internal fontset (bug 13197) Revert "Remove fcprivate.h, move the remaining macros to fcint.h." Tor Lillqvist (1): Workaround for stat() brokenness in Microsoft's C library (bug 8526) 2.4.92 (2.5 RC2) Behdad Esfahbod (14): Make fc-match --sort call FcFontRenderPrepare. Port fonts-persian.conf to new alias syntax with binding="same" Fix trivial bugs in edit-sgml.c Add FcGetLangs() and FcLangGetCharSet(). Add/update config files from Fedora. Split 40-generic.conf into 40-nonlatin.conf and 45-latin.conf Use binding="same" in 30-urw-aliases.conf and remove duplicate entries. Remove redundant/obsolete comments from conf files. Remove 20-lohit-gujarati.conf. It's covered by 25-unhint-nonlatin.conf now. Oops, fix Makefile.am. Remove 25-unhint-nonlatin.conf from default configuration by not linking it. Fix documented conf-file naming format in README Remove list of available conf files from README. Simplify/improve 30-metric-aliases.conf Keith Packard (25): Also check configDirs mtimes in FcConfigUptoDate Respect "binding" attribute in entries. Correct documentation for FcAtomicLock (Bug 12947). Remove fcprivate.h, move the remaining macros to fcint.h. Correct documentation for FcConfigUptoDate (bug 12948). Document skipping of fonts from FcFileScan/FcDirScan. Make file_stat argument to FcDirCacheLoadFile optional. Clean up exported names in fontconfig.h. Track line numbers in sgml edit tool input. Typo error in function name: Inverval -> interval Don't check cache file time stamps when cleaning cache dir. Use FcLangDifferentTerritory instead of FcLangDifferentCountry. Verify documentation covers exposed symbols. Document previously undocumented functions. (bug 12963) Update documentation for FcStrCopyFilename (bug 12964). Update documentation for stale FcConfigGetConfig function. Have FcConfigSetCurrent accept the current configuration and simply return Remove references to FcConfigParse and FcConfigLoad. Replace incorrect documentation uses of 'char' with 'FcChar8' (bug 13002). Fix formatting syntax in doc/fccache.fncs Generate fccache.sgml, fcdircache.sgml and fclangset.sgml. Formatting syntax mistake in doc/fclangset.fncs. Link new function documentation into the fontconfig-devel.sgml Ignore new generated documentation Export FcConfig{G,S}etRescanInverval from .so, mark as deprecated. 2.4.91 (2.5 RC1) Behdad Esfahbod (1): Update CaseFolding.txt to Unicode 5.1.0 Dwayne Bailey (1): Add/fix *.orth files for South African languages Hideki Yamane (1): Handle Japanese fonts better. (debian bug #435971) Keith Packard (32): rehash increment could be zero, causing rehash infinite loop. Work around FreeType bug when glyph name buffer is too small. Free temporary string in FcDirCacheUnlink (Bug #11758) Fix ChangeLog generation to avoid circular make dependency Store font directory mtime in cache file. Comment about mmaping cache files was misleading. Make FC_FULLNAME include all fullname entries, elide nothing. [bug 12827] Remove unneeded call to access(2) in fc-cache. Improve verbose messages from fc-cache. Verbose message about cleaning directories was imprecise Don't use X_OK bit when checking for writable directories (bug 12438) Have fc-cache remove invalid cache files from cache directories. FcConfigParseAndLoad doc was missing the last param. Place language name in constant array instead of pointer. Must not insert cache into hash table before completely validating. Eliminate relocations for glyph name table. Eliminate relocations from FcCodePageRange structure (bug 10982). Leave generated headers out of distribution (bug 12734). Move elements to the end of fonts.conf. Add BRAILLE PATTERN BLANK to list of blank glyphs. Replace makealias pattern with something supported by POSIX grep (bug 11083) FcInit should return FcFalse when FcInitLoadConfigAndFonts fails. (bug 10976) There is no U+1257 (bug 10899). Spelling errors in documentation. (bug 10879). Oops. Left debugging printf in previous commit. Handle UltraBlack weight. Fix parallel build in fontconfig/docs (bug 10481). Distribute man source files for command line programs (bug 9678). Ensure weight/slant values present even when style is supplied (bug 9313). fontconfig needs configure option to use gnu iconv (bug 4083). Match 'ultra' on word boundaries to detect ultra bold fonts. (bug 2511) Build fix for Solaris 10 with GCC. Mike FABIAN (1): Avoid crashes if config files contain junk. Stephan Kulow (1): Make FcPatternDuplicate copy the binding instead of always using Strong. Tilman Sauerbeck (2): Store FcNoticeFoundries in read-only memory. Store FcVendorFoundries in read-only memory. 2.4.2 Han-Wen Nienhuys: FcStrCanonFileName buggy for mingw. (bug 8311) More fixes for Win32 building (bug 8311) Kean Johnston: Don't use varargs CPP macros in fccache.c. (bug 8733) Keith Packard: Remove documentation for non-existant FcConfigNormalizeFontDir. Build fontconfig.def from header files when needed. Detect and use available random number generator (bug 8308) Add sparc64 architecture string. FcStrCanonAbsoluteFilename should be static. Use explicit platform/nameid order when scanning ttf files. Warn (and recover) from config file without elements. Avoid writing uninitialized structure pad bytes to cache files. Fix grep pattern in makealias to work on non-Gnu grep (bug 8368). Add FcFreeTypeQueryFace external API. Bug #7311. Segfault scanning non-font files. Disallow scan edit of user vars. (#8767) Add space between type and formal in devel man pages (bug 8935) Mike FABIAN: Do not clean cache files for different architectures Peter Breitenlohner: A VPATH build of fontconfig-2.4.1 fails for various reasons. Bug 8933. Use instead of when documenting fonts.conf. Bug 8935. Fix fc-cat documentation (bug 8935). 2.4.1 Keith Packard: Update installation notes for 2.4 base. Add ppc64 signature. Bug 8227 Add signatures for m68k and mipsel (thanks debian buildd) Add warning flags to fc-cache build. Clean up warnings in fc-cache. Reimplement FcConfigAppFontAddDir; function was lost in 2.4.0. 2.4.0 David Turner: Replace character discovery loop with simpler, faster version. James Cloos: Move files from conf.d to conf.avail Standardize conf.avail number prefixing convention Support all five possibilities for sub-pixel Move user and local conf file loading into conf.avail files Number the remaining conf.avail files Update Makefile.am to match conf.avail changes Replace load of conf.d in fonts.conf.in Make room for chunks from fonts.conf in conf.avail Re-order old conf.d files Move some section from fonts.conf into conf.avail files Update Makefile.am files Make conf.avail and conf.d work Keith Packard: Create fc_cachedir at install time. Bug 8157. Reference patterns in FcCacheCopySet. Replace gnu-specific sed command with simple grep. Attempt to fix makealias usage for build on Mac OS X. Accept locale environment variables that do not contain territory. Merge branch 'jhcloos' Insert newly created caches into reference data structure. Add XML headers to new conf files. Move link make commands to conf.avail dir Rename conf.avail to conf.d Fix conf.d directory sorting. Include cachedir in fonts.dtd. Don't display tests for DESTDIR on make install. Split much of the configuration into separate files. Renumber files 2.3.97 Carl Worth: Rename FcPatternThawAll to FcPatternFini. Add a configuration file that disables hinting for the Lohit Gujarati font Keith Packard: Various GCC 4 cleanups for signed vs unsigned char Finish INSTALL changes. .gitignore ChangeLog Merge branch 'fc-2_4_branch' to master Remove all .cvsignore files Hide private functions in shared library. Export functionality for utilities. Hide FreeType glue code from library ABI. Can't typecheck values for objects with no known type. Leave cache files mapped permanently. Reference count cache objects. Make cache reference counting more efficient. Oops, fc-lang broke when I added cache referencing. Correct reference count when sharing cache file objects. Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven) Update architecture signatures for x86-64 and ppc. Parallel build fix for fcalias.h and fcaliastail.h Charset hashing depended on uniqueness of leaves. Patrick Lam: file Makefile.am was initially added on branch fc-2_4_branch. Modify config file to use Greek fonts before Asian fonts with Greek glyphs. Use libtool -no-undefined flag on all platforms. file ftglue.c was initially added on branch fc-2_4_branch. 2005-11-23 Frederic Crozat : reviewed by: plam file 10-fonts-persian.conf was initially added on branch fc-2_4_branch. Sort directory entries while scanning them from disk; prevents Heisenbugs file ln.orth was initially added on branch fc-2_4_branch. Fix typos in orth files. Reported by Denis Jacquerye. On Windows, unlink before rename. Reported by Tim Evans. file fc-match.sgml was initially added on branch fc-2_4_branch. 2.3.96 Keith Packard: Make path names in cache files absolute (NB, cache format change) Stop Eliminate pattern freezing Add .gitignore Construct short architecture name from architecture signature. Write caches to first directory with permission. Valid cache in FcDirCacheOpen. Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir. Add architecture to cache filename. Eliminate global cache. Eliminate multi-arch cache code. Fix up fc-cache and fc-cat for no global cache changes. Eliminate ./ and ../ elements from font directory names when scanning. Regenerate x86 line in fcarch.tmpl.h to match change in cache data. Add x86-64 architecture and signature. During test run, remove cache directory to avoid stale cache usage. Add ppc architecture Revert to original FcFontSetMatch algorithm to avoid losing fonts. Rework cache files to use offsets for all data structures. Fix build problems caused by cache rework. FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work. Rework Object name database to unify typechecking and object lookup. Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache. Fix fc-cat again. Sigh. Use intptr_t instead of off_t inside FcCache structure. Serialized value lists were only including one value. Automatically remove invalid cache files. With no args, fc-cat now dumps all directories. Revert ABI changes from version 2.3 Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString. Remove stale architecture signatures. Pass directory information around in FcCache structure. Freeze charsets. Fix fc-lang to use new charset freezer API. Fontset pattern references are relative to fontset, not array. Add some ignores Only rebuild caches for system fonts at make install time. Fix memory leaks in fc-cache directory cleaning code. Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683) Avoid #warning directives on non-GCC compilers. (bug 7683) Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884) Add Assamese orthography (as.orth). Bug #8050 Really only rebuild caches for system fonts at make install time. Fonts matching lang not territory should satisfy sort pattern lang. Prefer Bitstream Vera to DejaVu families. Guess that mac roman names with lots of high bits are actually SJIS. Document FC_DEBUG values (bug 6393). Document name \ escape syntax. Move Free family names to bottom of respective aliases. (bug 7429) Unify directory canonicalization into FcStrAddFilename. Allow font caches to contain newer version numbers Add FcMatchScan to resolve Delicious font matching issues (bug #6769) Fix missing initialization/destruction of new 'scan' target subst list. Don't segfault when string values can't be parsed as charsets or langsets. Using uninitialized (and wrong) variable in FcStrCopyFilename. Oops; missed the 60-delicious.conf file. Patrick Lam: Keith Packard 2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam 2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod 2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam 2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam 2.3.95 Match 'Standard Symbols L' for 'Symbol'. Add URW fonts as aliases for all of the PostScript fonts. (reported by Miguel Rodriguez). Fix a number of Coverity defects (Frederic Crozat). Speed up FcFontSort (fix suggested by Kenichi Handa). Fix error with charsets. Survive missing docbook2pdf. Compile on HP-UX, AIX, SGI and Windows (Cygwin, MinGW). Fix intel compiler warnings. Fix multiarch support (don't destroy multiarch files!) Require pkg-config. (Thanks Behdad; better solution wanted for libxml2 detection!) Fix typos in orth files and add orth for Lingala (reported by Denis Jacquerye). Remove debian/ directory. Add a configuration file that disables hinting for the Lohit Gujarati font (since the hinting distorts some glyphs quite badly). Sort directory entries while scanning them from disk; prevents Heisenbugs due to file ordering in a directory (due to Egmont Koblinger). Fix Wine's problem with finding fonts. (Reported by Bernhard Rosenkraenzer.) Fix the issues with GNU libiconv vs. libc iconv (which especially appear on Solarii); patch by Behdad Esfahbod, approach suggested by Tim Mooney. 2.3.94 fc-cat can take directories as input and creates old-style fonts.cache listings. fc-cache takes -r --really-force which blows away all old caches and regenerates. Robustness fixes, integer overflow fixes (notably to cache handling code), toast broken global cache files. Change binary format to make it compatible with static langset information (thanks to Takashi Iwai). Open hashed caches before fonts.cache-2 (Takashi Iwai). Fix FcFontSetMatch's algorithm, which used to unjustly kill fonts for not declaring certain elements (Takashi Iwai). Fix matching bug when multiple elements match; don't use the sum of all scores, but the best score (James Su). Make fc-lang more friendly to Windows systems. Remove archaic chars from Georgian charset; add Euro character to charsets for European languages. Fix treatment of broken PCF fonts that don't declare family names. Pass O_BINARY to open if appropriate (reported by Doodle). Normalize font directories to the form in which they appear in config files. Add a record of the cached directory to the cache file. Perf optimizations (Dirk Mueller; some reported by Michael Meeks.) Don't loop infinitely on recursive symlinks. Make 'make distcheck' work with automake 1.6.3. Replace 'stamp' target with mkinstalldirs. Don't stop scanning if a directory in fonts.conf doesn't exist, because subsequent directories might exist. Put directory names into global cache (reported by Ronny V. Vindenes). Treat zh-hk fonts differently from zh-tw fonts. This patch may cause fontconfig to treat A-X fonts differently from A-Y fonts; please mail the fontconfig list if this causes any problems. Fix for unaligned memory accesses (Andreas Schwab). Fix treatment of cache directory as read from cache file; don't use string equality to determine if we have the right file, use inode equality. Properly skip past dir caches that contain zero fonts, as occurs in global caches (reported by Mike Fabian). Print out full pathname in fc-match -v (reported by Frederic Crozat). Fix bug where fc-match crashes when given __DUMMY__ property to match on. 2.3.93 Create cache files in /var/cache/fontconfig with hashed filenames, if possible, for added FHS compliance. Make fc-cat read both per-directory and global cache files. Add config file for Persian fonts from Sharif FarsiWeb, Inc. Major performance improvements by Dirk Mueller, Stephen Kulow, and Michael Matz at SuSE: in particular, speed up FcFontSetMatch, and inline many functions. Fix treatment of globs in config files, broken since 2.3.2 and discovered by Mathias Clasen. Don't use freetype internal headers (patch by Matthias Clasen). Further space improvements: create langsets statically, so that they can live in .rodata. Properly align mmapped data structures to make e.g. ia64 happy. Bug fixes. 2.3.92 Fix corrupted caches bugs from 2.3.91 (reported by Mike Fabian). Store only basename in the cache, reconstitute on demand (reported by James Cloos). Change the rule for artificial emboldening in fonts.conf.in. This enables the support for artificial emboldening included in cairo (patch by Zhe Su). Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether to load embedded bitmaps or not (patch by Jinghua Luo). Fix GCC4 warnings (some by Behdad Esfahbod). Support localized font family and style names; this has been reported to break old apps like xfd, but modern (gtk+/qt/mozilla) apps work fine (patch by Zhe Su). Prevent fc-list from escaping strings when printing them (reported by Matthias Clasen). Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild (patch by Marcus Meissner). Add consts to variables so as to move arrays into .rodata (patch by Ross Burton). Modify config file to use Greek fonts before Asian fonts with Greek glyphs. (patch by Simos Xenitellis). Use libtool -no-undefined flag on all platforms (patch by Christian Biesinger). 2.3.91 Use libxml2 if requested or if expat not available. (Mathias Hasselmann) Fix multi-arch cache files: compute the position for the block to be added using info from OrigFile, not NewFile. (plam) Cast results of sizeof() to unsigned int to get rid of warnings on x86_64 (reported by Matthias Clasen). Use FcAtomic to rewrite cache files; don't unlink the fonts.cache-2 file even if there's no data to write; just write an empty cache file. (Reported by Lubos Lunak) Allocate room for the subdirectory names in each directory cache. (Reported by James Cloos) 2.3.90 Development release of mmap patch: load pattern information directly from cache files. (Patrick Lam) 2.3.2 Patch memory leaks in using iconv. (Reported by Chris Capoccia) Patch memory leaks in fc-cache. (Reported by Chris Capoccia) Fetch bitmap glyphs to get widths during font evaluation. (keithp) Share strings through FcObjectStaticName (Ross Burton) Windows build updates (Tor Lillqvist) 2.3.1 Be more careful about broken GSUB/GPOS tables (Manish Singh) Include debian packaging stuff in CVS (Josselin Mouette) Add more conf.d examples (Keith Packard) Make manuals build again (Keith Packard) Johap -> Johab (Funda Wang) 2.3.0 Fix memory leak of patterns rejected by configuration (#2518) Create prototype /etc/fonts/conf.d directory and populate it with a few sample files. These samples are unused as the file names don't start with numbers. Update documentation. 2.2.99 Verify cache for FC_FILE and FC_FAMILY in every entry (#2219) Update blanks list from recent Unicode docs (#86) Various small build fixes (#280, #2278, Documentation fixes (#2085, #2284, #2285) Add polite typechecking to config file loader (#229) 2.2.98 Share object name strings (Michael Meeks) Eliminate a couple of codepoints from Russian orthography (John Thacker) Add synthetic emboldening configuration changes (Jakub Pavelek) Change FcFontSetSort to ignore language after fonts with the requested languages have been found. (Owen Taylor) Add some RedHat font configuration changes (Owen Tayler). Add full Unicode case folding support to case-ignoring string functions (Keith Packard) Remove Han characters from Korean orthography (Tor Andersson) 2.2.97 Fc-cache sleeps before exiting to ensure filesystem timestamps are well ordered. Added Punjai orthography. The timestamp in fonts.conf is gone now. Too many problems. The default font path includes all of the X fonts; use selectfont/rejectfont to eliminate bitmaps, as shown in the sample local.conf file. configuration elements may now reference a directory. Files in that directory matching [0-9]* are loaded in UTF-8 collating sequence order. configuration added to control which fonts are used. fontformat font pattern elements built from the FT_Get_X11_Font_Format function in newer versions of FreeType. 'capability' list constructed from gsub/gpos and silf values in TrueType files. Multi-lingual names (style, family, fullname) extracted and stored with parallel lang properties marking language. 2.2.96 Fix FcConfigUpToDate to actually check all font directories and eliminate a typo which completely prevented it from working (Lubos Lunak ) Remove comma at end of FcResult enum definition for picky compilers. 2.2.95 Add FcResultOutOfMemory so FcFontSetMatch can return accurate error. Replace MIN/MAX/ABS macros which happened to be in old FreeType releases with FC_MIN/FC_MAX/FC_ABS macros owned by fontconfig. 2.2.94 The 2.2.93 release was prepared with a broken libtool which created the shared library without the '.so' in the file names. 2.2.93 This is the third prerelease of fontconfig 2.3. Significant changes from 2.2.92 are: o Use new FreeType #include syntax o use y_ppem field instead of 'height' in bitmap sizes rec - FreeType changed the semantics. Still uses height for older versions of FreeType o Don't construct program manuals unless docbook is available 2.2.92 o make distcheck work 2.2.91 o Switch to SGML manuals o Add FC_DUAL width spacing value o Add FcFini to close out fontconfig and release all memory 2.2 This is the third public release of fontconfig, a font configuration and customization library. Fontconfig is designed to locate fonts within the system and select them according to requirements specified by applications. Fontconfig is not a rasterization library, nor does it impose a particular rasterization library on the application. The X-specific library 'Xft' uses fontconfig along with freetype to specify and rasterize fonts. Keith Packard keithp@keithp.com PKv1]:%fontconfig-user.htmlnu[ fonts-conf

fonts-conf

Name

fonts.conf -- Font configuration files

Synopsis

   /etc/fonts/fonts.conf
   /etc/fonts/fonts.dtd
   /etc/fonts/conf.d
   $XDG_CONFIG_HOME/fontconfig/conf.d
   $XDG_CONFIG_HOME/fontconfig/fonts.conf
   ~/.fonts.conf.d
   ~/.fonts.conf

Description

Fontconfig is a library designed to provide system-wide font configuration, customization and application access.

Functional Overview

Fontconfig contains two essential modules, the configuration module which builds an internal configuration from XML files and the matching module which accepts font patterns and returns the nearest matching font.

Font Configuration

The configuration module consists of the FcConfig datatype, libexpat and FcConfigParse which walks over an XML tree and amends a configuration with data found within. From an external perspective, configuration of the library consists of generating a valid XML tree and feeding that to FcConfigParse. The only other mechanism provided to applications for changing the running configuration is to add fonts and directories to the list of application-provided font files.

The intent is to make font configurations relatively static, and shared by as many applications as possible. It is hoped that this will lead to more stable font selection when passing names from one application to another. XML was chosen as a configuration file format because it provides a format which is easy for external agents to edit while retaining the correct structure and syntax.

Font configuration is separate from font matching; applications needing to do their own matching can access the available fonts from the library and perform private matching. The intent is to permit applications to pick and choose appropriate functionality from the library instead of forcing them to choose between this library and a private configuration mechanism. The hope is that this will ensure that configuration of fonts for all applications can be centralized in one place. Centralizing font configuration will simplify and regularize font installation and customization.

Font Properties

While font patterns may contain essentially any properties, there are some well known properties with associated types. Fontconfig uses some of these properties for font matching and font completion. Others are provided as a convenience for the applications' rendering mechanism.

  Property        Type    Description
  --------------------------------------------------------------
  family          String  Font family names
  familylang      String  Languages corresponding to each family
  style           String  Font style. Overrides weight and slant
  stylelang       String  Languages corresponding to each style
  fullname        String  Font full names (often includes style)
  fullnamelang    String  Languages corresponding to each fullname
  slant           Int     Italic, oblique or roman
  weight          Int     Light, medium, demibold, bold or black
  size            Double  Point size
  width           Int     Condensed, normal or expanded
  aspect          Double  Stretches glyphs horizontally before hinting
  pixelsize       Double  Pixel size
  spacing         Int     Proportional, dual-width, monospace or charcell
  foundry         String  Font foundry name
  antialias       Bool    Whether glyphs can be antialiased
  hinting         Bool    Whether the rasterizer should use hinting
  hintstyle       Int     Automatic hinting style
  verticallayout  Bool    Use vertical layout
  autohint        Bool    Use autohinter instead of normal hinter
  globaladvance   Bool    Use font global advance data (deprecated)
  file            String  The filename holding the font
  index           Int     The index of the font within the file
  ftface          FT_Face Use the specified FreeType face object
  rasterizer      String  Which rasterizer is in use (deprecated)
  outline         Bool    Whether the glyphs are outlines
  scalable        Bool    Whether glyphs can be scaled
  color           Bool    Whether any glyphs have color
  scale           Double  Scale factor for point->pixel conversions (deprecated)
  dpi             Double  Target dots per inch
  rgba            Int     unknown, rgb, bgr, vrgb, vbgr,
                          none - subpixel geometry
  lcdfilter       Int     Type of LCD filter
  minspace        Bool    Eliminate leading from line spacing
  charset         CharSet Unicode chars encoded by the font
  lang            String  List of RFC-3066-style languages this
                          font supports
  fontversion     Int     Version number of the font
  capability      String  List of layout capabilities in the font
  fontformat      String  String name of the font format
  embolden        Bool    Rasterizer should synthetically embolden the font
  embeddedbitmap  Bool    Use the embedded bitmap instead of the outline
  decorative      Bool    Whether the style is a decorative variant
  fontfeatures    String  List of the feature tags in OpenType to be enabled
  namelang        String  Language name to be used for the default value of
                          familylang, stylelang, and fullnamelang
  prgname         String  String  Name of the running program
  postscriptname  String  Font family name in PostScript
    

Font Matching

Fontconfig performs matching by measuring the distance from a provided pattern to all of the available fonts in the system. The closest matching font is selected. This ensures that a font will always be returned, but doesn't ensure that it is anything like the requested pattern.

Font matching starts with an application constructed pattern. The desired attributes of the resulting font are collected together in a pattern. Each property of the pattern can contain one or more values; these are listed in priority order; matches earlier in the list are considered "closer" than matches later in the list.

The initial pattern is modified by applying the list of editing instructions specific to patterns found in the configuration; each consists of a match predicate and a set of editing operations. They are executed in the order they appeared in the configuration. Each match causes the associated sequence of editing operations to be applied.

After the pattern has been edited, a sequence of default substitutions are performed to canonicalize the set of available properties; this avoids the need for the lower layers to constantly provide default values for various font properties during rendering.

The canonical font pattern is finally matched against all available fonts. The distance from the pattern to the font is measured for each of several properties: foundry, charset, family, lang, spacing, pixelsize, style, slant, weight, antialias, rasterizer and outline. This list is in priority order -- results of comparing earlier elements of this list weigh more heavily than later elements.

There is one special case to this rule; family names are split into two bindings; strong and weak. Strong family names are given greater precedence in the match than lang elements while weak family names are given lower precedence than lang elements. This permits the document language to drive font selection when any document specified font is unavailable.

The pattern representing that font is augmented to include any properties found in the pattern but not found in the font itself; this permits the application to pass rendering instructions or any other data through the matching system. Finally, the list of editing instructions specific to fonts found in the configuration are applied to the pattern. This modified pattern is returned to the application.

The return value contains sufficient information to locate and rasterize the font, including the file name, pixel size and other rendering data. As none of the information involved pertains to the FreeType library, applications are free to use any rasterization engine or even to take the identified font file and access it directly.

The match/edit sequences in the configuration are performed in two passes because there are essentially two different operations necessary -- the first is to modify how fonts are selected; aliasing families and adding suitable defaults. The second is to modify how the selected fonts are rasterized. Those must apply to the selected font, not the original pattern as false matches will often occur.

Font Names

Fontconfig provides a textual representation for patterns that the library can both accept and generate. The representation is in three parts, first a list of family names, second a list of point sizes and finally a list of additional properties:

	<families>-<point sizes>:<name1>=<values1>:<name2>=<values2>...
    

Values in a list are separated with commas. The name needn't include either families or point sizes; they can be elided. In addition, there are symbolic constants that simultaneously indicate both a name and a value. Here are some examples:

  Name                            Meaning
  ----------------------------------------------------------
  Times-12                        12 point Times Roman
  Times-12:bold                   12 point Times Bold
  Courier:italic                  Courier Italic in the default size
  Monospace:matrix=1 .1 0 1       The users preferred monospace font
                                  with artificial obliquing
    

The '\', '-', ':' and ',' characters in family names must be preceded by a '\' character to avoid having them misinterpreted. Similarly, values containing '\', '=', '_', ':' and ',' must also have them preceded by a '\' character. The '\' characters are stripped out of the family name and values as the font name is read.

Debugging Applications

To help diagnose font and applications problems, fontconfig is built with a large amount of internal debugging left enabled. It is controlled by means of the FC_DEBUG environment variable. The value of this variable is interpreted as a number, and each bit within that value controls different debugging messages.

  Name         Value    Meaning
  ---------------------------------------------------------
  MATCH            1    Brief information about font matching
  MATCHV           2    Extensive font matching information
  EDIT             4    Monitor match/test/edit execution
  FONTSET          8    Track loading of font information at startup
  CACHE           16    Watch cache files being written
  CACHEV          32    Extensive cache file writing information
  PARSE           64    (no longer in use)
  SCAN           128    Watch font files being scanned to build caches
  SCANV          256    Verbose font file scanning information
  MEMORY         512    Monitor fontconfig memory usage
  CONFIG        1024    Monitor which config files are loaded
  LANGSET       2048    Dump char sets used to construct lang values
  MATCH2        4096    Display font-matching transformation in patterns
  

Add the value of the desired debug levels together and assign that (in base 10) to the FC_DEBUG environment variable before running the application. Output from these statements is sent to stdout.

Lang Tags

Each font in the database contains a list of languages it supports. This is computed by comparing the Unicode coverage of the font with the orthography of each language. Languages are tagged using an RFC-3066 compatible naming and occur in two parts -- the ISO 639 language tag followed a hyphen and then by the ISO 3166 country code. The hyphen and country code may be elided.

Fontconfig has orthographies for several languages built into the library. No provision has been made for adding new ones aside from rebuilding the library. It currently supports 122 of the 139 languages named in ISO 639-1, 141 of the languages with two-letter codes from ISO 639-2 and another 30 languages with only three-letter codes. Languages with both two and three letter codes are provided with only the two letter code.

For languages used in multiple territories with radically different character sets, fontconfig includes per-territory orthographies. This includes Azerbaijani, Kurdish, Pashto, Tigrinya and Chinese.

Configuration File Format

Configuration files for fontconfig are stored in XML format; this format makes external configuration tools easier to write and ensures that they will generate syntactically correct configuration files. As XML files are plain text, they can also be manipulated by the expert user using a text editor.

The fontconfig document type definition resides in the external entity "fonts.dtd"; this is normally stored in the default font configuration directory (/etc/fonts). Each configuration file should contain the following structure:
	<?xml version="1.0"?>
	<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
	<fontconfig>
	...
	</fontconfig>
    

<fontconfig>

This is the top level element for a font configuration and can contain <dir>, <cachedir>, <include>, <match> and <alias> elements in any order.

<dir prefix="default">

This element contains a directory name which will be scanned for font files to include in the set of available fonts. If 'prefix' is set to "xdg", the value in the XDG_DATA_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.

<cachedir prefix="default">

This element contains a directory name that is supposed to be stored or read the cache of font information. If multiple elements are specified in the configuration file, the directory that can be accessed first in the list will be used to store the cache files. If it starts with '~', it refers to a directory in the users home directory. If 'prefix' is set to "xdg", the value in the XDG_CACHE_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details. The default directory is ``$XDG_CACHE_HOME/fontconfig'' and it contains the cache files named ``<hash value>-<architecture>.cache-<version>'', where <version> is the fontconfig cache file version number (currently 7).

<include ignore_missing="no" prefix="default">

This element contains the name of an additional configuration file or directory. If a directory, every file within that directory starting with an ASCII digit (U+0030 - U+0039) and ending with the string ``.conf'' will be processed in sorted order. When the XML datatype is traversed by FcConfigParse, the contents of the file(s) will also be incorporated into the configuration by passing the filename(s) to FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the default "no", a missing file or directory will elicit no warning message from the library. If 'prefix' is set to "xdg", the value in the XDG_CONFIG_HOME environment variable will be added as the path prefix. please see XDG Base Directory Specification for more details.

<config>

This element provides a place to consolidate additional configuration information. <config> can contain <blank> and <rescan> elements in any order.

<blank>

Fonts often include "broken" glyphs which appear in the encoding but are drawn as blanks on the screen. Within the <blank> element, place each Unicode characters which is supposed to be blank in an <int> element. Characters outside of this set which are drawn as blank will be elided from the set of characters supported by the font.

<rescan>

The <rescan> element holds an <int> element which indicates the default interval between automatic checks for font configuration changes. Fontconfig will validate all of the configuration files and directories and automatically rebuild the internal datastructures when this interval passes.

<selectfont>

This element is used to black/white list fonts from being listed or matched against. It holds acceptfont and rejectfont elements.

<acceptfont>

Fonts matched by an acceptfont element are "whitelisted"; such fonts are explicitly included in the set of fonts used to resolve list and match requests; including them in this list protects them from being "blacklisted" by a rejectfont element. Acceptfont elements include glob and pattern elements which are used to match fonts.

<rejectfont>

Fonts matched by an rejectfont element are "blacklisted"; such fonts are excluded from the set of fonts used to resolve list and match requests as if they didn't exist in the system. Rejectfont elements include glob and pattern elements which are used to match fonts.

<glob>

Glob elements hold shell-style filename matching patterns (including ? and *) which match fonts based on their complete pathnames. This can be used to exclude a set of directories (/usr/share/fonts/uglyfont*), or particular font file types (*.pcf.gz), but the latter mechanism relies rather heavily on filenaming conventions which can't be relied upon. Note that globs only apply to directories, not to individual fonts.

<pattern>

Pattern elements perform list-style matching on incoming fonts; that is, they hold a list of elements and associated values. If all of those elements have a matching value, then the pattern matches the font. This can be used to select fonts based on attributes of the font (scalable, bold, etc), which is a more reliable mechanism than using file extensions. Pattern elements include patelt elements.

<patelt name="property">

Patelt elements hold a single pattern element and list of values. They must have a 'name' attribute which indicates the pattern element name. Patelt elements include int, double, string, matrix, bool, charset and const elements.

<match target="pattern">

This element holds first a (possibly empty) list of <test> elements and then a (possibly empty) list of <edit> elements. Patterns which match all of the tests are subjected to all the edits. If 'target' is set to "font" instead of the default "pattern", then this element applies to the font name resulting from a match rather than a font pattern to be matched. If 'target' is set to "scan", then this element applies when the font is scanned to build the fontconfig database.

<test qual="any" name="property" target="default" compare="eq">

This element contains a single value which is compared with the target ('pattern', 'font', 'scan' or 'default') property "property" (substitute any of the property names seen above). 'compare' can be one of "eq", "not_eq", "less", "less_eq", "more", "more_eq", "contains" or "not_contains". 'qual' may either be the default, "any", in which case the match succeeds if any value associated with the property matches the test value, or "all", in which case all of the values associated with the property must match the test value. 'ignore-blanks' takes a boolean value. if 'ignore-blanks' is set "true", any blanks in the string will be ignored on its comparison. this takes effects only when compare="eq" or compare="not_eq". When used in a <match target="font"> element, the target= attribute in the <test> element selects between matching the original pattern or the font. "default" selects whichever target the outer <match> element has selected.

<edit name="property" mode="assign" binding="weak">

This element contains a list of expression elements (any of the value or operator elements). The expression elements are evaluated at run-time and modify the property "property". The modification depends on whether "property" was matched by one of the associated <test> elements, if so, the modification may affect the first matched value. Any values inserted into the property are given the indicated binding ("strong", "weak" or "same") with "same" binding using the value from the matched pattern element. 'mode' is one of:
  Mode                    With Match              Without Match
  ---------------------------------------------------------------------
  "assign"                Replace matching value  Replace all values
  "assign_replace"        Replace all values      Replace all values
  "prepend"               Insert before matching  Insert at head of list
  "prepend_first"         Insert at head of list  Insert at head of list
  "append"                Append after matching   Append at end of list
  "append_last"           Append at end of list   Append at end of list
  "delete"                Delete matching value   Delete all values
  "delete_all"            Delete all values       Delete all values
    

<int>, <double>, <string>, <bool>

These elements hold a single value of the indicated type. <bool> elements hold either true or false. An important limitation exists in the parsing of floating point numbers -- fontconfig requires that the mantissa start with a digit, not a decimal point, so insert a leading zero for purely fractional values (e.g. use 0.5 instead of .5 and -0.5 instead of -.5).

<matrix>

This element holds four numerical expressions of an affine transformation. At their simplest these will be four <double> elements but they can also be more involved expressions.

<range>

This element holds the two <int> elements of a range representation.

<charset>

This element holds at least one <int> element of an Unicode code point or more.

<langset>

This element holds at least one <string> element of a RFC-3066-style languages or more.

<name>

Holds a property name. Evaluates to the first value from the property of the pattern. If the 'target' attribute is not present, it will default to 'default', in which case the property is returned from the font pattern during a target="font" match, and to the pattern during a target="pattern" match. The attribute can also take the values 'font' or 'pattern' to explicitly choose which pattern to use. It is an error to use a target of 'font' in a match that has target="pattern".

<const>

Holds the name of a constant; these are always integers and serve as symbolic names for common font values:
  Constant        Property        Value
  -------------------------------------
  thin            weight          0
  extralight      weight          40
  ultralight      weight          40
  light           weight          50
  demilight       weight          55
  semilight       weight          55
  book            weight          75
  regular         weight          80
  normal          weight          80
  medium          weight          100
  demibold        weight          180
  semibold        weight          180
  bold            weight          200
  extrabold       weight          205
  black           weight          210
  heavy           weight          210
  roman           slant           0
  italic          slant           100
  oblique         slant           110
  ultracondensed  width           50
  extracondensed  width           63
  condensed       width           75
  semicondensed   width           87
  normal          width           100
  semiexpanded    width           113
  expanded        width           125
  extraexpanded   width           150
  ultraexpanded   width           200
  proportional    spacing         0
  dual            spacing         90
  mono            spacing         100
  charcell        spacing         110
  unknown         rgba            0
  rgb             rgba            1
  bgr             rgba            2
  vrgb            rgba            3
  vbgr            rgba            4
  none            rgba            5
  lcdnone         lcdfilter       0
  lcddefault      lcdfilter       1
  lcdlight        lcdfilter       2
  lcdlegacy       lcdfilter       3
  hintnone        hintstyle       0
  hintslight      hintstyle       1
  hintmedium      hintstyle       2
  hintfull        hintstyle       3
    

<or>, <and>, <plus>, <minus>, <times>, <divide>

These elements perform the specified operation on a list of expression elements. <or> and <and> are boolean, not bitwise.

<eq>, <not_eq>, <less>, <less_eq>, <more>, <more_eq>, <contains>, <not_contains

These elements compare two values, producing a boolean result.

<not>

Inverts the boolean sense of its one expression element

<if>

This element takes three expression elements; if the value of the first is true, it produces the value of the second, otherwise it produces the value of the third.

<alias>

Alias elements provide a shorthand notation for the set of common match operations needed to substitute one font family for another. They contain a <family> element followed by optional <prefer>, <accept> and <default> elements. Fonts matching the <family> element are edited to prepend the list of <prefer>ed families before the matching <family>, append the <accept>able families after the matching <family> and append the <default> families to the end of the family list.

<family>

Holds a single font family name

<prefer>, <accept>, <default>

These hold a list of <family> elements to be used by the <alias> element.

EXAMPLE CONFIGURATION FILE

System configuration file

This is an example of a system-wide configuration file

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<!-- 
	Find fonts in these directories
-->
<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/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"><string>monospace</string></edit>
</match>

<!--
	Names not including any well known alias are given 'sans-serif'
-->
<match target="pattern">
	<test qual="all" name="family" compare="not_eq"><string>sans-serif</string></test>
	<test qual="all" name="family" compare="not_eq"><string>serif</string></test>
	<test qual="all" name="family" compare="not_eq"><string>monospace</string></test>
	<edit name="family" mode="append_last"><string>sans-serif</string></edit>
</match>

<!--
	Load per-user customization file, but don't complain
	if it doesn't exist
-->
<include ignore_missing="yes" prefix="xdg">fontconfig/fonts.conf</include>

<!--
	Load local customization files, but don't complain
	if there aren't any
-->
<include ignore_missing="yes">conf.d</include>
<include ignore_missing="yes">local.conf</include>

<!--
	Alias well known font names to available TrueType fonts.
	These substitute TrueType faces for similar Type1
	faces to improve screen appearance.
-->
<alias>
	<family>Times</family>
	<prefer><family>Times New Roman</family></prefer>
	<default><family>serif</family></default>
</alias>
<alias>
	<family>Helvetica</family>
	<prefer><family>Arial</family></prefer>
	<default><family>sans</family></default>
</alias>
<alias>
	<family>Courier</family>
	<prefer><family>Courier New</family></prefer>
	<default><family>monospace</family></default>
</alias>

<!--
	Provide required aliases for standard names
	Do these after the users configuration file so that
	any aliases there are used preferentially
-->
<alias>
	<family>serif</family>
	<prefer><family>Times New Roman</family></prefer>
</alias>
<alias>
	<family>sans</family>
	<prefer><family>Arial</family></prefer>
</alias>
<alias>
	<family>monospace</family>
	<prefer><family>Andale Mono</family></prefer>
</alias>

<--
	The example of the requirements of OR operator;
	If the 'family' contains 'Courier New' OR 'Courier'
	add 'monospace' as the alternative
-->
<match target="pattern">
	<test name="family" compare="eq">
		<string>Courier New</string>
	</test>
	<edit name="family" mode="prepend">
		<string>monospace</string>
	</edit>
</match>
<match target="pattern">
	<test name="family" compare="eq">
		<string>Courier</string>
	</test>
	<edit name="family" mode="prepend">
		<string>monospace</string>
	</edit>
</match>

</fontconfig>
    

User configuration file

This is an example of a per-user configuration file that lives in $XDG_CONFIG_HOME/fontconfig/fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->
<fontconfig>

<!--
	Private font directory
-->
<dir prefix="xdg">fonts</dir>

<!--
	use rgb sub-pixel ordering to improve glyph appearance on
	LCD screens.  Changes affecting rendering, but not matching
	should always use target="font".
-->
<match target="font">
	<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
<!--
	use WenQuanYi Zen Hei font when serif is requested for Chinese
-->
<match>
	<!--
		If you don't want to use WenQuanYi Zen Hei font for zh-tw etc,
		you can use zh-cn instead of zh.
		Please note, even if you set zh-cn, it still matches zh.
		if you don't like it, you can use compare="eq"
		instead of compare="contains".
	-->
	<test name="lang" compare="contains">
		<string>zh</string>
	</test>
	<test name="family">
		<string>serif</string>
	</test>
	<edit name="family" mode="prepend">
		<string>WenQuanYi Zen Hei</string>
	</edit>
</match>
<!--
	use VL Gothic font when sans-serif is requested for Japanese
-->
<match>
	<test name="lang" compare="contains">
		<string>ja</string>
	</test>
	<test name="family">
		<string>sans-serif</string>
	</test>
	<edit name="family" mode="prepend">
		<string>VL Gothic</string>
	</edit>
</match>
</fontconfig>
    

Files

fonts.conf contains configuration information for the fontconfig library consisting of directories to look at for font information as well as instructions on editing program specified font patterns before attempting to match the available fonts. It is in XML format.

conf.d is the conventional name for a directory of additional configuration files managed by external applications or the local administrator. The filenames starting with decimal digits are sorted in lexicographic order and used as additional configuration files. All of these files are in XML format. The master fonts.conf file references this directory in an <include> directive.

fonts.dtd is a DTD that describes the format of the configuration files.

$XDG_CONFIG_HOME/fontconfig/conf.d and ~/.fonts.conf.d is the conventional name for a per-user directory of (typically auto-generated) configuration files, although the actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf.d is deprecated now. it will not be read by default in the future version.

$XDG_CONFIG_HOME/fontconfig/fonts.conf and ~/.fonts.conf is the conventional location for per-user font configuration, although the actual location is specified in the global fonts.conf file. please note that ~/.fonts.conf is deprecated now. it will not be read by default in the future version.

$XDG_CACHE_HOME/fontconfig/*.cache-* and ~/.fontconfig/*.cache-* is the conventional repository of font information that isn't found in the per-directory caches. This file is automatically maintained by fontconfig. please note that ~/.fontconfig/*.cache-* is deprecated now. it will not be read by default in the future version.

Environment variables

FONTCONFIG_FILE is used to override the default configuration file.

FONTCONFIG_PATH is used to override the default configuration directory.

FONTCONFIG_SYSROOT is used to set a default sysroot directory.

FC_DEBUG is used to output the detailed debugging messages. see Debugging Applications section for more details.

FC_DBG_MATCH_FILTER is used to filter out the patterns. this takes a comma-separated list of object names and effects only when FC_DEBUG has MATCH2. see Debugging Applications section for more details.

FC_LANG is used to specify the default language as the weak binding in the query. if this isn't set, the default language will be determined from current locale.

FONTCONFIG_USE_MMAP is used to control the use of mmap(2) for the cache files if available. this take a boolean value. fontconfig will checks if the cache files are stored on the filesystem that is safe to use mmap(2). explicitly setting this environment variable will causes skipping this check and enforce to use or not use mmap(2) anyway.

SOURCE_DATE_EPOCH is used to ensure fc-cache(1) generates files in a deterministic manner in order to support reproducible builds. When set to a numeric representation of UNIX timestamp, fontconfig will prefer this value over using the modification timestamps of the input files in order to identify which cache files require regeneration. If SOURCE_DATE_EPOCH is not set (or is newer than the mtime of the directory), the existing behaviour is unchanged.

See Also

fc-cat(1), fc-cache(1), fc-list(1), fc-match(1), fc-query(1), SOURCE_DATE_EPOCH.

Version

Fontconfig version 2.13.1

PKe2]Pf!!COPYINGnu[fontconfig/COPYING Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard Copyright © 2005 Patrick Lam Copyright © 2009 Roozbeh Pournader Copyright © 2008,2009 Red Hat, Inc. Copyright © 2008 Danilo Šegan Copyright © 2012 Google, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the author(s) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. The authors make no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. PKN91]mrD)RR fonts.dtdnu[PKn;1]s7cache/49d7c6e3-2918-4777-b402-2da0b811d695-le64.cache-7nu[PKn;1]oxx7cache/7c14fbe2-38c9-400c-876a-5f2f7f6bc763-le64.cache-7nu[PKn;1]~H!QQ7cache/5563114d-b133-4475-aab3-8467e51fa380-le64.cache-7nu[PKn;1])JIss7cache/d435d610-9ee0-4679-ae87-9b45657a81c6-le64.cache-7nu[PKn;1]L-]cache/CACHEDIR.TAGnu[PKB1]pC!^conf.avail/50-user.confnu[PKB1]aconf.avail/10-no-sub-pixel.confnu[PKB1]ݍKeconf.avail/10-unhinted.confnu[PKB1]d5!hconf.avail/57-dejavu-sans.confnu[PKB1]Ǡ$Jpconf.avail/11-lcdfilter-default.confnu[PKB1]@ 8XX+sconf.avail/20-unhint-small-dejavu-sans.confnu[PKB1]Twconf.avail/60-latin.confnu[PKB1]conf.avail/70-yes-bitmaps.confnu[PKB1]M!conf.avail/10-sub-pixel-vbgr.confnu[PKB1]7M,conf.avail/61-urw-d050000l.confnu[PKB1]3r#yconf.avail/11-lcdfilter-legacy.confnu[PKB1]gB̌conf.avail/10-hinting-full.confnu[PKB1]!Ϗconf.avail/61-urw-p052.confnu[PKB1]0Vl "conf.avail/25-unhint-nonlatin.confnu[PKB1]m$ܡconf.avail/20-unhint-small-vera.confnu[PKB1]NAaa1conf.avail/61-urw-z003.confnu[PKB1]şt ݫconf.avail/45-generic.confnu[PKB1]tconf.avail/61-urw-gothic.confnu[PKB1]DSq}}ܽconf.avail/90-synthetic.confnu[PKB1]=k$conf.avail/65-google-droid-sans.confnu[PKB1]conf.avail/51-local.confnu[PKB1][mm#conf.avail/61-urw-nimbus-roman.confnu[PKB1](ҟ&&"conf.avail/61-urw-nimbus-sans.confnu[PKB1]m"conf.avail/49-sansserif.confnu[PKB1]"]OOconf.avail/69-unifont.confnu[PKB1]T) )&conf.avail/61-urw-fallback-backwards.confnu[PKB1]5S%%*8conf.avail/61-urw-standard-symbols-ps.confnu[PKB1]33!conf.avail/30-metric-aliases.confnu[PKB1]G :conf.avail/10-sub-pixel-rgb.confnu[PKB1]ݸ!>conf.avail/10-hinting-slight.confnu[PKB1]b''Aconf.avail/70-no-bitmaps.confnu[PKB1]7컃%[Cconf.avail/61-urw-nimbus-mono-ps.confnu[PKB1]3Gconf.avail/61-urw-c059.confnu[PKB1]0*iKconf.avail/65-nonlatin.confnu[PKB1]zkconf.avail/60-generic.confnu[PKB1]k0sconf.avail/10-hinting-none.confnu[PKB1]O?!vconf.avail/10-hinting-medium.confnu[PKB1]myconf.avail/65-khmer.confnu[PKB1]x$5(5( |conf.avail/65-fonts-persian.confnu[PKB1]#%conf.avail/10-scale-bitmap-fonts.confnu[PKB1]%00conf.avail/40-nonlatin.confnu[PKB1]$ conf.avail/10-sub-pixel-bgr.confnu[PKB1]jJz!Lconf.avail/10-sub-pixel-vrgb.confnu[PKB1]2Oconf.avail/10-autohint.confnu[PKB1]U3[conf.avail/61-urw-bookman.confnu[PKB1]%conf.avail/45-latin.confnu[PKB1]"conf.avail/11-lcdfilter-light.confnu[PKB1]nUUJconf.avail/80-delicious.confnu[PK91]sΦ fcfreetype.hnu[PK91]p fcprivate.hnu[PK91]+-o-o  fontconfig.hnu[PKv1]V0ˀ>>yAUTHORSnu[PKv1]T‡‡ozfontconfig-user.txtnu[PKv1]ձLLtREADMEnu[PKv1]:%[Ofontconfig-user.htmlnu[PKe2]Pf!!COPYINGnu[PK>>